直到接触到DSP,由于使用TI的库文件例程的缘故,对结构体,联合体等有了进一步的了解,也对一个工程变量的使用有了更深的认识。下面对谈谈对DSP C刚入门者的一些建议:
- DSP程序的定位配置——CMD文件,要求熟悉DSP的存储器结构。这一部分对接触硬件多一些的新手很容易,其实也就是配置一般的C语言编译器的一部分,比如AVR单片机的头文件,cpu选择等在DSP中就是这一部分完成。另外还要注意TI例程中对加密位,看门狗的处理。
- 当然是C语言的一些基础了:运算符,优先级,几个基本流程控制语句。这些无论是什么C平台运行都一样的,基础中的基础。但是也很容易因为这些基础的简单的问题,导致一些很郁闷的结果。也是因为对这些基础的概念的理解深入程度影响你的软件思想。
- 结构体,联合体,位域的运用,最好能有一个对比,了解运用的场合及优缺点。有了这些基础,就很容易明白TI例程的一些基本结构。
- 变量的作用域以及生存期,这样才能从最初的单个的C文件过渡到C工程,才能更好地了解模块化编程地基本要素,实现基础。
- Q格式等的应用,因为大多数DSP都是定点的,而做运算处理的很多时候都不可避免要用到浮点数。使用Q格式才能更好的发挥dsp高速的特性。所以有人说“不会使用Q格式的DSP程序员不是优秀的程序员”!
- 另外我觉得如果用DSP参与控制的话,最好能熟悉一些面向对象的程序语言,比如C++。要能了解用C实现面向对象的方法。为什么呢?一是面向对象我个人觉得在写程序方面模块化等要好一些,特别是控制领域,我看过一些高手的PLC程序也是采用的面向对象的思想构件模块的,从那以后我的单片机程序才开始这样靠拢,也确实发现了一些好处。比如对那些c流程中多次要操作的资源,有时候会出现一些共用操作的位置错误。二是TI的例程中有好多地方用到了这些思想,要明白这些东西,你才能更容易理解那些例程。这一部分我推荐一本书《DSP C2000程序员高手进阶》。
- 数据结构知识,DSP要做运算,肯定要涉及到一些好的数据结构。才能更好的优化算法。
- matlab的运用。matlab提供了强大的数学运算能力,还能对DSP结合CCS进行仿真。可以把程序员从繁琐的底层编程中解放出来。个人感觉matlab给编程思想和底层程序提供了一个连接,一个平台。
感觉不错的几本DSP书
TMS320C6000系列DSP编程工具与指南
【作 者】 (美)Texas Instruments Incorporated
【译 者】 田黎育 何佩琨 朱梦宇
【丛 书 名】 TI DSP系列中文手册
【出 版 社】 清华大学出版社
【书 号】 7302136157
【开 本】 185×260
【页 码】 676
【出版日期】 2006年9月
TI DSP/BIOS用户手册与驱动开发
【作 者】 (美)Texas Instruments Incorporated
【译 者】 王军宁;何迪;马娟;胡启龙
【丛 书 名】 TI DSP系列中文手册
【出 版 社】 清华大学出版社
【书 号】 9787302141242
【开 本】 16开
【页 码】 255
【出版日期】 2007年4月
TMS320 DSP算法标准
【作 者】 (美)Texas Instruments Incorporated
【译 者】 徐盛;胡剑凌
【丛 书 名】 TI DSP系列中文手册
【出 版 社】 清华大学出版社
【书 号】 9787302148722
【开 本】 16开
【页 码】 130
【出版日期】 2007年4月
TMS320C28x系列DSP指令和编程指南
【作 者】 (美)Texas Instruments Incorporated
【译 者】 刘和平 张卫宁 刘林等
【丛 书 名】 TI DSP系列中文手册
【出 版 社】 清华大学出版社
【书 号】 7302104387
【开 本】 185×260
【页 码】 483
【出版日期】 2005年3月
TMS320C54x系列DSP的CPU与外
【作 者】 (美)Texas Instruments Incorporated
【译 者】 梁晓雯 裴小平 李玉虎
【丛 书 名】 TI DSP系列中文手册
【出 版 社】 清华大学出版社
【书 号】 7302132216
【开 本】 185×260
【页 码】 440
【出版日期】 2006年9月
DSP系统的VLSI设计
【作 者】 李哲英
【出 版 社】 机械工业出版社
【书 号】 9787111204787
【开 本】 16开
【页 码】 296
【出版日期】 2007年2月
DSP C2000程序员高手进阶
【作 者】 王潞钢 陈林康 曾岳南 许贤昶
【出 版 社】 机械工业出版社
【书 号】 7111152697
【开 本】 16开
【页 码】 206
【出版日期】 2005年1月