恭喜,你发布的帖子
发布于 2018-08-28 09:05:15
4楼
问题2:此问题来自于同事移植程序过程中发现的。
某个C库文件移植后,一开机,TDC便直接报H故障,而且每个CPU都是固定的H,不闪烁。最头疼的便是这种情况,一般情况下,某个CPU死机报故障H,H是闪烁的,而这次出现的却没有,CPU model information里面也看不到有用的信息。没有办法,只能讲加入的库一个个剔除,然后编译下装,找具体的原因。
在其不断地尝试。。。真是不断。。。后
找到了,原因是CPU启动后,执行到某段代码后,直接导致故障H
这部分是关键的控制逻辑,也不能不用。再说移植之前都是正常的,对于C来说,移植应该不会出很多问题才对,毕竟C是具有很强的可移植性的,所以只能猜测西门子新的编译环境或者CPU有某方面的问题。
接上段,
这段代码是条件执行的,但是一般都默认引脚置1,考虑到之前遇到的一些报H故障的问题。做了一些测试。最后发现,CPU在启动的一段时间内(这个时间试出来的,大概几秒内吧),如果运行了指定代码,便会直接H死机。
最终,没有找到问题的根本,做了一个治标的工作,那就是做了处理,让CPU启动后几秒之后再执行相关代码。果然,编译下装后,CPU正常,逻辑执行也正常。
请填写推广理由:
分享
只看
楼主