最近在使用新唐的MCU,从bootLoader跳转至APP后中断无法使用的问题一直无法解决。
boot代码:
__set_PRIMASK(1); //关闭总中断
FMC_SetVectorPageAddr(0x2000);
func = (void (*)(void))M32(0x2000 + 4);
func();
return 0;
APP中Keil设置如下图(分别为Target和Linker选项卡):
本人将boot.bin烧写至APROM的0地址,APP.bin烧写至APROM的0x2000处
通过测试,发现boot能够跳转至APP(串口可以正常读写,控制LED灯的IO口也能够置位),但唯独不能使用中断(比如Systick中断,Uart中断等)
单独将APP烧写至APROM的0地址,是能够正常运行的,即中断能够正常响应。
附:本人使用的芯片为新唐M0芯片(NUC200型号)
|