我正在使用NXP Kinetis K64 ARM Cortex M4 MCU。我成功地更改了链接器配置文件,以将向量表移动到地址0x8000(而不是默认的0x0000)。当我告诉CodeWarrior 10.6调试器在代码开头中断时,它按预期停止在boot.S文件的顶部。但是我突然发现,如何 MCU /调试器没有找到代码,因为闪存从地址0x0000到0x7FFF为空(0xFF),并且VTOR寄存器显示为0x0?!
我浏览了ARM M4内核和NXP K64的数据表,但他们没有回答这种情况。
答案 0 :(得分:2)
这可能是由于CodeWarrior中的“调试配置”设置所致。在“调试器”选项卡中,如果勾选了初始化的程序计数器,如下所示,调试器将在复位时为程序计数器提供“ boot.S文件顶部”的地址,它是程序入口点。跳过查找向量表的常规顺序。
有关CodeWarrior调试器的更多详细信息,请参见here