sys_start up
进入到 afterSTC函数中的
crcAtInit_VIMRAM = SL_CRC_Calculate(((uint64 *)0xFFF82000), 256);
// crcAtInit_FEE = SL_CRC_Calculate(((uint64 *)0xF0200000), 8);
crcAtInit_FLASH = SL_CRC_Calculate((uint64 *)((uint32)&ulFlashStartAddr), ((((uint32)&ulFlashEndAddr)-((uint32)&ulFlashStartAddr)) >> 3));
// crcAtInit_StaticRAM = SL_CRC_Calculate((uint64*)static_ram,1); /* enable the below functions only if profiling is ebnabled*/
_enable_interrupt_();
就进入到
#pragma INTERRUPT ( _excpt_vec_udef_instr, UDEF)
void _excpt_vec_udef_instr()
#endif
#ifdef __IAR_SYSTEMS_ICC__
__irq __arm void _excpt_vec_udef_instr()
#endif
{
while(1);
}
循环中
不知道什么原因
whong zhao:
我把这些全都注释掉的话,就可以跑到main函数了
crcAtInit_VIMRAM = SL_CRC_Calculate(((uint64 *)0xFFF82000), 256);
// crcAtInit_FEE = SL_CRC_Calculate(((uint64 *)0xF0200000), 8);
crcAtInit_FLASH = SL_CRC_Calculate((uint64 *)((uint32)&ulFlashStartAddr), ((((uint32)&ulFlashEndAddr)-((uint32)&ulFlashStartAddr)) >> 3));
// crcAtInit_StaticRAM = SL_CRC_Calculate((uint64*)static_ram,1); /* enable the below functions only if profiling is ebnabled*/
_enable_interrupt_();请问去掉这些的影响,而且这个中断是什么意思
Susan Yang:
whong zhao
#pragma INTERRUPT ( _excpt_vec_udef_instr, UDEF)void _excpt_vec_udef_instr()#endif#ifdef __IAR_SYSTEMS_ICC____irq __arm void _excpt_vec_udef_instr()#endif{ while(1);
}
whong zhao:
回复 Susan Yang:
我把上面的函数都注释掉了,就没有这个问题了,不运行上面的函数会有什么影响
Susan Yang:
回复 whong zhao:
就是MCU在遇到无效指令时不会进入“未定义模式”,因为您注释了中断服务程序
至于会有什么影响,要结合您的代码来看。但是一般建议您不要注释,而是通过调试来找出进入这个中断的原因