打印
[LPC]

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

[复制链接]
1800|4
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
楚地潮人|  楼主 | 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 | 只看该作者
5
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

粉丝