DSP編程技巧之26---答疑解惑哪家強之(1)
在我們EEPW的牛人業(yè)話欄目里,已經(jīng)連載了25篇有關(guān)于DSP編程技巧的文章。了解了這些技巧,相當于工具已經(jīng)在手,但是每個人都是有一定的學(xué)習(xí)曲線的,工具的使用都是一個熟能生巧的過程,在這一過程中難免有一些疑惑的,所以我們總結(jié)大家在學(xué)習(xí)DSP編程過程中經(jīng)常遇到的問題,做一些集中解惑,希望對大家有所幫助。
本文引用地址:http://butianyuan.cn/article/265103.htm1. DSP編程技巧到底有什么好資料?
話說專門深入講解這個的資料并不是太多,因為大部分DSP書籍都是講解算法或者寄存器是怎么使用的,那盡量羅列一下(如有遺漏請在評論區(qū)補充),有:
(1)《DSP C2000程序員高手進階》
這本書是當年筆者學(xué)習(xí)DSP的時候看了好幾遍的,講的非常深入、透徹,可惜早就賣光了并且沒有再版。需要的網(wǎng)友可以考慮去圖書館看看,圖書館里最不缺少的就是老版本的書籍了。。。
(2)EEPW牛人業(yè)話
我們EEPW首頁的牛人業(yè)話里,已經(jīng)有大量這方面的總結(jié)了,鏈接太多就不一一列舉了,請到http://butianyuan.cn/news/articlelist/type/39中閱讀。
(3)官方資料
最權(quán)威的當然還是官方資料,特別是《TMS320C28x Optimizing C/C++ Compiler User’s Guide》和《TMS320C28x Assembly Language Tools User’s Guide》。不足之處就在于,它們都像教科書,嚴謹有余,活潑不足,特別是初入門的人看起來會比較累。
(4)參加一些培訓(xùn)
好的培訓(xùn)一般都是要付費的,這個要根據(jù)自己的實際情況進行取舍了。
2. 答疑解惑哪家強?
經(jīng)驗的積累,除了自己努力的自學(xué)之外,有時候一些難關(guān)還是得有別人的幫助才行,可能你花3天搞不定的問題,他一看就想起來是什么原因了。如果是企業(yè)客戶,那直接聯(lián)系官方技術(shù)支持,很容易就搞定了。或者也可以去官方論壇提問,然后等待解答。
對于廣大網(wǎng)友來說,直接獲得技術(shù)支持可能有一定的難度。我們EEPW的論壇的人氣充足,對問題的響應(yīng)速度也是迅雷不及掩耳的,所以有關(guān)DSP的問題盡可以到http://forum.eepw.com.cn/forum/29/1下提問。
前面這兩個無關(guān)具體技術(shù),但是能起到 “源頭”的作用。接下來就是具體的技術(shù)問題了,有幾十個,我們慢慢來看吧。
3. 作為入門者,創(chuàng)建一個最基本的工程需要做哪些事情?
最簡單的入門方法是從現(xiàn)有的例子上入手,比如購買開發(fā)板的話,一般都會附送十幾到幾十個上手用的例子工程,把它們研究一遍,基本上入門這關(guān)就過了。對于C2000 DSP的學(xué)習(xí)來說,先到TI網(wǎng)站上搜索ControlSUITE軟件下載安裝,里面的入門視頻、工程例子和所有的文檔資料都是一應(yīng)俱全的。如果你買書籍來入門的話,和教編程的書籍一樣,大部分都還是以“Hello world”作為第一個程序入手,然后運行程序顯示在調(diào)試窗口中的。
4. 一個定點的C28x起始工程最少需要哪些文件和選項?
1) 編譯器選項:-v28 -ml -mt -g -pdr –w
2) 包含main()函數(shù)的一個.c或者.cpp程序
3) 實時運行支持庫文件rts2800_ml.lib
4) 鏈接文件(.cmd)和頭文件:一個小的入門工程,一般從別的工程里把它們復(fù)制過來就好了,比如可以從ControlSUITE軟件的目錄下找到對應(yīng)器件的。
5. 一個浮點的C28x起始工程最少需要哪些文件和選項(啟用浮點支持)?
1) 編譯器選項:-v28 --float_support=fpu32 -ml -mt -g -pdr -w
2) 包含main()函數(shù)的一個.c或者.cpp程序
3) 實時運行支持庫文件rts2800_fpu32.lib
4) 鏈接文件(.cmd)和頭文件:一個小的入門工程,一般從別的工程里把它們復(fù)制過來就好了,比如可以從ControlSUITE軟件的目錄下找到對應(yīng)器件的。
6. 包含CLA和VCU的器件,其入門工程需要哪些額外選項?
新器件層次不窮,短短幾年時間,包含控制律加速器(CLA)和VCU加速器(用來執(zhí)行高效 Viterbi、復(fù)雜算術(shù)運算,16 位快速傅里葉變換 (FFT) 和 CRC 算法)的器件已經(jīng)有幾十種了,而且像CLA、VCU這些技術(shù)還在快速地升級中,如果要在代碼中用到這些特性,就需要添加--cla_support=cla0和--vcu_support=vcu0這樣的選項。
7. 編譯器選項有那么多中,典型的配置有哪些?
C28x編譯器的選項非常多,我們用了很長的篇幅來講解它們。作為典型配置的話,對于C28x的CPU來說(通常我們把DSP的架構(gòu)劃分為CPU+外設(shè),更復(fù)雜的則還有FPU、CLA、VCU等額外單元),常用的選項如表1所示。
注:如果一個選項沒有別名,則代表在使用它的時候直接使用全名,如表1的第二列那樣的形式。
c++相關(guān)文章:c++教程
評論