Part Number: TMS320F28384S
Hello,
on Cortex core reside two programs: a bootloader and an application.
The bootloader starts at POR, checks the application CRC and eventually branches to it.
The bootloader must run in RAM, while the application runs in FLASH.
I would like to know which is the best method to run the bootloader in RAM.
Boot from RAM, or boot from FLASH and allocate functions to TI.ramfuncs?
Studing RAM and FLASH examples configurations, I have seen the following differencies.
1) RAM examples configurations.
- the entry-point, vector table, and other code sections are all allocated to RAM regions.
- the TI.ramfuncs is not defined.
- the vector table offset is set in RAM (Interrupt_setVectorTableOffset()).
In this case where reside the code that must be loaded and run from RAM? And when this copy is done?
2) FLASH examples configurations:
- the entry-point section and the other code sections are allocated in FLASH.
- there are two vector-table sections, one in FLASH (.vftable) and one in RAM (.vtable).
- the TI.ramfuncs is defined.
- the vector table offset is set in FLASH (Interrupt_setVectorTableOffset()).
In this case, to make the bootloader running in RAM, should I allocate all functions in TI.ramfuncs, and set the vector table offset in RAM?
Which is the best pattern?
Thank you,
Carlo