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.

RE: CC1310: How to change FLASH_BASE

Other Parts Discussed in Thread: CC1350, SYSBIOS, CC1310

Thank you for reviewing the map file.
As I mentioned, the only difference between this project and the older is the new SDK.
During your revision of the .cmd and .cfg files did you see something that may indicate why .resetVecs and .text are trying to use the same address?

Again, the following part was included manually by me in the release.cfg. It was presented there in the older SDK and isn't anymore in the new SDK examples:
/*
* Assign an address for the reset vector.
*
* Default is 0x0, which is the start of Flash. Ordinarily this setting should
* not be changed.
*/
m3Hwi.resetVectorAddress = 0x7000;

Do you think this may be causing the problem?

Is there a different way of telling which address the program should start to be stored? Maybe the new SDK provides a different method.

  • Hello TI folks,
    This is a split thread. The question is how to change the value of FLASH_BASE to 0x7000 from the default 0x0000. The dependency project tirtos_builds_CC1350_LAUNCHXL_release_ccs generates Debug\configPkg\linker.cmd file with .const section pointing to default Flash section at 0x0000.
    SECTIONS
    {
    .const:xdc_runtime_Error_policy__C: LOAD > 0x00001490
    .const:xdc_runtime_IModule_Interface__BASE__C: LOAD > 0x0000143c
    ...
    }

    These values seem (0x00001490) to be coming from 

    C:\ti\simplelink_cc13x0_sdk_1_60_00_21\kernel\tirtos\packages\ti\sysbios\rom\cortexm\cc13xx\golden\CC13xx\CC13xx_link_ti.xdt in what seem like hardcoded values. 


    I could not find where the default Flash location can be changed. Release.cfg does not have it.

    Regards,
    Prashanth

  • The TI-RTOS kernel code in ROM has hard references to objects at fixed locations in flash. The "CC13XX_link_ti.xdt" file you found is responsible for forcing those objects to be placed where the ROM code expects them to be.

    At the expense of using more flash, you can build your application without using the kernel in ROM. That will eliminate the placement of objects at specific locations. To build without using the kernel in ROM, remove these lines for your .cfg file:

    var ROM = xdc.useModule('ti.sysbios.rom.ROM');
    ROM.romName = ROM.CC1350;

    Alan
  • Hi Prashanth and Alan,

    After your tip I organize the projects as follows:
    a) Bootloader starting at address 0x0000 and have the kernel in ROM.
    b) Application starting at address 0x7000 and have "var ROM = xdc.useModule('ti.sysbios.rom.ROM');" and "ROM.romName = ROM.CC1350;" commented.

    I also created two .cfg files inside tirtos_builds_CC1310_LAUNCHXL_release_ccs: Bootloader.cfg and Application.cfg.
    Each one of these files have different addresses to m3Hwi.resetVectorAddress.
    The selection of the correct file is done by the currently actived build configuration.

    Thank you all for helping me get it working!