- 1
- 2
- 3
- 4
- 5
固件上电跑飞先查启动代码
资料介绍
固件上电后程序跑飞,先查启动代码这几处 一、程序跑飞的现象 固件上电后,程序没有按预期运行,出现"跑飞"(执行了不该执行的代码、跳到了错误地址、死机、反复重启)。很多人遇到这种情况,一头扎进应用代码里排查,但很多时候问题出在"启动代码"(Startup Code)——MCU上电后最先执行的初始化代码。 启动代码出问题,程序根本走不到应用的主函数,自然跑飞。排查跑飞,先看启动代码。 二、启动代码里容易出问题的地方 2.1 中断向量表 ARM Cortex-M上电后,从向量表(Flash起始地址)读取两个关键值:初始栈指针(SP)和复位处理函数地址(Reset Handler)。如果向量表错(地址错、内容错),程序一开始就跳错地方。 排查:确认向量表在正确的地址(Flash起始)、SP和Reset Handler地址正确。 2.2 栈初始化 启动代码要初始化栈(设置栈指针)。如果栈没设好(栈指针指向无效区域、栈太小),程序一调用函数就栈溢出,跑飞。 排查:确认栈指针设置正确、栈大小足够、栈区在有效的RAM区域。 2.3 时钟初始化 启动代码(或早期初始化)要配置系统时钟。如果时钟没配好(晶振没起振、PLL没锁定、时钟源选错),系统时钟异常,程序运行不稳定。 排查:确认晶振起振、PLL锁定、时钟配置正确。 2.4 变量初始化 启动代码要初始化全局变量(把初值从Flash拷到RAM)、清零BSS段。如果这个初始化没做对(拷贝源/目标地址错、没清零),全局变量初值不对,程序逻辑就错。 排查:确认data段拷贝、bss段清零正确执行。 2.5 外设早期初始化 启动代码(或main之前的初始化)如果初始化了外设(比如时钟、引脚),配置错可能让后续程序异常。 三、怎么排查跑飞 3.1 用调试器看跑飞在哪 连上调试器,单步或看程序指针(PC)跑到哪里去了。
部分文件列表
| 文件名 | 大小 |
| 固件上电跑飞先查启动代码.docx | 38K |
最新上传
-
江岚 打赏100.00元 13小时前
用户:潇潇江南
-
他山之石可攻玉 打赏50.00元 13小时前
用户:烟雨
-
21ic下载 打赏1.00元 17小时前
用户:王小琪
-
yahuang001 打赏3.00元 3天前
-
yahuang001 打赏1.00元 3天前
-
zhongshaoxiong 打赏3.00元 3天前
-
他山之石可攻玉 打赏60.00元 3天前
用户:烟雨
-
江岚 打赏210.00元 3天前
用户:潇潇江南
-
江岚 打赏100.00元 3天前
-
21ic下载 打赏310.00元 3天前
用户:gsy幸运
-
21ic下载 打赏310.00元 3天前
用户:zhengdai
-
21ic下载 打赏310.00元 3天前
用户:江岚
-
21ic下载 打赏210.00元 3天前
用户:潇潇江南
-
21ic下载 打赏60.00元 3天前
用户:他山之石可攻玉
-
21ic下载 打赏60.00元 3天前
用户:烟雨
-
21ic下载 打赏60.00元 3天前
用户:w178191520
-
21ic下载 打赏60.00元 3天前
用户:w993263495
-
21ic下载 打赏110.00元 3天前
用户:xzxbybd
-
21ic下载 打赏60.00元 3天前
用户:zq_1943
-
21ic下载 打赏20.00元 3天前
用户:kk1957135547
-
21ic下载 打赏20.00元 3天前
用户:sun2152
-
21ic下载 打赏20.00元 3天前
用户:铁蛋锅
-
21ic下载 打赏20.00元 3天前
用户:xuzhen1
-
21ic下载 打赏20.00元 3天前
用户:w1966891335
-
21ic下载 打赏35.00元 3天前
用户:有理想666
-
21ic下载 打赏15.00元 3天前
用户:nuaanuaa111
-
21ic下载 打赏20.00元 3天前
用户:liqiang9090
-
21ic下载 打赏15.00元 3天前
用户:ningmengge
-
21ic下载 打赏10.00元 3天前
用户:mulanhk
-
21ic下载 打赏5.00元 3天前
用户:asys
-
21ic下载 打赏10.00元 3天前
用户:舞蹈荀彧
-
21ic小能手 打赏5.00元 3天前
资料:磁编码器开源方案
-
21ic小能手 打赏5.00元 3天前
-
21ic小能手 打赏5.00元 3天前
-
江岚 打赏20.00元 3天前
-
江岚 打赏50.00元 3天前
-
江岚 打赏20.00元 3天前
-
江岚 打赏10.00元 3天前
-
21ic小能手 打赏10.00元 3天前
-
21ic小能手 打赏8.00元 3天前




全部评论(0)