1. 简介
在产品处于样机测试阶段,或者产品投入到市场上,有可能会偶然出现程序跑飞,或者运行异常的情况。而很多时候这种偶发性的故障很难复现。所以开发者希望通过仿真器去连接正在运行的C2000器件,而C2000也不能复位,以获取当前芯片的运行状态,以判断故障所在。
测试硬件:F28027 launchpad,如果是产品板卡,那么需要仿真器(XDS100/XDS200/XDS510均可)
开发环境:CCSv5及以上
代码及工程:需要保留原始.out文件或者工程
2. 操作步骤
1) 打开CCS及与问题板卡对应的工程。然后点击View-> Target Configuration 调出Target Configuration菜单,打开 Debug Configurations,在.CCXML文件上点击右键-> Properties
2) 设置TargetOptions
打开Target 标签,并进行以下操作:
在 Program/Memory Load options->Connection Options下:
· 取消勾选”Resetthe target on a connect”
· 勾选”Halt thetarget on a connect”
在 Program/Memory Load options下:
· 取消勾选” Restartthe target on a symbol load as well as program load”
在 Auto Run and Launch Options下:
· 勾选”Enablerealtime mode”
点击 Apply对设置进行保存,至此完成了相关设置。
3)CCS设置完成,进行debug
在 Target Configuration 中右键单击配置好的 CCXML 文件,并选择 LaunchSelected Configuration,进入 Debug界面。
4) 进入 Debug界面后,选择 Run->Load->Load Symbols,加载编译生成的.out文件。
5) 加载完成后,点击Run->Connect Target,连接仿真器,正在运行的器件会被halt。这时候可以在工程文件中看到程序执行的位置以及相关参数值,进而分析系统故障所在。如果没有工程文件的话,那么也可以观察变量和PC值。
3. 注意事项
1) Load Program: 将会把程序加载到芯片中,并将 debug 所需的 debug symbols 加载到 CCS debugger中。Load Symbols: 只将 debug所需的 debug symbols加载到 CCS debugger中。