DSP

DSP C语言基础要点

2019-07-13 16:06发布

年初到现在,接触DSP已经半年了,由于公司没有人指导,做了这么久都没出什么大的成果,也走了不少的弯路。以前做单片机用C编过一些程序,个人觉得还可以。现在看来也只是在吃以前在学校里面一些C语言皮毛的老本,加上一些网上说的所谓的技巧什么的结合以前汇编的经验做了一些针对处理器的优化而已,实在“鸡肋”得很。很多东西都没有接触应用到。
   直到接触到DSP,由于使用TI的库文件例程的缘故,对结构体,联合体等有了进一步的了解,也对一个工程变量的使用有了更深的认识。下面对谈谈对DSP C刚入门者的一些建议:
   1.DSP程序的定位配置---CMD文件,要求熟悉DSP的存储器结构。这一部分对接触硬件多一些的新手很容易,其实也就是配置一般的C语言编译器的一部分,比如AVR单片机的头文件,cpu选择等在DSP中就是这一部分完成。另外还要注意TI例程中对加密位,看门狗的处理。

   2.当然是C语言的一些基础了:运算符,优先级,几个基本流程控制语句。这些无论是什么C平台运行都一样的,基础中的基础。但是也很容易因为这些基础的简单的问题,导致一些很郁闷的结果。也是因为对这些基础的概念的理解深入程度影响你的软件思想。

   3.结构体,联合体,位域的运用,最好能有一个对比,了解运用的场合及优缺点。有了这些基础,就很容易明白TI例程的一些基本结构。

   4.变量的作用域以及生存期,这样才能从最初的单个的C文件过渡到C工程,才能更好地了解模块化编程地基本要素,实现基础。

   5.Q格式等的应用,因为大多数DSP都是定点的,而做运算处理的很多时候都不可避免要用到浮点数。使用Q格式才能更好的发挥dsp高速的特性。所以有人说“不会使用Q格式的DSP程序员不是优秀的程序员”!

   6.另外我觉得如果用DSP参与控制的话,最好能熟悉一些面向对象的程序语言,比如C++。要能了解用C实现面向对象的方法。为什么呢?一是面向对象我个人觉得在写程序方面模块化等要好一些,特别是控制领域,我看过一些高手的PLC程序也是采用的面向对象的思想构件模块的,从那以后我的单片机程序才开始这样靠拢,也确实发现了一些好处。比如对那些c流程中多次要操作的资源,有时候会出现一些共用操作的位置错误。二是TI的例程中有好多地方用到了这些思想,要明白这些东西,你才能更容易理解那些例程。这一部分我推荐一本书《DSP C2000程序员高手进阶》。

  7.数据结构知识,DSP要做运算,肯定要涉及到一些好的数据结构。才能更好的优化算法。

  8.matlab的运用。matlab提供了强大的数学运算能力,还能对DSP结合CCS进行仿真。可以把程序员从繁琐的底层编程中解放出来。个人感觉matlab给编程思想和底层程序提供了一个连接,一个平台。     

感觉不错的几本DSP书

TMS320C6000系列DSP编程工具与指南 {b9|r& 
【作  者】 (美)Texas Instruments Incorporated  f ; OmR->  
【译  者】  田黎育 何佩琨 朱梦宇  $ ;(k35p  
【丛 书 名】  TI DSP系列中文手册 ,g?m?t KA  
【出 版 社】  清华大学出版社 @anxE%l?  
【书 号】 7302136157 {l|Hk![S  
【开 本】 185×260 dk*5u~]s  
【页 码】 676 -j/~sdrI  
【出版日期】 2006年9月 RgeNvY-  
gM$ r'4  
TI DSP/BIOS用户手册与驱动开发 y?C5'tR B  
【作  者】 (美)Texas Instruments Incorporated cns#n`  
【译  者】  王军宁;何迪;马娟;胡启龙 5aK||:Yp9  
【丛 书 名】  TI DSP系列中文手册 8/"-G@n  
【出 版 社】  清华大学出版社 a{bGgW 
【书 号】 9787302141242 rkE34hRQ/  
【开 本】 16开 s za6:'zj  
【页 码】 255 J}IEMJI  
【出版日期】 2007年4月 hRxV$mLE  
slGtFbN2  
TMS320 DSP算法标准 iZtH_8A  
【作  者】 (美)Texas Instruments Incorporated D+ jc iu  
【译  者】  徐盛;胡剑凌 KfcD3Bv  
【丛 书 名】  TI DSP系列中文手册 rM8  
【出 版 社】  清华大学出版社 m0?p0 z  
【书 号】 9787302148722 SLDP+TNa  
【开 本】 16开 F@lA'QO8+  
【页 码】 130 mdCEN% P*8  
【出版日期】 2007年4月 +u8LQ G[  
%ljQz-[q  
TMS320C28x系列DSP指令和编程指南 [TtA/ef  
【作  者】 (美)Texas Instruments Incorporated ' ^, S  
【译  者】  刘和平 张卫宁 刘林等  :tj>~-`z  
【丛 书 名】  TI DSP系列中文手册 f"Em9*^B1  
【出 版 社】  清华大学出版社 {jHgdFr0  
【书 号】 7302104387 j^C OS  
【开 本】 185×260 `6R:^'x]B  
【页 码】 483 6%kb0QVh2T  
【出版日期】 2005年3月 o"X,#p<  
y|L.NSGDO  
TMS320C54x系列DSP的CPU与外 6C=7W /  
【作  者】 (美)Texas Instruments Incorporated  4}gb5E1  
【译  者】  梁晓雯 裴小平 李玉虎  vIJBv  
【丛 书 名】  TI DSP系列中文手册 3 z 1 >  
【出 版 社】  清华大学出版社 W yD?|#  
【书 号】 7302132216 mW3='e:Y  
【开 本】 185×260 |#?7,j5  
【页 码】 440 W925 @K~  
【出版日期】 2006年9月 ;L`Jes(j  
mB5e}{FF  
DSP系统的VLSI设计 49 j#Bg  
【作  者】 李哲英  54u-A  
【出 版 社】  机械工业出版社* #GclW-  
【书 号】 9787111204787 d!}ulTf  
【开 本】 16开 ;R&k|"]]  
【页 码】 296 1._@!U  
【出版日期】 2007年2月 )+ 
wTy'4 |2  
DSP C2000程序员高手进阶 .ww7<_$4?a  
【作  者】 王潞钢 陈林康 曾岳南 许贤昶 S"OEP;uA  
【出 版 社】  机械工业出版社 0W`lSM+  
【书 号】 7111152697 g''@5pru  
【开 本】 16开 43OJ|5C(<  
【页 码】 206 7Dr0PJj@G  
【出版日期】 2005年1月