分类: 嵌入式
2011-07-28 19:52:30
在Davinci平台上用CCS调试基于Codec Engine机制的DSP端程序
本文说明在一个ARM+DSP设备(如DM644x)上怎样基于DVEVM套件用CCS调试DSP端程序。
假定用户已经设置好工作环境,例如DSP/BIOS, DSPLink, Codec Engine等,Arm端已经可以通过Codec Engine机制来调用DSP端算法。
不需要修改DSP代码,像通常一样编译(要选择调试模式)。在ARM端,在应用程序调用Engine_open()之后,DSP等待ARM端的请求。用CCS调试DSP端的codec、设置断点,就是在这个时候开始的。
为了确保DSP端的等待,在ARM端应用程序代码中,在Engine_open()之后输入提示信息,例如:
Engine_open( .... );
printf("Hit enter to continue:");
getchar();
当然,我们也可以使用gdb设置断点的方式来实现上面的等待。
板卡断电,连接好仿真器。然后ARM端运行程序,执行到显示提示“Hit enter to continue:”之后,我们开始使用CCS,步骤如下:
1. 启动CCS并打开DSP端的CCS。
2. 选择Debug->connect
3. 选择File->load symbols->load symbols only,再选择dsp端可执行程序(应该有 .x64P 扩展名)
4. 设置断点,根据需要打开其他源文件。
5. 连续运行DSP(按F5)。
在DSP端连续运行起来之后,回到ARM端,根据提示敲下回车键,或者gdb继续运行。