谢谢15楼李大侠的详解,李大侠的方法主要是查看lr的值以及FAULT状态寄存器的值吧,其中lr的值我看过,能找到相关的函数,就是定时器1的中断函数,至于会在哪一句不一定,有点随机,所以现在不好定位,光从代码看没看出问题。关于FAULT状态寄存器的值我还没看过,这个是不是在调试的时候打开memory窗口,输入寄存器地址的值比如0xE000ED28就可以看到的吧,不一定要写以下代码的吧,我的理解对么?
printf ("BFAR = %x\n", (*((volatile unsigned long *)(0xE000ED38))));
printf ("CFSR = %x\n", (*((volatile unsigned long *)(0xE000ED28))));
printf ("HFSR = %x\n", (*((volatile unsigned long *)(0xE000ED2C))));
printf ("DFSR = %x\n", (*((volatile unsigned long *)(0xE000ED30))));
printf ("AFSR = %x\n", (*((volatile unsigned long *)(0xE000ED3C))));
|