
现在正在用为DZ60 做一个 基于CAN总线的bootloader
出现问题:中断向量重定向后,程序能运行到用户程序的main(),但不再进入 中断
在bootloader程序中定义
1. const unsigned char NVPROT_INIT@0x0000FFBD = 0xFB;//0xFC; NVPROT_FPS = 0x3C//保护区域:0xE800–0xFFFF EEPROM不保护
3. const unsigned char NVOPT_INIT@0x0000FFBF = 0x02;
原计划 bootloader程序分布在 0xe800~0cxFFFF中,用户程序分布在0x1900~E7FF上
用户程序在重定向后中断向量分布在 0xE7C0~E7FE,bootloader烧录用户程序时,将原有的中向量地址(位于 0xffc0~0xFFFe)地址直接减 8* 768写入到为 用户程序的bootoader区,在没有定义中断向量表数组。 请各位大神指导,问题出在哪里?谢谢 |