Hello,
I am currently trying an application upgrade solution on a TMS320F2811 device running from Flash. My design strategy is to load an update program first in a flash sector say Flash sector C. I flash this updater application via JTAG. So this code starts executing normally like any Boot from FLASH method ie from location 0x3F7FF6 it uses the library boot.asm file to initialize and call my updater main application
My updater application uses UART or SPI to recieve new application and uses Flash API to program my new application code into a different flash sector say FlashD.
Now when i reset my device after programming my new application in Sector D, i want the boot.asm to jump the new application main() function located in FlashD.
I want to know whether the boot.asm from the library will be able to load to the new applicaton instead of the updater application? because in boot.inc source code from TI rtssrc zip file, after initialization it calls _args_main. How does it know in this case which main() to call, whether the updater or the application.
Also when i want to reprogram this application, i need to jump again to updater application main() and erase the Flash sector D and reprogram with new data.
How is it possible with the boot.asm library code to identify which main() to call? This would help me get a clear idea of this design approach and start implementing a prototype.
Thanks,
Aviinaash S