您好,
目前我采用的芯片是C6746,集成开发环境是CCS7.2.0,编译器版本是TI v7.4.16,编译器优化等级是3,内存使用情况如下:
问题描述如下:
原始的代码在线运行正常,烧写的FLASH里运行不正常,原始代码如下:
如果在第一行注释“//实际电压clark变换”后敲击两下回车键,程序烧写到FLASH里后也可以正常运行,修改后的代码如下:
请问:出现这样的问题是否跟我的注释方法有关?还是有其他原因会导致此类问题出现?
谢谢!
Shine:
跟注释方法没关系。可以接上仿真器,跟一下boot过程,看程序运行到哪里出错了。
processors.wiki.ti.com/…/Debugging_Boot_Issues
,
erdong chen:
您好,
按照您给出的建议,连上仿真器,在flash下进行仿真(即选择load symbols),发现程序中结构体park_Us_P(下面程序中的第163行)变成了NAN类型,程序如下:
需要说明的是:(1)程序里用到的变量都有定义且初始化过;
(2)如果选择load program 就不存在上述现象
请问,遇到上述问题可以怎样解决?
谢谢!
,
Shine:
请看一下在工程编译时有没有选取ROM autoinitialization model (-c) 工程属性->CCS Build -> C6000 Linker->Runtime Environment->Initialization model. 如果用RAM autoinitialization model的话,在脱机时,有些初始化变量值不会被加载。
,
erdong chen:
您好,
选取的是ROM autoinitialization model,具体设置如下图:
还有其他的可能原因吗?
谢谢!
,
Shine:
建议比较一下这块代码在仿真器模式和脱机模式下执行时寄存器,指针等是否一样?
,
erdong chen:
您好,
能否排除是编译器版本的问题造成的呢?
谢谢!
,
Shine:
可以升级一下编译器试试,如果还是这个问题,就不是编译器版本的问题。
,
qiaofeng qiaofeng11:
你好,
你的问题解决了。我这边遇到一个类似的问题。想请教你一下。
谢谢
,
erdong chen:
您好,
我升级了一下编译器版本,最后还是没有解决这个问题,你具体是什么情况,可以互相交流下
谢谢
,
qiaofeng qiaofeng11:
C6000 linker ->advance options -> runtime environment->using RAM
暂时这么处理,那么这个就带来固化程序的麻烦