KEIL编译故障-地址冲突

今天编译STM32程序正常,使用JLINK调试,出现**JLink Warning: T-bit of XPSR is 0 but should be 1. Changed to 1.

根据网上各种资料查证,怀疑是程序位置出错。打开HEX文件发现文件开始为

:020000040800F2
:10000000DFF80CD000F026F800480047D5050008BE

其实地址明显不是内存地址(栈)和FLASH地址。仔细查找各种设置,没有问题。重新安装KEIL,故障如旧。

仔细查看HEX文件,在后面发现疑似中断向量表的东西

:100120000000000000000000000000004008002067
:1001300015000008F1000008ED000008EF000008BD

在此代码前有一段在指定位置存放的记录编译的信息。估计是编译信息段占用了启动代码的位置,导致启动代码后移。

将编译信息段地址后移后,一切正常。

你可能感兴趣的:(KEIL编译故障-地址冲突)