经过漫长的探索之后,博主发现关于TI的板子调试和开发要遵循的规律,称其为潜规则也不为过。
1、文档
文档是程序的基础,是思想和灵魂,所以文档的阅读必须认真,但由于所有的TI文档都是英文,非英语母语者读起来非常不通畅。我说说我的方法:使用谷歌翻译。不是硬着头皮逐句看,看不懂了再翻译,这非常耗费时间,往往看了后面忘了前面。我给出的方法是大段翻译,直接粘贴到谷歌翻译中,在遇到晦涩的部分时再去细看英文,这样效率就会高起来。2、例程
以SRIO调试为例,我在调试SRIO时的初始目标就是使SRIO两端的设备能互相读写,初期看完SRIO文档后一头雾水,多亏北航学长给了SRIO_Read代码之后我渐渐明白,我们所要调试的大部分工作官方例程都帮我们做了,我们要做的只是明白官方例程做了什么,和我们需要增加哪些东西就够了。例程一般就在你的TI安装目录下的形如PDK6678的文件夹中。如果找不到可以去官方论坛搜索。3、实践(调试)
程序最终是要在板子上跑起来的,所以在写好程序并不确定程序的功能能不能实现后,最好的办法是在板子上进行在线调试,不要因为怕麻烦而使用SIMLATOR进行仿真,这种软件仿真的意义在于调通算法,而不是调通硬件板卡,所以硬件调试必须上板,不然就是纸上谈兵。
以上就是我的一些学习经验,分享出来,也是对自己以后学习DSP的一个指导思想。
下面开始正题。
DSP端参数设置
我们所使用的FPGA+DSP是:K7325t+TI6678。FPGA端的情况我不太了解,是我师兄做的,所以我的这个系列的博客只说DSP的配置。
使用的官方例程路径:
ti\pdk_C6678_1_1_2_5\packages\ti\transport\ipc\examples\srioIpcBenchmark\device_srio.c
port mode(port模式)
SRIO通道有自回环(loopback)模式和普通模式(Normal),要使用SRIO实现FPGA和DSP的通信,必须将各port调至Normal模式,即:
/* Configure SRIO to operate in loopback mode.(原始例程代码)*/
// CSL_SRIO_SetLoopbackMode(hSrio,0);
// CSL_SRIO_SetLoopbackMode(hSrio,1);
// CSL_SRIO_SetLoopbackMode(hSrio,2);
// CSL_SRIO_SetLoopbackMode(hSrio,3);
/* Configure SRIO to operate in normal mode.(修改后例程代码) */
CSL_SRIO_SetNormalMode(hSrio,0);
CSL_SRIO