关于DSP C64X+在CCS5的调试步骤
DSP.com/forum.php?mod=forumdisplay&fid=58" target="_blank" class="relatedlink">CCS从3.3改版为5.X之后, CCS 变化很大。DaVinci芯片中DSP的调试步骤也不同了。这里介绍下在CCS里如何调试DaVinci的DSP核心。
1创建CCS V5版本的project
目前使用的CCS版本是Version:5.2.1.00018,调试器是Wintech的XDS560V2。这里调试的是DM3730中的C64X核,用来检验算法的正确性。
1.1 创建一个project
在菜单栏中点击 File -> New -> CCSProject。
在Project name中输入项目名称 "TIRVIDEO_example"。 Output type中选择 Executable, project会编译一个.out文件,在C64x中运行。 Family中选择C6000系列、Generic C64x+ device。
在Project templates and examples中选择 Empty Project(with main.c)。 最后点击 Finish。
1.2添加.cmd文件
在编译project之前,需要添加cmd文件,用来指定堆、栈等内存的分配情况。DM3730的cmd文件如下:
/****************************************************************************/
/* DM3730.cmd */
/* Copyright (c) 2011 TexasInstruments Incorporated */
/* */
/* Description: This file is a sample linkercommand file that can be */
/* used for linking programsbuilt with the C compiler and */
/* running the resulting .outfile on an DM3730. */
/* Use it as a guideline. You will want to */
/* change the memory layout tomatch your specific */
/* target system. You may want to change the allocation */
/* scheme according to the sizeof your program. */
/* */
/****************************************************************************/
-c
-heap 0x1000000
-stack 0x1000000
MEMORY
{
ISRAM: o = 0x40200000 l= 0x00010000 /* 64kB Internal SRAM */
CS0_SDRAM: o = 0x80000000 l = 0x20000000 /* 512MB of externalmDDR in CS0 */
CS1_SDRAM: o = 0xA0000000 l = 0x20000000 /* 512MB ofexternal mDDR in CS1 */
/* DM3730 EVM */
FLASH: o = 0x20000000 l= 0x10000000 /* 256MB of external NAND FLASH */
}
SECTIONS
{
.text > CS0_SDRAM
.stack > CS0_SDRAM
.bss > CS0_SDRAM
.cio > CS0_SDRAM
.const > CS0_SDRAM
.data > CS0_SDRAM
.switch > CS0_SDRAM
.sysmem > CS0_SDRAM
.far > CS0_SDRAM
.args > CS0_SDRAM
.ppinfo > CS0_SDRAM
.ppdata > CS0_SDRAM
/* TI-ABI sections */
.pinit > CS0_SDRAM
.cinit > CS0_SDRAM
/* EABI sections */
.binit > CS0_SDRAM
.init_array > CS0_SDRAM
.neardata > CS0_SDRAM
.fardata > CS0_SDRAM
.rodata > CS0_SDRAM
.c6xabi.exidx > CS0_SDRAM
.c6xabi.extab > CS0_SDRAM
}
把DM3730.cmd拷贝到TIRVIDEO_example文件夹下, 然后在Project里右键点击Refresh, 就会看到DM3730.cmd已经添加到project中。
1.3 编译project
在project上右键单击选择Build选项, 此时就开始编译了。最后会生成一个 .out文件。这个文件运行在C64x核上。
2 调试程序
这一章主要介绍如何创建target configuration以及在CCS5中如何进行调试 C64x。
2.1 debug之前的准备工作
在调试之前有必要配置project以指定code的运行目标板。因为code是要运行在真实的开发板上,所以要选择emulator。
2.2. 创建一个Target Configuration File
右键点击 project Name并选择 New -> Target Configuration File
给configuration文件命名 TIRVIDEO_example.ccxml, 文件的后缀名为ccxml,点击 Finish。
最后target configuration editor 会被打开。
选择调试器的类型。请根据自己的调试进行选择。我们的调试器类型是Wintech 的XDS560V2。所以在Connection 下来菜单中选择"WintechDigitalXDS560V2 STM USB Emulator"。
在Board or Device中选择"EVMDM3730", 然后点击 "Save" 按钮之后
这个ccxml将会自动的被设置为 Active/Default.
2.3 启动debugger
启动configuration配置。在菜单中点击 view->Target Configurations.
邮件单击目标target选择 Launch Selected Configuration.
之后debugger就会被启动了。 右键单击 master核即 Cortex A8核然后选择 Connect Target。
待Cotex-A8核心连接好以后, 选中A8核心,点击菜单栏中的 Scripts -> IVA2000_Startup -> IVA22_GEM_startup,加载slave核即C64x核的GEL文件。
右键单击C64x核然后选择 Connect Target。
到此, C64x核心连接到调试器,可以下一步的调试了。
2.4 加载程序
步骤如下: 点击菜单 run -> Load-> Load Program。选中生成的.out文件,点击OK, 程序加载完成。
之后可以加载断点、单步调试、查看变量的值。
|
|
|
|