Other Parts Discussed in Thread: C2000WARE
我的目标:将FLASH扇区的 A&B C&D F&G分布存放三组程序,每次上电通过A&B程序运行后与外部通讯,选择跳转运行C&D或者F&G。
将FLASH_A&B扇区存放作为二次boot程序,通过仿真器烧写,cmd中 SECTIONS 和 BEGIN 为 A 扇区。C&D扇区程序的cmd修改,将 BEGIN 放入扇区C的origin+0x1FF6,SECTIONS放入C和D,由通讯将hex烧写进相应位置。
问题:
1 在跳转时,将指针指向C的origin地址就可以吗?
2 跳转后A&B所占用的RAM和堆栈会自己释放吗?详细流程是怎么样的?会不会导致DSP运行不稳,出现未知异常?
3 通过仿真器选择不擦除扇区A&B,是否也可以将程序固话到 C&D?并且仿真器可以在线联调?
是否有相关文档讲述此方面问题?对于dsp内部跳转到另一个扇区具体怎么运作的感觉不清晰。
我的跳转通过定义 #define Jump_Flash_C_Program_Begin (void(*)(void))FLASH_C_ADDRESS
FLASH_C_ADDRESS为cmd的origin地址。