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.

F28M35H52C: C-Boot ROM RAM Usage

Part Number: F28M35H52C


I just noticed that from v207 to v208 of the device_support code for the concerto, the area reserved for bootload process has increased to 0x01A0.

So the correct linker cmd-file should include:

BOOT_RSVD   : origin = 0x000002, length = 0x0001A0 
RAMM0            : origin = 0x0001A2, length = 0x00025E  

As opposed to pre v208, when we had:

 BOOT_RSVD   : origin = 0x000002, length = 0x00009F 
 RAMM0            : origin = 0x0000A1, length = 0x00035F

Since this change result in 256 bytes less of RAMM0, I wonder whether it is safe to keep the old version or even omit BOOT_RSVD and "take back" all of M0 for an application that always boots from flash?

  • Christian,

    You should be able to get back some amount of this RAM, as you said the Flash bootloader doesn't use as much memory/stack as some of the other loaders.

    I would recommend seeding the M0 SRAM with a known value(even 0's or 0xFFFF is fine, just something your code likely doesn't have) and then run your boot loader to observe what portion of M0 gets used for the Flash Boot Stack.  You can then go back and free up any portion that doesn't get written to during the boot procedure.

    Best,

    Matthew

  • Hi Matthew,

    That is a good idea but I am afraid it may not be future proof, or maybe a single run will not reveal the maximum Flash boot stack usage.

    On the other hand, since the flash boot does not involve any actual boot-loading (isn't it just a branch, all code is already in flash), maybe we can take back all of M0? Am I missing something important here?

  • Hi again,

    Just found this related post which seem to imply that my application can use all of M0, at least that is possible on ARM side.

    https://e2e.ti.com/support/microcontrollers/c2000/f/171/t/412222?tisearch=e2e-sitesearch&keymatch=BOOT_RSVD

  • Christian,

    Thanks for point this out, I was trying to find the information about the Boot ROM Stack needs, even with boot to flash there will be some stack usage. 

    As the post points out, however, by the time your application takes over when Boot is complete, the BROM will not have use of this space any more, so you can be free to overwrite it no matter the boot mode.

    Same caveats apply, i.e. if there is a reset event, then BROM will overwrite these areas for its needs.

    Appreciate your time and patience on this one.

    Best,
    Matthew