2019-10-15 23:43发布
之前买的一个战舰板子,后面自己也画了一个,好多程序都重写过了,所以看上去不太一样,但IAP部分跟硬件没有关系,所以IAP部分的程序其实跟战舰的差不多(几乎是一样的)。
是不是在跳转之前应该屏蔽异常呢,CPSID F;(我心里这样考虑的,还没有实践)
是的,治标不治本呐!!!
问题出现了!因在IAP程序中在跳转之前CPSID F;屏蔽了所有异常,跳转到APP之后发现在无法正常响应中断(APP程序是一个使用外部中断来控制两个LED闪烁的测试程序),但程序运行正常,但不会因中断改变闪烁模式(因中断没有响应),我估计是因为在IAP中屏蔽了所有异常,所有在APP中异常依然是屏蔽的。后来我在APP中MAIN函数开始加了一句CPSIE F;来开启异常,之后发现又出现一种问题,是我没有触发中断,但总是死在异常向量表里
后来我又试了一个另外一个APP程序 (是一个LED正常闪烁的程序,并没有开启任何中断),如在APP开始 部分不加CPSIE F;来开启异常(因为IAP中跳转时关闭了异常)一切正常,只要开启后,就和上面这个中断LED效果一样。图如下:
因出现上现这么多问题,所以我在所IAP中把那个屏蔽异常的语句去掉了,还是不行呢。
我估计BIN文件的接收和写入应该没有问题,这部分的代码基本上就是原模原样的战舰的代码,就是在跳转是出现了问题,是不是异常向量表处理的不好呢?跳转时应该注意点什么呢?
最多设置5个标签!
看你的代码,貌似是自己改过的。
之前买的一个战舰板子,后面自己也画了一个,好多程序都重写过了,所以看上去不太一样,但IAP部分跟硬件没有关系,所以IAP部分的程序其实跟战舰的差不多(几乎是一样的)。
是不是在跳转之前应该屏蔽异常呢,CPSID F;(我心里这样考虑的,还没有实践)
---------------------------------
那你应该是有什么地方有问题,否则不会引起死机才对。
是的,治标不治本呐!!!
问题出现了!因在IAP程序中在跳转之前CPSID F;屏蔽了所有异常,跳转到APP之后发现在无法正常响应中断(APP程序是一个使用外部中断来控制两个LED闪烁的测试程序),但程序运行正常,但不会因中断改变闪烁模式(因中断没有响应),我估计是因为在IAP中屏蔽了所有异常,所有在APP中异常依然是屏蔽的。后来我在APP中MAIN函数开始加了一句CPSIE F;来开启异常,之后发现又出现一种问题,是我没有触发中断,但总是死在异常向量表里
后来我又试了一个另外一个APP程序 (是一个LED正常闪烁的程序,并没有开启任何中断),如在APP开始 部分不加CPSIE F;来开启异常(因为IAP中跳转时关闭了异常)一切正常,只要开启后,就和上面这个中断LED效果一样。图如下:
因出现上现这么多问题,所以我在所IAP中把那个屏蔽异常的语句去掉了,还是不行呢。
我估计BIN文件的接收和写入应该没有问题,这部分的代码基本上就是原模原样的战舰的代码,就是在跳转是出现了问题,是不是异常向量表处理的不好呢?跳转时应该注意点什么呢?
一周热门 更多>