gongche 发表于 2022-10-16 14:58

bootloader相关的问题

有一个boot程序和一个app程序,
app程序偏移了0x1000,把两个hex文件稍微合并了下,
程序也能够正常跳转。

那如果app程序里有中断,是不是需要对中断向量表做一些处理啊?

renyaq 发表于 2022-10-16 14:59

app程序单独跑呢

gongche 发表于 2022-10-16 15:01

app程序单独跑没有问题,加了上述的boot之后没有正常工作。。。

gongche 发表于 2022-10-16 15:04

注:芯片是PIC16F系列的,IDE用的MPLAB + HI-TECH C

gongche 发表于 2022-10-16 15:06

解决了,看其他大神boot源码看到的一种思路
; ********************************
_V_INT_LOW CODE 0x0018
bra 0x0218   ;Re-map Interrupt vector
; ********************************

因为boot程序没有用到中断,所以在boot程序的中断里直接跳到app程序中断函数地址开始执行。

heweibig 发表于 2022-10-16 15:08

没看懂啥意思

gongche 发表于 2022-10-16 15:10

这样如果app程序产生了中断,会先调用boot程序的中断处理函数,然后跳转到app程序中断函数进行处理。

chenho 发表于 2022-10-16 15:14

汇编BOOTLOADER,网上就有现成的可用;

huanghuac 发表于 2022-10-16 15:15

C语言需要自己动手写了,不难搞定

gongche 发表于 2022-10-16 15:18


microchip。com/forums/m424874。aspx
可以参考下(。换.),我也是按照源码思路改的。。。

dengdc 发表于 2022-10-16 15:19

如果没有向量重新映射功能,需要从BOOT中断向量处跳转到APP的中断向量

jiaxw 发表于 2022-10-16 15:21


有冲突的话就处理一下

stly 发表于 2022-10-20 19:25

C语言需要自己动手写了

tian111 发表于 2022-10-20 19:28

还有一个优先的问题

supernan 发表于 2022-10-20 19:31

存储空间的地位也不相同

chenho 发表于 2022-10-20 19:33

没有遇到过这个问题啊

zwll 发表于 2022-10-20 19:38

楼主用的是什么单片机呢?

Bowclad 发表于 2022-11-2 20:19

有现成的汇编BOOTLOADER

Jacquetry 发表于 2022-11-4 20:06

用的是什么单片机呢?
页: [1]
查看完整版本: bootloader相关的问题