开发环境:KEIL474
异常现象:修改了源代码(不涉及工程配置)后无法生成axf和hex
排查过程:
经过将源码逐步复原对比,将问题定位在一行全局变量定义的代码。
改变代码在文件中的位置,可以排除异常,生成axf和hex。
经过逐步变化位置,排查发生异常的行数。
确定是在U8 exit=0;这行代码前后会出现问题。
异常原因:
结合变量名,以及对生map文件的查看。
最后认为是使用了exit这个编译器保留的关键字,引起了编译过程异常,无法axf和hex。
解决方法:
之后将exit改名,测试后异常没有再出现。
总结:
不要使用编译器关键字作为变量名!!!
另外:
补充网上搜索到的可能导致无法生成axf和hex的可能
1、输出文件名带“.”。比如“1.23”,“V1.2”
2、输出配置中没有勾选HEX