This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Platform Wizard does not work for Multicore platforms (CCS 6.1.3)

Other Parts Discussed in Thread: SYSBIOS

I tried to use Platform Wizard to customize the evmAM572X platform definition. If I decide to modify existing one (e.g. DSP memory map), it would generate only "Single Core" platform destroying in the process previously present definitions for other CPU cores in the original platform definition.

If I try to create new platform, it cannot find any of the CPU families, etc. It just shows MSP430 and a few u-controllers on a drop down menu. If I try to select MSP430 and import information on next screen, it takes long time to come back with empty drop down list. So, you can't import anything and you can't really create a new one based on a previous without destroying the previous.

I had to go ahead and manually edit the XDC files, changing the platform name, changing the Cache configuration etc.Then I had to run XDC command to generate the custom platform definition. I could not get CCS Project to regenerate the platform. I had to do it manually. Even after I did it manually, the CCS project was breaking with errors 3-4 times until it completed with no errors and generated correct linker.cmd file.

Is there a way to make Platform Wizard work again?

Regards,
Bogdan

  • Bogdan,
    the Platform Wizard wasn't designed to support multiple cores. Here is an old thread with a similar question and with some available workarounds -
    https://e2e.ti.com/support/embedded/int-embedded_software/int-bios/f/123/p/104428/386170
    You already selected option b) from that thread, which is to create a platform manually. In that case, you can either build the platform from the command line, or you can create a RTSC project to build the platform. But that project have to be set up differently from your standard CCS RTSC project. See my answer framed in green in this thread for more details - 



    As for various errors you were getting along the way, I would have to see the actual build console to say more.

  • bogdank,

    Unfortunately, the platform wizard was never meant for creating "Multi-core" platforms. Each platform created by the platform wizard is only for a single cpu. If you want to use the platform wizard, you would need to create a different platform for each cpu.

    Alternatively, you could try doing what you tried...except I would "copy" and "paste" the existing platform to a new platform name and then edit the new platform manually. However, this method is not documented and not for the general user.

    If you look in the existing ti.platforms.evmAM572x Platform.xdc file you can find what the actual "device" was used. The device used for all CPU in this case is the "DRA7XX"

    readonly config xdc.platform.IExeContext.Cpu DSP = {
    id: "0",
    clockRate: 700,
    catalogName: "ti.catalog.c6000",
    deviceName: "DRA7XX",
    revision: "1.0",
    };

    /* Benelli M4 Subsystem */
    readonly config xdc.platform.IExeContext.Cpu M4 = {
    id: "1",
    clockRate: 212.8,
    catalogName: "ti.catalog.arm.cortexm4",
    deviceName: "DRA7XX",
    revision: "1.0",
    };

    /* GPP */
    readonly config xdc.platform.IExeContext.Cpu GPP = {
    id: "3",
    clockRate: 1500.0, /* Typically set by the HLOS */
    catalogName: "ti.catalog.arm.cortexa15",
    deviceName: "DRA7XX",
    revision: "1.0"
    };

    Judah
  • I did this and I've created a "custom" platform in a separate folder. I also had to change the clockRate to 750 for the DSP. What is the impact of doing that? I've seen that the default was 700 and also the default timer was using 19.2MHz in the SYSBIOS config file (I had to change this to 20MHz to get proper clock function operation).

    What are the appropriate places to provide correct CPU and default timer frequencies for SYSBIOS? There seem to be several places where these show. I'd like to do it preferably in just one place for each.
  • There's not easy answer cause it really depends on what device you are on. SYSBIOS supports such a large array of devices and different family of devices do it differently.

    The main configs that would be required to change are "BIOS.cpuFreq" and the frequency of the Timer. I think you are on the right path.