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.

CCS5 SYS/BIOS cmd file problem

Other Parts Discussed in Thread: TMS320C6657

I saw the \Debug\configPkg\linker.cmd content does not match meself defined RTSC platform, why?

in .cmd file:

{
    MSMCSRAM (RWX) : org = 0xc000000, len = 0x78000
    L1DSRAM (RW) : org = 0xf00000, len = 0x0
    L1PSRAM (RWX) : org = 0xe00000, len = 0x0
    L2SRAM (RWX) : org = 0x800000, len = 0x80000
    DDR3 (RWX) : org = 0x80000000, len = 0x800000
}

the above cmd file will result in build error, because ram len is 0x0, but I have already deleted L1DSRAM and L1PSRAM in my platfom!

If modified as below, ccs build can succeed.

{
    MSMCSRAM (RWX) : org = 0xc000000, len = 0x78000
    L1DSRAM (RW) : org = 0xf00000, len = 0x4000
    L1PSRAM (RWX) : org = 0xe00000, len = 0x4000
    L2SRAM (RWX) : org = 0x800000, len = 0x80000
    DDR3 (RWX) : org = 0x80000000, len = 0x800000
}

but in cmd file, I can see:

"Do not modify this file; it is automatically generated from the template"


Why the content does not match platform settings?

In another pjt, I just delete the cmd file manually, project build ok, but there is no .out file, why?

thanks.

  • Francis,

    Please tell us which device and software versions you are using so that we can give you better advice.

    Did you create a new platform in CCS using the Platform Wizard? If so, did you update your program project with the platform name of the new platform you created?

    ~Ramsey

  • C6657,ccs5.5

    I create a tms320c6657 platform by the wizard with no L1DSRAM, no L1PSRAM.

    I choose the platform created myself and then build the pjt. However, the software generated .cmd file doesn't change. There is L1DSRAM L1PSRAM with len=0, and build reports error. If i manually modify the len to a positive value, build succeeds.

    In another pjt, i just delete the automatically generated .cmd file, build succeeds, but i find no .out file.

  • Francis,

    I have attached a zip file which contains three projects to illustrate what you are doing. I'm hoping that you can import this into your workspace and compare these projects to your own environment. Maybe this will be helpful.

    1067.my_platform_example.zip

    I am using CCS 6 but I think the same projects can be created with CCS 5. But if you can upgrade to the latest CCS, that would be a good idea. There are many improvements in CCS 6. Also, there was a platform related bug in XDCtools 3.30.01.25 which has been fixed in XDCtools 3.30.04.52. Here are the versions I'm using.

    CCS 6.1.3
    TI-RTOS C6000 2.00.01.23
    XDCtools 3.30.04.52

    The zip file contains the following three projects. The repo project is simply a container for the new custom platforms. The other platforms each build an executable for a different DSP core. I imported the Clock example from TI-RTOS to keep it simple.

    clock_evm6657_core0 - build executable for Core 0 using platform my.platforms.evm6657_core0
    clock_evm6657_core1 - build executable for Core 1 using platform my.platforms.evm6657_core1
    repo - project used as a container for the custom platform packages

    Use the following steps to create the repo project. Note the custom build command which allows you to clean and rebuild the platform packages.

    File > New > Project
    C/C++ > Makefile Project with Existing Code
    Next

    Project Name: repo
    Existing Code Location: <use the Browse button to create a repo folder in your workspace>
    Finish

    Now change the project properties to use the xdc command. Note that I used an environment variable to define the platform packages repository.

    repo > Select
    Project > Properties
    C/C++ Build > Environment > Add...

    Name: PLATFORM_REPO
    Value: ${COM_TI_RTSC_TIRTOSC6000_INSTALL_DIR}/products/bios_6_40_01_15/packages
    Apply

    C/C++ Build > Builder Settings
    Build command: ${XDCROOT}/xdc --xdcpath=${PLATFORM_REPO} -Pr.
    OK

    Now you are ready to create your custom platform. Use the Platform Package Repository to specify your repo project as the repository for the new platform you are about to create.

    File > New > Other
    RTSC > New RTSC Platform
    Next

    Package Name: my.platforms.evm6657_core0
    Platform Package Repository: <use the Browse button to select your repo project above>
    Device Family: c6000
    Device Name: TMS320C6657
    Next

    Import... > ti.platforms.evm6657 > OK
    Customize Memory > Select
    L1DSRAM > RMB > Delete Row
    L1PSRAM > RMB > Delete Row
    DDR3 Length: 0x4000000
    Code Memory: DDR3
    Data Memory: DDR3
    Stack Memory: DDR3
    Finish

    At this point, you should have a new platform package in your repo project. Repeat these steps to create another platform for Core1. Be sure to change the DDR base address so that the external memory of the two platforms does not overlap.

    Now you need to modify the executable project to use the new platform you created. Be sure to add the repo project to your package repository path. I use a CCS variable to make it more portable, but this is optional.

    clock_evm6657_core0 > Select
    Project > Properties
    CCS General > RTSC (tab) > Add...

    Select repository from file-system > Select
    ${workspace_loc:/repo}
    Platform: my.platforms.evm6657_core0
    OK

    You can also make a reference to the repo project if you want. This is optional. However, adding this reference will ensure that the platform package is always up-to-date when you build your executable.

    clock_evm6657_core0 > Select
    Project > Properties
    Project References > repo > Select
    OK

    At this point you can build your executable project. Inspecting the linker command file, shows there are not memory segments for L1DSRAM nor L1DPRAM.

    Repeat the steps above for your Core1 project. Be sure to use the respective platform. Let us know if this helps.

    ~Ramsey

  • Thanks a lot. The problem is solved.