CC1352R: Adding bootloader to my dmm project

Part Number: CC1352R
Other Parts Discussed in Thread: UNIFLASH

Hi,

I have a DMM project with BLE and RF working, and I would like to add my own bootloader. My bootloader will be in the address 0x000, and the code of the DMM should start at the address 0x100. For this I am changing the FLASH_BASE to 0x00000100, but I have overlaping errors as you can see in the attached screenshoot.

If you could give me any clue. I am using ccs 12.5.0 and sdk simplelink_cc13xx_cc26xx_sdk_7_10_00_98. I have been checking where to change something else, but i can not find what else to change.

Thanks,

 

Sandra

 

imagen.png

  • Hello Sandra,

    As a test I took an example project but changed the FLASH_BASE to 0x00000100 which was able to build, looking at your error logs they seem to be related to some flash base define set by the custom bootloader. 

    For your custom bootloader you are following a process similar to MCUboot where you would have two or more files you will load with a flasher (like UniFlash), with the bootloader being loaded at address 0x0 and the application image that is then loaded by the bootloader at 0x100 (or whatever address you set it to). 

    Thanks,
    Alex F

  • Hi Alex,

    The bootloader i am using is as you explained.

    I have taken the example code "dmm_154sensor_remote_display_app_CC1352R1_LAUNCHXL_tirtos7_ticlang", and just change the FLASH_BASE, and I have the errors you can see in the screenshot

    If you can check with this code. 

    Thank you,

    Sandra

  • Hi,

    I continue making some more test with different example codes, and I have seen that the code "buttonled_CC1352R1_LAUNCHXL_tirtos7_ticlang" and "rfEchoRx_CC1352R1_LAUNCHXL_tirtos7_ticlang" can be build changeing the Flash Base, but the code "simple_peripheral_CC1352R1_LAUNCHXL_tirtos7_ticlang" can not be build, those are the errors I have,

  • Hello Sandra,

    The BLE stack is a bit more complex and challenging to change, first I usually check if there is anything in the predefined symbols (in properties under arm compiler section), then we need to look into the .cmd file like you posted above.

    On the .cmd file topic (at least for BLE) I would recommend looking into the mcuboot blinky .cmd file, as it has changes to its flash base and so on to account for the bootloader. 

    I have more recent experience with the CC23xx doing something similar to the .cmd file, and I can reply with that modified command file if you like. 

    Looking at the error, it seems like it relates to how the changes to the memory regions are overlapping each other, possibly due to not every region being shifted in the right way. 

    Thanks,
    Alex F 

  • Hi Alex,

    This is the predefined symbols in the project. What I can see is that they are using FLASH_ROM_BUILD=2, I do not know if this can make any difference.

    In the code og the mcuboot blinky, they just change the FLASH_BASE.

    If you could send me the changes in the CC23xx maybe this helps to me.

    Thank you,

    Sandra

  • Hello Sandra,

    Here is an example of a customized proprf project that is compatible with MCUboot:

    https://e2e.ti.com/cfs-file/__key/communityserver-discussions-components-files/156/lpf3_5F00_freertos.cmd

    Next lets take a look at a BLE project (CC2340 device) and its properties:

    https://e2e.ti.com/cfs-file/__key/communityserver-discussions-components-files/156/lpf3_5F00_app_5F00_freertos.cmd

    Thanks,
    Alex F