这几天在调试tms320F2806X系列时,遇到以下问题:
程序烧录到FLASH中带仿真器运行没有问题,当拔掉仿真器运行时,全局变量和静态变量变得不对,局部变量却是正确的。通过上网搜查,感觉应该是.cmd文件的地址段分配有问题,后来发现是.const、.cinit段没有分配到FLASH上的原因。
以后遇此类问题,先考虑下面几个方面:
1. 初始化配置字的设置,特别是FLASH配置方面相关的;
2. 存储器配置文件,特别是.const、.cinit段需要分配FLASH存储空间;
3. 如果使用hex6x(Hex-Conversion Utility)时,看参数是否正确;
4. Bootloader是否正常工作。