bootloader相关的问题

[复制链接]
1105|17
 楼主| gongche 发表于 2021-3-17 23:23 | 显示全部楼层 |阅读模式
有一个boot程序和一个app程序,
app程序偏移了0x1000,把两个hex文件稍微合并了下,
程序也能够正常跳转。

那如果app程序里有中断,是不是需要对中断向量表做一些处理啊?
huwr 发表于 2021-3-17 23:25 | 显示全部楼层
app程序单独跑呢
 楼主| gongche 发表于 2021-3-17 23:27 | 显示全部楼层
app程序单独跑没有问题,加了上述的boot之后没有正常工作。。。
 楼主| gongche 发表于 2021-3-17 23:28 | 显示全部楼层
注:芯片是PIC16F系列的,IDE用的MPLAB + HI-TECH C
 楼主| gongche 发表于 2021-3-17 23:31 | 显示全部楼层
解决了,看其他大神boot源码看到的一种思路
; ********************************
_V_INT_LOW CODE 0x0018
  bra 0x0218     ;Re-map Interrupt vector
; ********************************

因为boot程序没有用到中断,所以在boot程序的中断里直接跳到app程序中断函数地址开始执行。
yszong 发表于 2021-3-17 23:35 | 显示全部楼层
没看懂啥意思
 楼主| gongche 发表于 2021-3-17 23:37 | 显示全部楼层

这样如果app程序产生了中断,会先调用boot程序的中断处理函数,然后跳转到app程序中断函数进行处理。
stly 发表于 2021-3-17 23:38 | 显示全部楼层
汇编BOOTLOADER,网上就有现成的可用;
dingy 发表于 2021-3-17 23:41 | 显示全部楼层
C语言需要自己动手写了,不难搞定
 楼主| gongche 发表于 2021-3-17 23:42 | 显示全部楼层

microchip。com/forums/m424874。aspx
可以参考下(。换.),我也是按照源码思路改的。。。
zhanghqi 发表于 2021-3-17 23:44 | 显示全部楼层
如果没有向量重新映射功能,需要从BOOT中断向量处跳转到APP的中断向量
 楼主| gongche 发表于 2021-3-17 23:46 | 显示全部楼层

嗯,我再好好缕一缕吧,有了好消息及时通知大家
木木guainv 发表于 2021-4-2 16:07 | 显示全部楼层
有冲突的话就处理一下
磨砂 发表于 2021-4-2 16:09 | 显示全部楼层
C语言需要自己动手写了
晓伍 发表于 2021-4-2 16:11 | 显示全部楼层
还有一个优先的问题
八层楼 发表于 2021-4-2 16:16 | 显示全部楼层
存储空间的地位也不相同
观海 发表于 2021-4-2 16:16 | 显示全部楼层
没有遇到过这个问题啊
qq894308196 发表于 2021-4-21 09:48 | 显示全部楼层
楼主用的是什么单片机呢?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

768

主题

9410

帖子

2

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