打印

【分享】+TI——Misc 问题汇总

[复制链接]
28733|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
wsdymg|  楼主 | 2013-12-24 09:35 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
1. 将MCSDK相关例程导入后编译不通过,可能都有哪些原因导致?
答:工程编译出错的原因很多,下面列出两点通用的原因,具体问题还得具体分析:
a)由于工程中可能使用绝对路径,所以工程更换路径后需要作出相应修改,可以通过project->properties->CCS Build->C6000 Compiler->include options下面的include search path确认是否符合当前工程的头文件所在路径;如果在工程中包含lib,则需要同时确认修改C6000 linker->file search path中的library search path;
b) 工程中可能使用link的方式加入源文件,所以在工程路径变更后,源文件路径可能变化,此时需要将link的源文件从工程中删除,然后将文件拖到工程中选择link即可。
2. 在进行程序性能测试时, 发现运行cycle很长,可能的原因有哪些?
答:a) 在工程中加入正确的PLL及DDR初始化配置,可以加入gel文件,也可在源文件中加入相应初始化代码;
b) 使能cache配置,包括配置L1/L2 cache,数据存放的memory通过配置MAR寄存器使能cache;
c) 尽可能将常用的大块数据放在LL2,降低数据读写时延;
d) 修改optimization level为-o3。
关于各函数的性能分析可以使用如下链接的工具,对于关键的算法代码可以参考C6000优化手册。
C6000 function profile tool:http://www.deyisupport.com/quest ... e/f/53/t/25048.aspx
C6000优化入门指南:http://www.deyisupport.com/quest ... e/f/53/t/19044.aspx
3. 使用MCSDK中的IPC进行核间通信测试时, 发现核间通信时间很长,该如何解决, TI推荐的核间通信方式有哪些?
答:a) 首先确认时延测试方法的正确性,需要确认记录时间点基准一致,如在保证发送和接收core同步的基础上,记录发送和接收时间点;
b) 核间通信的方法有很多,如shared memory、semaphore、IPC register、QMSS等,前三种方法相对简单,但是各有限制,相对来说QMSS灵活性更高,容错性更高,所以QMSS是Keystone中推荐的一种常用核间通信的方式。
4. TI EVM都有IBL,这个IBL的作用是什么, 是否所有的Keystone板子设计都需要EEPROM,并且在上面烧写IBL呢?
答:EVM上存在IBL主要有两个作用:a)解决C667x PG1.0芯片中PLL unlock的问题,具体可参考Errata Advisory8,即首先进入IBL对PLL进行重配并lock,之后再跳转到二级boot;b)支持Norflash、Nandflash及Ethernet二级boot。在设计板子时,如果不需要二级boot,则EEPROM及IBL不是必须的;考虑到C667x PG1.0 PLL Unlock的问题,建议在设计时带上EEPROM。
5. Keystone 对CVDD的参考电压设计都要求smartreflex,如果对功耗要求没有那么严格,是否可以使用固定电压供电呢?
答:从芯片的功耗、寿命及稳定性考虑,推荐使用smartreflex。如果使用固定电压供电,当电压低于smart reflex 要求的电压,芯片不一定能正常工作。 当电压高于CVDD额定电压,不仅芯片的功耗可能会急剧上升,也不排除芯片可能出现不可预知的问题。关于smartreflex推荐参考方案,一种是如EVM使用UCD,还有一种是使用LM10011+TPS的方案:http://www.ti.com/tool/pmp7256
6. 对于多核编程,每个核可以运行不同的程序,如果多核运行同一个程序,对于不同的核该如何区分代码和私有变量呢?
答:多核编程时,对于代码段可以将共享代码放在共享memory,代码中通过DNUM区分核;对于数据段,堆栈必须每个核私有,全局私有变量,可以通过MPAX单元配置达到各核看到相同的逻辑地址但是对应不同的私有物理地址。具体可以参考multicore program guide:http://www.ti.com/lit/an/sprab27b/sprab27b.pdf
7. JTAG连接不上目标板怎么办?
A: JTAG连接不上目标板,有可能是硬件信号有问题,也有可能是软件配置不对。 下面这个WIKI网页总结了各种连接问题以及调试方法:
http://processors.wiki.ti.com/in ... nnectivity_Problems
8. DSP死机了,有哪些手段去查找原因?
A:DSP死机主要分以下几种场景:
1)       出现死机时,仿真器不能连接上DSP,也不能通过外设对DSP进行访问。
2)       出现死机时,仿真器不能连接上DSP,但还可以通过外设(PCIe,SRIO等)对DSP进行内存访问
3)       出现死机时,仿真器能连接上DSP进行调试。这种情况下,通常是代码跑飞了,DSP core并没有跑死。
对于场景1, 最有效的方法还是检查代码,比较出错版本和正常版本之间的差异,找出可疑点进行分析。
另外,可以并将DDR设置成self-refresh模式, 把一些调试信息记录到DDR。 死机后,复位 DSP, 但不要重新初始化DDR,这时候通常可以从DDR中读到上一次死机记录的信息进行分析。
对于场景2和场景3,可以分别用外设和仿真器进行调试信息的分析。


相关帖子

沙发
kekeke| | 2014-5-31 10:41 | 只看该作者
谢谢分享!

使用特权

评论回复
板凳
smilingangel| | 2014-5-31 12:02 | 只看该作者
JTAG连接不上目标板怎么办?
A: JTAG连接不上目标板,有可能是硬件信号有问题,也有可能是软件配置不对。 下面这个WIKI网页总结了各种连接问题以及调试方法:
http://processors.wiki.ti.com/in ... nnectivity_Problems

使用特权

评论回复
地板
smilingangel| | 2014-5-31 12:03 | 只看该作者
这个问题很普遍的,就多研究研究的吧

使用特权

评论回复
5
huangfeng33| | 2014-11-26 15:23 | 只看该作者
自己做的DSP为什么总是容易死机呢?

使用特权

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

本版积分规则

25

主题

267

帖子

6

粉丝