又一个碉堡的BUG
flash操作导致系统宕机。。。奇哉怪哉。。。。 ? ? ? ?本以为又是clock的问题,遂将system clock换成osc clock,依旧宕机。 ? ? ? ?watchdog重启!!!第六感告诉哥,一定是哪里访问出错进入interrupt死循环。。。(最有可能的就是flash address 出错,导致bus fault...) ? ? ? ?寄出杀手锏,重定位了bus fault和flash ctl interrupt。。。 ? ? ? ?很好,死在了flash ctl interrupt中。。。(看来极有可能是flash program protection被打开了,导致的访问失败) ? ? ? 又翻了遍文档,默认竟然是可读写擦除。。。。。? 遂又打印了flash ctl register,结果显示是读写可擦除。。 ? ? ? 没办法了,只好再次在Interrupt中精确定位到底是什么操作导致的。。。 ? ? ? 想不到竟然是data pragram compete 中断-->意味着数据操作成功。。。。 ? ? ? ?哎。。。 大意啦,大意啦。。。。 ? ? ???进入interrupt后竟然没有清除interrupt status bit。导致cpu 中断控制单元检查到status bit后重复进入int routine.....造成系统假死。。。。 ? ? ? ?修改后依旧宕机。。。。shit..... ? ? ? ?但是明显是死在了driver中。 ? ? ? ?Oh,my lady gaga!!!!? ? ? ? ?竟然是无符号整型溢出。。。。。靠,官方的库也不靠谱,还好不是火箭发射程序。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |