[原创]

【工程师年度总结]】 C6000多核主题精选

[复制链接]
2238|23
手机看帖
扫描二维码
随时随地手机跟帖
21ic小喇叭|  楼主 | 2020-2-27 15:10 | 显示全部楼层 |阅读模式
转载自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)

使用特权

评论回复

相关帖子

一路向北lm| | 2020-2-27 18:38 | 显示全部楼层
喇叭姐姐这么好,整理的很棒

使用特权

评论回复
评论
21ic小喇叭 2020-2-28 11:20 回复TA
哈哈感谢 
zhangmangui| | 2020-3-1 20:13 | 显示全部楼层
喇叭呀  我觉得这个内容应该放到TI微控制器&处理器论坛中

使用特权

评论回复
gygp| | 2020-3-4 20:58 | 显示全部楼层
C66x 最快型浮点 DSP  

使用特权

评论回复
chenci2013| | 2020-3-4 20:59 | 显示全部楼层
《TMS320C6000系列DSPs原理与应用》不错。

使用特权

评论回复
biechedan| | 2020-3-4 20:59 | 显示全部楼层
感谢分享的资料。  

使用特权

评论回复
wangdezhi| | 2020-3-4 20:59 | 显示全部楼层
c6000与c6000l效果有 区别吗?   

使用特权

评论回复
xietingfeng| | 2020-3-4 21:00 | 显示全部楼层
c6000 dspc6000.多少钱  

使用特权

评论回复
xietingfeng| | 2020-3-4 21:00 | 显示全部楼层
C6670属于TI公司Keystone系列DSP

使用特权

评论回复
suzhanhua| | 2020-3-4 21:00 | 显示全部楼层
           

使用特权

评论回复
mituzu| | 2020-3-4 21:00 | 显示全部楼层
很全面的资料。      

使用特权

评论回复
hellosdc| | 2020-3-4 21:01 | 显示全部楼层
用c6000芯片dsp做产品  

使用特权

评论回复
uiint| | 2020-3-4 21:01 | 显示全部楼层
《TMS320C6000系列DSP编程工具与指南》  

使用特权

评论回复
gygp| | 2020-3-4 21:01 | 显示全部楼层
谢谢小喇叭分享 地  

使用特权

评论回复
suzhanhua| | 2020-3-4 21:01 | 显示全部楼层
分享的不错的资料呢。   

使用特权

评论回复
xietingfeng| | 2020-3-4 21:01 | 显示全部楼层
《DSP Bootloader for KeyStone Architecture User's Guide》的用户指南  

使用特权

评论回复
mituzu| | 2020-3-4 21:02 | 显示全部楼层
C6000多核以后会用到的。  

使用特权

评论回复
isseed| | 2020-3-4 21:02 | 显示全部楼层
怎么添加c6000系列dsp到ccs4.0  

使用特权

评论回复
hellosdc| | 2020-3-4 21:02 | 显示全部楼层
c6000体系结构复杂的多。      

使用特权

评论回复
wangdezhi| | 2020-3-4 21:02 | 显示全部楼层
TMS320C6000系列和达芬奇系列  

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1104

主题

7317

帖子

149

粉丝