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

28377s在不是begin的任意地址启动如何实现

我现在做了两个工程,一个boot一个app,我的boot已经通了,但是app工程用仿真器直接下载,断电从起无法运行,官方的做法是在code中关闭看门狗,但是我的需求是要从boot程序跳转到app程序,boot只是实现在线升级而已。我的app程序的启动部分该如何处理?   查资料看到有把app程序看成是boot的一个局部函数处理,即boot直接跳转到app的main(),但是我试过了,程序起不来。我想做两个单独的工程,只是可以通过boot下载app而已,那么在boot正确情况下,如何修改app的启动逻辑呢?

Susan Yang:

1 在F2837xD_sci_flash_kernels_cpu01例程中使用的是下面的方式,您可以参考一下 LCR _main 和 _ExitBoot: 2 您也可以使用下面的方式 static void (*APPEntry)(void); APPEntry = (void (*)(void))(EntryAddr); (*APPEntry)(); 网络上也有一些分享,您可以参考一下

https://e2echina.ti.com/question_answer/microcontrollers/c2000/f/56/t/111336 blog.csdn.net/…/80755783

Susan Yang:

回复 user6329147:

所以现在在map文件中,APP_CINT00 地址是82000吗?

user6329147:

回复 Susan Yang:

是的。map确实如此,现在_c_int00在map里地址是82000. main()地址根据程序的修改会有所不同

Susan Yang:

回复 user6329147:

您是否可以得到跳转的 illegal ISR的handler?可以通过 NMI flag register来查看到底是什么引起了非法中断

Susan Yang:

回复 user6329147:

我在E2E上发了个帖子,您可以跟踪回复一下,谢谢

 

赞(0)
未经允许不得转载:TI中文支持网 » 28377s在不是begin的任意地址启动如何实现
分享到: 更多 (0)