TI中文支持网
TI专业的中文技术问题搜集分享网站

TMS320F28035: 自定义二级boot,多个程序选择运行问题

Part Number:TMS320F28035Other 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地址。

Green Deng:

1、是的,跳转到下载的APP入口地址

2、这个问题还真没留意过,找了一下也没找到相关说明

3、可以实现。在线联调是指什么?

其实可以参考一下例程,TI有提供一个基于can的二次bootloader例程:C:\ti\c2000\C2000Ware_3_04_00_00\device_support\f2803x\examples\c28\f2803x_can_flash_kernel

,

Camel Santo:

1、跳转到下载的APP入口地址?是指APP程序CMD编译的 BEGIN (origin+0x1FF6)地址 还是定义的扇区origin地址? 

3、在线联调就是用仿真器可以在线观察变量,设置断点,修改全局变量数值。。等操作。

这个can_flash_kernel里面的Exit_Boot.asm不是很理解,是不是只需要在main最后return 写入要跳入的目标扇区的origin地址就可以了?

 

赞(0)
未经允许不得转载:TI中文支持网 » TMS320F28035: 自定义二级boot,多个程序选择运行问题
分享到: 更多 (0)

© 2024 TI中文支持网   网站地图 鲁ICP备2022002796号-1