I have a customer with the following situation thanks for your help:
We want to add the firmware upgrade functionality for the device. We would need support from TI in order to use the Flash APIs.
Issue faced:
- The module doesn't have an external flash. We need to use the internal ROM of the processor to copy the new image to perform the firmware update.
- We used the TMS320F28M35x and TMS320F28M36x Flash API Version 1.53 Reference Guide in order to implement the Flash API
- The guide mentions that the Flash APIs should be executed from SRAM
- The example projects also do the same
- We designed the same in our project
- Added the libraries for Flash API
- Moved the calling functions to RAM as well as the Flash API to RAM
- Issue faced:
- On the MCU side, we use Sys/BIOS. This occupies huge amount of stack and heap
- When the Flash APIs need to be integrated, it also needs a huge amount of RAM
- This results in overflow of RAM usage
- The DSP part doesn't use any RTOS, hence there is no problem in using the Flash APIs
- We would need support for the following:
- Is there any example project available with the Sys-BIOS and Flash API together
- Is it possible to run the Flash APIs outside SRAM (from Flash, SHRAM etc)
- Is it possible to move heap/stack to SHRAM. We tried this and the device crashed. So it looks like it is not acceptable. Still we wanted to check if there are some pre-conditions before we play around with the heap and stack sections.
- I have attached the memory usage (The stack and heap have been reduced and the device wouldn't function properly with reduced heap and stack)