[LPC] 咨询Boot程序与App程序合并后,中断向量表的处理问题

[复制链接]
楚地潮人 发表于 2015-3-2 22:39 | 显示全部楼层 |阅读模式
问题如下:
      我用的是LPC1766 CM3内核处理器,考虑到需要对产品进行升级,于是做了一个独立的Boot程序和一个独立的App用户程序,采用XMODEM协议通过串口对进行App用户程序升级,具体操作是这样的,Boot和App分别各自进行编译,编译完成后把Boot代码和App代码进行拼凑(Boot代码在前,App代码在后),然后一起烧录到FLASH里面去。但是这里存在两个问题就是,1、Boot程序和App程序都含有各自的中断入口地址,若平凑在一起,势必导致两个程序的中断入口地址重叠。2、Boot程序和App程序都含有各自的中断向量表,若平凑在一起,势必导致两个程序的中断向量表重叠。不知道该问题如何解决。请大侠不吝赐教。
aozima 发表于 2015-3-3 09:46 | 显示全部楼层
分别开发编译链接,得到两个bin,然后把两个bin文件合并在一起。
airwill 发表于 2015-3-3 11:00 | 显示全部楼层
本人的做法是: 单独一个Boot代码烧入芯片, 占FLASH首地址.
如果需要 IAP, Boot 接收串口发来的 APP 数据, 并烧入之后的 FLASH 中.
否则, 验证 IAP 的合法性, 如果合法, 则更改中断向量表地址(Cm3 的内核寄存器)并跳转到 APP.
当然不合法则等待 IAP 指令.
dong_abc 发表于 2015-3-4 22:48 | 显示全部楼层
dirtwillfly 发表于 2015-3-7 21:33 | 显示全部楼层
dong_abc 发表于 2015-3-4 22:48
http://blog.csdn.net/yx_l128125/article/details/13591743

好办法,学习了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

8

主题

115

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部