1. DSP编程技巧到底有什么好资料?
话说专门深入讲解这个的资料并不是太多,因为大部分DSP书籍都是讲解算法或者寄存器是怎么使用的,那尽量罗列一下(如有遗漏请在评论区补充),有:
(1)《DSP C2000程序员高手进阶》
这本书是当年笔者学习DSP的时候看了好几遍的,讲的非常深入、透彻,可惜早就卖光了并且没有再版。需要的网友可以考虑去图书馆看看,图书馆里最不缺少的就是老版本的书籍了。。。
(2)牛人业话
(3)官方资料
最权威的当然还是官方资料,特别是《TMS320C28x Optimizing C/C++ Compiler User’s Guide》和《TMS320C28x Assembly Language Tools User’s Guide》。不足之处就在于,它们都像教科书,严谨有余,活泼不足,特别是初入门的人看起来会比较累。
(4)参加一些培训
好的培训一般都是要付费的,这个要根据自己的实际情况进行取舍了。
2. 答疑解惑哪家强?
经验的积累,除了自己努力的自学之外,有时候一些难关还是得有别人的帮助才行,可能你花3天搞不定的问题,他一看就想起来是什么原因了。如果是企业客户,那直接联系官方技术支持,很容易就搞定了。或者也可以去官方论坛提问,然后等待解答。
前面这两个无关具体技术,但是能起到 “源头”的作用。接下来就是具体的技术问题了,有几十个,我们慢慢来看吧。
3. 作为入门者,创建一个最基本的工程需要做哪些事情?
最简单的入门方法是从现有的例子上入手,比如购买开发板的话,一般都会附送十几到几十个上手用的例子工程,把它们研究一遍,基本上入门这关就过了。对于C2000 DSP的学习来说,先到TI网站上搜索ControlSUITE软件下载安装,里面的入门视频、工程例子和所有的文档资料都是一应俱全的。如果你买书籍来入门的话,和教编程的书籍一样,大部分都还是以“Hello world”作为第一个程序入手,然后运行程序显示在调试窗口中的。
4. 一个定点的C28x起始工程最少需要哪些文件和选项?
1) 编译器选项:-v28 -ml -mt -g -pdr –w
2) 包含main()函数的一个.c或者.cpp程序
3) 实时运行支持库文件rts2800_ml.lib
4) 链接文件(.cmd)和头文件:一个小的入门工程,一般从别的工程里把它们复制过来就好了,比如可以从ControlSUITE软件的目录下找到对应器件的。
5. 一个浮点的C28x起始工程最少需要哪些文件和选项(启用浮点支持)?
1) 编译器选项:-v28 --float_support=fpu32 -ml -mt -g -pdr -w
2) 包含main()函数的一个.c或者.cpp程序
3) 实时运行支持库文件rts2800_fpu32.lib
4) 链接文件(.cmd)和头文件:一个小的入门工程,一般从别的工程里把它们复制过来就好了,比如可以从ControlSUITE软件的目录下找到对应器件的。
6. 包含CLA和VCU的器件,其入门工程需要哪些额外选项?
新器件层次不穷,短短几年时间,包含控制律加速器(CLA)和VCU加速器(用来执行高效 Viterbi、复杂算术运算,16 位快速傅里叶变换 (FFT) 和 CRC 算法)的器件已经有几十种了,而且像CLA、VCU这些技术还在快速地升级中,如果要在代码中用到这些特性,就需要添加--cla_support=cla0和--vcu_support=vcu0这样的选项。
7. 编译器选项有那么多中,典型的配置有哪些?
C28x编译器的选项非常多,我们用了很长的篇幅来讲解它们。作为典型配置的话,对于C28x的CPU来说(通常我们把DSP的架构划分为CPU+外设,更复杂的则还有FPU、CLA、VCU等额外单元),常用的选项如表1所示。
注:如果一个选项没有别名,则代表在使用它的时候直接使用全名,如表1的第二列那样的形式。