DSP該怎樣學(xué)
我原先用的是AVR,然后到STM32,進(jìn)入公司之后開始用TI C2000系列DSP直到現(xiàn)在。
本文引用地址:http://butianyuan.cn/article/184723.htm下面就結(jié)合TI的DSP說開來!
關(guān)于DSP和普通51 AVR還有STM32的區(qū)別:
DSP是為運(yùn)算而生的芯片,他最強(qiáng)大的地方就在與它的數(shù)**算性能,那是由它的指令集支持的。那些拿DSP和STM32比較的,省省吧,如果你兩者都熟悉你就知道根本沒啥好比的,如果我需要很多高級(jí)的接口,比如以太網(wǎng)和USB,那么我自然選STM32,如果我需要實(shí)現(xiàn)一些算法,那肯定會(huì)選DSP。如果你對(duì)運(yùn)算速度不敏感,反正72M的速度已經(jīng)比原先單片機(jī)快很多了,那當(dāng)然是看你熟悉哪個(gè),哪個(gè)價(jià)格比較好,支持比較好。
從51 AVR到DSP最大的障礙:
1、應(yīng)該是編譯環(huán)境吧,TI的DSP都用的是CCS,CCS界面和原先IAR區(qū)別不是一般的大,比如程序?qū)?,比如觀察變量,比如燒寫FLASH。恩,是的。用過了IAR那種傻瓜化的操作了之后,真是怎么弄怎么別扭,CCS真是太不友好了。但是沒辦法,IAR他們是專門做編譯軟件的,TI主要是做DSP的,TI也意識(shí)到這個(gè)問題了,所以現(xiàn)在推出的CCSV4好像在這方面有很大的加強(qiáng)。不過網(wǎng)上還是CCS3.3的資料最多,大家也熟悉,如果剛接觸還是先用CCS3.3為好。
如果你手頭有快開發(fā)板,那里面應(yīng)該有對(duì)這些操作的詳細(xì)說明。所以這個(gè)慢慢應(yīng)該也可以熟悉。
2、庫(kù)文件。TI的庫(kù)文件都是聯(lián)合+結(jié)構(gòu)+位域的形式。對(duì)這些結(jié)構(gòu)不是非常熟悉的話可能看著有點(diǎn)暈,這個(gè)只能慢慢去看C的書。最納悶的可能就是它的地址映射,如何把寄存器映射到相應(yīng)的地址,那是它由編譯器來支持的主要通過#PROGRM來實(shí)現(xiàn),可以去看看它的CMD文件
3、CMD,CMD文件可能是入門最大的一個(gè)坎了,單片機(jī)或者ARM根本就沒這么一說,這破東西到底啥用吶?CMD文件主要作用就是用來做內(nèi)存分配,你的芯片里面有FLASH有RAM有BOOT ROM,你編寫的程序有代碼,要燒到FLASH中,有全局變量要存到RAM的全局變量區(qū)域,有局部變量,要存到堆棧中。CDM文件其實(shí)就是把你代碼中的這些一塊一塊的東西和具體的硬件存儲(chǔ)對(duì)應(yīng)起來。你可以隨你需要任意來配置,比如我有一個(gè)數(shù)據(jù)表格,普通的單片機(jī)你定義好了之后會(huì)有編譯器來幫你存放到一個(gè)地方,但是DSP里面你可以通過配置CMD把它放在你認(rèn)為合適的地方。再比如堆??臻g的大小,以前從來沒關(guān)心過堆棧大小,但是開辟的太大的話可能浪費(fèi)內(nèi)存空間。當(dāng)然,每個(gè)芯片都有一個(gè)標(biāo)準(zhǔn)的CMD文件,初學(xué)者完全可以不用去修改它。
4、文檔。TI的文檔包括數(shù)據(jù)手冊(cè)和外設(shè)指南,很多人說很亂,不像其它芯片,所有外設(shè)的資料都會(huì)放在一起,但是TI會(huì)每個(gè)外設(shè)弄一個(gè)。這就要說說TI的外設(shè),它的外設(shè)都非常專業(yè),是的專業(yè)。比如它的PWM外設(shè),叫ePWM,也就是增強(qiáng)型的PWM,這個(gè)外設(shè)可以輕松輸出非常復(fù)雜的PWM波形,而且不用CPU參與。所以它的外設(shè)指南有100多頁(yè),你會(huì)發(fā)現(xiàn)很多外設(shè)都是這樣,里面有很多很多增強(qiáng)的功能,相對(duì)應(yīng)的它的說明文檔也就非常長(zhǎng)。要是全部都集合在一起那就會(huì)非常的大。而且它的每個(gè)外設(shè)都是有獨(dú)立版本的,比如ADC,已經(jīng)從0版到3版,而ePWM還是1版,分開之后升級(jí)的維護(hù)會(huì)方便很多,很多外設(shè)在類似的芯片都是一樣的。
用STM32的時(shí)候我從來沒看懂過它的庫(kù),甚至都沒仔細(xì)看過它的手冊(cè)。但是最后也搞出來了,完了之后我對(duì)這塊芯片沒多少熟悉的感覺。但是用C2000系列的DSP的時(shí)候則要反反復(fù)復(fù)的去看外設(shè)指南,分析手冊(cè)上給出的結(jié)構(gòu),讓我對(duì)芯片非常熟悉,再加上它的編譯環(huán)境是完全可以配置的,我甚至都知道我某個(gè)變量會(huì)在哪個(gè)地方。
評(píng)論