单片机死机问题处理

一、单片机死机原因

a、变量溢出:比如数组定义小,使用时大于定义;

b、栈溢出:代码中的变量、函数参数大小超过编译器分配的栈空间,导致死机无法运行;

c、Flash的app区某个存储位置被擦除和覆盖其它数据,导致应用区无法运行导致死机;

d、最小系统硬件外部影响导致

二、处理异常办法

方法1、通过仿真调试,看app运行到那个位置出问题,分析当前变量和参数是否溢出

方法2、通过串口打印分析

方法3、读出单片机Flash的hex文件和编译出来的hex用beyong compare软件对比,数据是否被改写或擦除

相关推荐
技术干货贩卖机30 分钟前
0基础 | Proteus | 中断 | 点阵
单片机·嵌入式硬件·proteus·0基础·单片机仿真
国科安芯1 小时前
新能源汽车运动控制器核心芯片选型与优化:MCU、DCDC与CANFD协同设计
单片机·嵌入式硬件·汽车
少年、潜行10 小时前
【开源】基于51单片机的温湿度检测报警系统
单片机·嵌入式硬件·51单片机
时光飞逝的日子12 小时前
stm32进入睡眠模式的几个注意点
stm32·单片机·嵌入式硬件
落雨封海15 小时前
【1】GD32 系统架构、内核、中断系统、存储器系统
单片机·gd32
weixin_4629019716 小时前
STM32F103C8T6裸机多任务编程的问题
stm32·单片机·嵌入式硬件
小智学长 | 嵌入式1 天前
单片机-89C51部分:4、固件烧录
c语言·单片机·嵌入式硬件
时之彼岸Φ1 天前
Adruino:传感器及步进电机
单片机·嵌入式硬件
网易独家音乐人Mike Zhou1 天前
【Linux应用】交叉编译环境配置,以及最简单粗暴的环境移植(直接从目标板上复制)
linux·stm32·mcu·物联网·嵌入式·iot
少年、潜行1 天前
【开源】基于51单片机的简易智能楼道照明设计
单片机·嵌入式硬件·51单片机