1、 不影響執(zhí)行速度的情況下,可以使用c或c/c++語言提供的函數(shù)庫,也可以自己設計函數(shù),這樣更易于使用“裁縫師”優(yōu)化處理,例如:進行絕對值運算,可以調(diào)用fabs()或abs()函數(shù),也可以使用if...else...判斷語句來替代。
2、 要非常謹慎地使用局部變量,根據(jù)自己項目開發(fā)的需要,應盡可能多地使用全局變量和靜態(tài)變量。
3、 一定要非常重視中斷向量表的問題,很多朋友對中斷向量表的調(diào)用方式不清楚。其實中斷向量表中的中斷名是任意取定的,dsp是不認名字的,它只認地址!!中斷向量表要重新定位。這一點很重要。
4、 要明確dsp軟件開發(fā)的第一步是對可用存儲空間的分析,存儲空間分配好壞關系到一個dsp程序員的水平。對于dsp,我們有兩種名稱的存儲空間,一種是物理空間,另一種是映射空間。物理空間是dsp上可以存放數(shù)據(jù)和程序的實際空間(包括外部存儲器),我們的數(shù)據(jù)和程序最終放到物理空間上,但我們并不能直接訪問它們。我們要訪問物理空間,必須借助于映射空間才行!!但是映射空間本身是個“虛”空間,是個不存在的空間。所以,往往是映射空間遠遠大于實際的物理空間,有些映射空間,如io映射空間,它本身還代表了一種接口。只有那些物理空間映射到的映射空間才是我們真正可訪問(讀或?qū)懀┑拇鎯臻g。
5、 盡可能地減少除法運算,而盡可能多地使用乘法和加法運算代替。
6、 如果ti公司或第三方軟件合作商提供了dsplib或其他的合法子程序庫供調(diào)用,應盡可能地調(diào)用使用。這些子程序均使用用匯編寫成,更為重要之處是通過了tms320算法標準測試。而且,常用的數(shù)字信號處理算法均有包括??!
7、 盡可能地采用內(nèi)聯(lián)函數(shù)?。《挥靡话愕暮瘮?shù)??!可以提高代碼的集成度。
8、 編程風格力求簡煉??!盡可能用c語言而不用c++語言。我個人感到雖然c++終代碼長了一些,好像對執(zhí)行速度沒有影響。
9、 因為在c5000中double型和float型均占有2個字,所以都可以使用,而且,可以直接將int型賦給float型或double型,但,盡可能地多使用int數(shù)據(jù)類型代替!這一點需要注意??!
10、 程序最后至少要加上一個空行,編譯器當這個空行為結(jié)尾提示符。
11、 大膽使用位運算符,非常好用??!
12、 2003年6月份從ti的網(wǎng)站上下到了關于tms320c67x系列dsp的快速算法庫,于是,tms320c5000和c6000全系列的快速算法庫都問世了,這些算法庫均可供c/c++語言直接調(diào)用,優(yōu)化程度100%,實際編程時盡可能地使用(下載時可以同時下載到說明文檔和ascii源程序,可以根據(jù)自己需要作出修改,修改前最好做個備份)。
評論