完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
TI对应的器件文档说的很清楚,如上文所示: 对于每一个被选定的boot ROM程序,运行结束跳转的时候,一定是跳转到0x00,或者0x80000这两个位置。 通常,我们的程序就放在FLASH,bootROM跳转到0x80000后,这个位置要有个跳转指令,做应用程序和boot ROM退出后的衔接处理。对应的就是F2837xD_CodeStartBranch.asm文件中的跳转函数: code_start: .if WD_DISABLE == 1 LB wd_disable ;Branch to watchdog disable code .else LB _c_int00 ;Branch to start of boot._asm in RTS library .endif 上面这个code-start段,被指定到了BEGIN区 而 BEGIN : origin = 0x080000, length = 0x000002 也就是说,LB _c_int00 被安放在0x080000开始的两个字中了, 从bootROM退出后,执行这条跳转函数,在_c_int00中,有对main函数的引用。 至于面函数所在的主程序,存放在上面地方在这里不用关心,在CMD问价那种已经指定好了,这总指定就是对各种段的指定。 |
|
|
|
只有小组成员才能发言,加入小组>>
3322 浏览 9 评论
3000 浏览 16 评论
3497 浏览 1 评论
9070 浏览 16 评论
4090 浏览 18 评论
1191浏览 3评论
613浏览 2评论
const uint16_t Tab[10]={0}; const uint16_t *p; p = Tab;//报错是怎么回事?
603浏览 2评论
用NUC131单片机UART3作为打印口,但printf没有输出东西是什么原因?
2341浏览 2评论
NUC980DK61YC启动随机性出现Err-DDR是为什么?
1899浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-28 22:32 , Processed in 1.307248 second(s), Total 78, Slave 59 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号