问答

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

21ic问答首页 - TAG - 跑飞
  • PIC18的bootloader引导APP正常,但可能跑飞? sos

    硬件: 单片机:PIC18F25K80 情况: 1. bootloader单独跑没有问题;APP单独跑也没问题。 2. 将bootloader的hex文件,loadables到app工程,并将app的cod offset为0x0C00,成功进入app模式。 问题: 由bootloader引导app模式,存在程序跑飞的情况(中断已不响应)。有时候能正常运行半小时,有时仅能正常运行几十秒。 bootloader部分代码: unsigned char isBootloader __at(0x00AA); // Bootloader中的中断 void interrupt low_priority InterruptISR_Low(void) { if(0 == isBootloader) { asm ("pagesel " str (APP_LOW_VECTOR)); asm ("goto " str (APP_LOW_VECTOR)); } else lowPriorityISR(); } void main() { ...初始化 if(0 == isBootloader) { STKPTR = 0x00; // 清除 返回堆栈指针 BSR = 0x00; asm ("pagesel " str(APP_RESET_VECTOR)); asm ("goto " str(APP_RESET_VECTOR)); } ... }

    PIC18 Bootloader 跑飞

    2330浏览量 0回复量 关注量