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