其实我是还没有确定程序是不是真死在hard fault的isr里啦,只是怀疑;
之所以怀疑先是硬件故障,是因为通讯用的上位机程序也同时死了,没想明白怎么会同时死,如果只是stm32程序死,应该上位机那边不至于死,只是通不了而已。
昨天出现了一次,今天一直做了一整天都还没重现。测试方法跟昨天用的是一样的,都是往stm32每隔1s发同一个命令,昨天发了半个小时不到就死了,今天发了10多个小时还没死。板子上的程序也都还没刷新过,怕刷了之后问题不重现,结果居然还是不出现,真是郁闷了。
内存越界之类的问题也考虑过,但是目前走读代码暂时还是没有发现有越界的地方。现在想到的只能是一边尝试复现,一边再完整的走读一遍代码咯。
|