打印
[PIC®/AVR®/dsPIC®产品]

求助:PIC16F15376的bootloader跳转App异常

[复制链接]
1344|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
eepo|  楼主 | 2022-6-23 12:18 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 pzsh 于 2022-6-25 15:31 编辑

求助:PIC16F15376的bootloader跳转App异常
情况描述:
开发环境:MPLAB X IDE 5.45.
bootloader的ROM空间0-0x7FF。
App的ROM空间0x800-0x3FFF。
App单独运行不加offset时正常。
bootloader+App,bootloader结束可以正常跳转App,但是App运行到"使能中断",程序就复位了。
如果App中不使能中断,App程序可以持续运行。
下面是bootloader中的中断向量跳转代码:
#define  NEW_RESET_VECTOR        0x0800
#define  NEW_INTERRUPT_VECTOR    0x0804
#define _str(x)  #x
#define str(x)  _str(x)
asm("psect  intentry,global,class=CODE,delta=2");
asm("pagesel " str(NEW_INTERRUPT_VECTOR));
asm("GOTO " str(NEW_INTERRUPT_VECTOR));
下面是bootloader运行结束跳转代码:
    STKPTR = 0x1F;
    BSR = 0;
    asm("pagesel " str(NEW_RESET_VECTOR));
    asm("goto  "  str(NEW_RESET_VECTOR));   

使用特权

评论回复
沙发
pzsh| | 2022-6-25 15:31 | 只看该作者
找找这个板块的教程和例子,会有帮助的。 好像MCC也可以自动生成lootlaoder

使用特权

评论回复
板凳
eepo|  楼主 | 2022-6-28 09:11 | 只看该作者

求助:PIC16F15376的bootloader跳转App异常

谢谢回复,问题解决了,和XC8版本有关。

使用特权

评论回复
地板
semonwong| | 2022-6-30 16:35 | 只看该作者
请问,如果boot和app都要用中断的话,如何重定向中断向量呢??

使用特权

评论回复
5
caigang13| | 2022-7-1 08:40 | 只看该作者
帮顶一下,不是很懂。

使用特权

评论回复
6
1988020566| | 2022-7-9 12:13 | 只看该作者
这个BootLoader没有开发过

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

4

主题

8

帖子

0

粉丝