问答

汇集网友智慧,解决技术难题

eepo

TA的家园币:36  

  • 求助:PIC16F15376的bootloader跳转App异常

    本帖最后由pzsh于2022-6-2515:31编辑求助:PIC16F15376的bootloader跳转App异常情况描述:开发环境:MPLABXIDE5.45.bootloader的ROM空间0-0x7FF。App的ROM空间0x800-0x3FFF。App单独运行不加offset时正常。bootloader+App,bootloader结束可以正常跳转App,但是App运行到"使能中断",程序就复位了。如果App中不使能中断,App程序可以持续运行。下面是bootloader中的中断向量跳转代码:#defineNEW_RESET_VECTOR0x0800#defineNEW_INTERRUPT_VECTOR0x0804#define_str(x)#x#definestr(x)_str(x)asm("psectintentry,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));

    2022-06-23 5