近期笔者在进行资产监测设备研发,资产监测设备主要通过定位、运动监测及环境监测等功能,实现企业对资产的透明化管理,为企业完善管理提供了技术与平台。
为了保障设备能顺利运行,避免数据报错的情况,我们在进行Yunxion资产监测设备软件开发的时候进行了很多的测试,在软件开发室遇到串口MCU容易死机,很容易就进入了硬件错误,针对这个问题,我们快速进行了排查,并得到了解决。
分析原因一:内存的泄露
一般MCU进入硬件错误是由于内存的泄露,比如数组越界等。
进行检测:
笔者详细检查代码的内存分配,并没有发现有数组越界的情况发生。所以MCU死机应该不是内存泄露导致的。
分析原因二:驱动层出现问题
由于笔者之前是使用STM32开发代码移植过来的,应用层代码应该没有问题,问题可能是出现在了驱动层。
进行检测:
经过比对发现:STM32串口的Rx引脚是可以配置成上拉模式的,这样不管外界的串口模块状态也可以保持TX和Rx的稳定,Yunxion资产监测设备中串口设计比较简单,串口的Rx引脚无法配置成上