转载自TIE2E中文支持论坛,原文戳我跳转
仿真器连不上板子
1. 如果是TI的EVM/DSK板无法连接仿真器,可以查看对应Processor SDK文档里的hardware setup来检查步骤是否正确。例如下面文档:
Processor SDK RTOS Developer Guide
http://software-dl.ti.com/processor-sdk-rtos/esd/docs/06_01_00_08/rtos/index_examples_demos.html#task-3-hardware-setup
强烈推荐下面的这篇application note,非常详细地介绍了如何安装ccs,如何配置target configuration file,以及如何connect板子,最后debug程序。
A Guide to Debugging With CCS on the DRA75x, DRA74x, TDA2x and TDA3x Family of D (Rev. B)
http://www.ti.com/lit/an/sprac17b/sprac17b.pdf
2. TMDSEVM6678 , TMDSEVM6657板Mezzanine XDS560v2 仿真器连接问题,一般是因为仿真器进入了safe mode,可以通过观察D4, D5, D6等是否同时闪烁来判断是否进入safe mode。另外,Mezzanine XDS560v2仿真器不建议带电插拔。具体可以参考下面的文档和FAQ。
https://processors.wiki.ti.com/images/d/df/Emulator_safemode.pdf
https://www.einfochips.com/wp-content/uploads/2016/04/C6657-Lite-EVM_FAQ.pdf
3. TMS320C6748E加密版本连不上仿真器,需要串口工具先烧写一个代码来解锁JTAG。所以通常在调试阶段用非加密版本的芯片,量产时再用加密版本的芯片替代。
https://processors.wiki.ti.com/index.php/Basic_Secure_Boot_for_OMAP-L138_C6748
参考帖子:
https://e2echina.ti.com/question_answer/dsp_arm/c6000_dsp/f/32/t/102288
https://e2echina.ti.com/question_answer/dsp_arm/c6000_dsp/f/32/p/156264/458601
https://e2e.ti.com/support/processors/f/791/t/431553
4. 自己设计的板子连接不上仿真器,可以从下面几个方面排查:
(1). 检查一下boot mode管脚是否设置成no boot/emulation mode。
(2). 检查一下设备管理器里有没有显示仿真器驱动,确保驱动正确安装并能被识别。
(3). 检查一下target configuration file的驱动有没有选择正确?
(4). 点击target configuration file里的”test connection”按钮,看是否能pass。
(5). 建议手动”connect”板子,不要直接点”debug”按钮launch,便于定位问题。
(6). 试试降低TCLK频率。
(7). 如果芯片上有时钟输出管脚(CLKOUT),可以先测一下CLKOUT管脚有没有时钟输出,看一下dsp本身有没有跑起来。
(8). 测量一下JTAG口管脚的时序是否正确?
(9).交叉测试,用其他好的板子测一下,排除ccs和仿真器的问题。
(10). 检查JTAG电路的连接。
http://dev.ti.com/tirex/explore/node?node=AOi9Jj0vmBMJ0KQKaKITgg__FUz-xrs__LATEST
Flash烧写
1.TMS320C6748 / OMAP-L138烧写
通过串口烧写:
https://processors.wiki.ti.com/index.php/Serial_Boot_and_Flash_Loading_Utility_for_OMAP-L138
通过ccs JTAG烧写,烧写程序在C:\ti\OMAP-L138_FlashAndBootUtils_2_40\OMAP-L138\CCS目录下。
还可以参考下面的文档。
OMAP-L138_FlashAndBootUtils 使用及编译指导
http://www.ti.com.cn/cn/lit/an/zhca481/zhca481.pdf
2. Sitara/K2G系列烧写,用uniflash烧写。
http://software-dl.ti.com/processor-sdk-rtos/esd/docs/latest/rtos/index_board.html#uniflash
3. C66x/K2H/K2L/K2E系列烧写。
http://software-dl.ti.com/processor-sdk-rtos/esd/docs/06_01_00_08/rtos/How_to_Guides.html#flashing-and-boot
4. 其他c55x/c64x/c67x dsp flash烧写,需要根据外接flash datasheet里的clear/erase/program命令自己来写flash烧写程序。
Cache一致性问题
Cache一致性的基本原理可以参考下面的文档。
http://www.ti.com.cn/general/cn/docs/gencontent.tsp?contentId=64183
数据传输时得不到最新的数据,通常是因为cache一致性问题引起的。可以打开memory窗口,输入目的地址,对比勾选/不勾选窗口的L1D, L2,看目的地址的内容是否有变化来判断。或者通过关闭cache来判断。
涉及Cache的简单原则是:CPU访问了buffer,则buffer的数据被Cache,然后EDMA更新数据到buffer,这时CPU是不知道的,CPU再访问Buffer,如果前面Cache进去的地址没有被替换出来,那么就直接从Cache读数据,即旧的数据。所以要确保再次读到的是更新的物理内存的数据,而不是Cache里的数据,那么就要把buffer从Cache invalid,如果数据是有用的,即write back invalid。
https://e2echina.ti.com/question_answer/dsp_arm/omap_l1x/f/54/p/21292/71106
https://e2echina.ti.com/question_answer/dsp_arm/c6000_multicore/f/53/t/117770
https://e2echina.ti.com/question_answer/dsp_arm/c6000_multicore/f/53/t/107150
https://e2echina.ti.com/question_answer/dsp_arm/c6000_multicore/f/53/t/106633
置顶贴STK的编译
例程下载链接:
https://e2echina.ti.com/question_answer/dsp_arm/c6000_multicore/f/53/t/47664
由于置顶贴中使用的sdk是老版本的,对于使用新版psdk的客户来说会出现一些编译报错。
测试前请在CCS中安装pdk_C6678_1_1_2_6
pdk_C6678_1_1_2_6下载链接:
http://software-dl.ti.com/sdoemb/sdoemb_public_sw/bios_mcsdk/02_01_02_06/index_FDS.html
在编译通过之后,load程序会出现No source available for"main()"的报错。
请右击工程->properties->build->debug options 改成 full symbolic debug。
https://e2echina.ti.com/question_answer/dsp_arm/c6000_multicore/f/53/p/181723/550616
其他需要修改的部分参考置顶贴中的详细描述。
KeystoneI DDR3的配置
1、 参考《DDR3 Design Requirements for KeyStone Devices》设计要求完成layout。
http://www.ti.com/lit/an/sprabi1c/sprabi1c.pdf
需要强调的是要满足Net classes中信号等长的规则,建议创建一个电子表格来验证是否满足,附件是layout工具生成的一个表格,给大家提供参考。从表格中可以提取控制器到DRAMs地址/命令/控制信号/时钟信号的走线长度。
8473.Shn_EVM_DDR3_Rules_1201.xls
16 8473.Shn_EVM_DDR3_Rules_1201.xls
(71.5 KB)
|