導航:首頁 > 源碼編譯 > dsp編譯流程

dsp編譯流程

發布時間:2022-07-28 12:44:23

A. 淺談如何學習DSP軟體開發

對於學習DSP重要的是理清外設的工作 構架,相應的寄存器如何設置,沒有必 要對寄存器花太多的時間去研究,用的 時候能找到(寄存器的名稱都是英文的 縮寫,很好理解的)。學習DSP,先找 本中文教材入個門,之後你會發現好多 地方、尤其是真正要用的,往往也是最 復雜的地方書上都找不到,更談不上做 什麼項目了,這時候就要開始深入研究 Data Sheet,以及官網的源代碼示例 有了之前的中文教材基礎看起來就快多 了;學習DSP重要的不是會編程,而是 演算法的研究(Matlab/Simulnk模擬就不

B. 請問DSP編程軟體是什麼,,應該用什麼編程語言

DSP的編程軟體是CCS開發平台,編程語言一般是C語言。

CCS有兩種工作模式:

1、軟體模擬器模式:可與DSP晶元分離,並在PC上模擬DSP指令集和工作機制,主要用於早期演算法的實現和調試。

2、硬體在線編程模式:可以在DSP晶元上實時運行,結合硬體開發板的在線編程和調試應用程序。

CCS的開發系統主要由以下組件構成:

1、TMS320C54x集成代碼生成工具。

2、CCS集成開發環境。

3、DSP / BIOS實時內核插件及其應用程序介面API。

4、RTDX插件,用於實時數據交換和相應的程序介面API。

5、TI以外的第三方提供的各種應用程序模塊插件。

(2)dsp編譯流程擴展閱讀:

dsp編程中雙重循環、多重循環的優化:

1、將多個循環分成單層循環以減少循環數;

例如,在雙循環中,一個周期僅使用一個乘法器。 分成單層環路後,兩個乘法器可以使用一個周期,充分利用DSP乘法器資源,運算速度也將提高。

2、循環次數少的放在外層循環,循環次數多的放在內存循環;

3、二維數組的雙循環:二維數組的行循環置於外循環,列循環置於內循環;

4、避免在循環內進行乘法和除法運算:將循環內的乘法和除法運算盡可能移至循環外,並用加法代替。

C. DSP學習入門

DSP學習入門:
DSP的特點 :
對於沒有使用過DSP的初學者來說,第一個困惑就是DSP其他的嵌入式處理器究竟有什麼不同,它和單片機,ARM有什麼區別.事實上,DSP也是一種嵌入式處理器,它完全可以完成單片機的功能.。
唯一的重要的區別在於DSP支持單時鍾周期的"乘-加"運算.這幾乎是所有廠家的DSP晶元的一個共有特徵.幾乎所有的DSP處理器的指令集中都會有一條MAC指令,這條指令可以把兩個操作數從RAM中取出相乘,然後加到一個累加器中,所有這些操作都在一個時鍾周期內完成.擁有這樣一條指令的處理器就具備了
DSP功能:
具有這條指令就稱之為數字信號處理器的原因在於,所有的數字信號處理演算法中最為常見的算術操作就是"乘-加".這是因為數字信號處理中大量使用了內積,或稱"點積"的運算.無論是FIR濾波,FFT,信號相關,數字混頻,下變頻.所有這些數字信號處理的運算經常是將輸入信號與一個系數表或者與一個本地參考信號相乘然後積分(累加),這就表現為將兩個向量(或稱序列)進行點積,在編程上就變成將輸入的采樣放在一個循環buffer里,本地的系數表或參考信號也放在一個buffer里,然後使用兩個指針指向這兩個buffer.這樣就可以在一個loop裡面使用一個MAC指令將二者進行點積運算.這樣的點積運算對與處理器來說是最快的,因為僅需一個始終周期就可以完成一次乘加.
了解DSP的這一特點後,當我們設計一個嵌入式系統時,首先要考慮處理器所實現的演算法中是否有點積運算,即是否要經常進行兩個數組的乘加,(記住數字濾波,相關等都表現為兩個數組的點積)如果有的話,每秒要做多少次,這樣就能夠決定是否採用DSP,採用多高性能的DSP了.
浮點與定點 :
浮點與定點也是經常是初學者困惑的問題,在選擇DSP器件的時候,是採用浮點還是採用定點,如果用定點是16位還是32位?其實這個問題和你的演算法所要求的信號的動態范圍有關.
定點的計算不過是把一個數據當作整數來處理,通常AD采樣來的都是整數,這個數相對於真實的模擬信號有一個刻度因子,大家都知道用一個16位的AD去采樣一個0到5V的信號,那麼AD輸出的整數除以2^16再乘以5V就是對應的電壓.在定點DSP中是直接對這個16位的采樣進行處理,並不將它轉換成以小數表示的電壓,因為定點DSP無法以足夠的精度表示一個小數,它只能對整數進行計算.
而浮點DSP的優勢在於它可以把這個采樣得到的整數轉換成小數表示的電壓,並不損失精度(這個小數用科學記數法來表示),原因在於科學記數法可以表示很大的動態范圍的一個信號,以IEEE754浮點數為例,
單精度浮點格式: [31] 1位符號 [30-23]8位指數 [22-00]23位小數
這樣的能表示的最小的數是+-2^-149,最大的數是+-(2-2^23)*2^127.動態范圍為20*log(最大的數/最小的數)=1667.6dB 這樣大的動態范圍使得我們在編程的時候幾乎不必考慮乘法和累加的溢出,而如果使用定點處理器編程,對計算結果進行舍入和移位則是家常便飯,這在一定程度上會損失是精度.原因在於定點處理處理的信號的動態范圍有限,比如16位定點DSP,可以表示整數范圍為1-65536,其動態范圍為20*log(65536/1)=96dB.對於32定點DSP,動態范圍為20*log(2^32/1)=192dB,遠小於32位ieee浮點數的1667.6dB,但是,實際上192dB對絕大多數應用所處理的信號已經足夠了。
由於AD轉換器的位數限制,一般輸入信號的動態范圍都比較小,但在DSP的信號處理中,由於點積運算會使中間節點信號的動態范圍增加,所以主要考慮信號處理流程中中間結果的動態范圍,以及演算法對中間結果的精度要求,來選擇相應的DSP.另外就是浮點的DSP更易於編程,定點DSP編程中程序員要不斷調整中間結果的P,Q值,實際就是不斷對中間結果進行移位調整和舍入.。
DSP與RTOS:
TI的CCS提供BIOS,ADI的VDSP提供VDK,都是基於各自DSP的嵌入式多任務內核.DSP編程可以用單用C,也可以用匯編,或者二者結合,一般軟體編譯工具都提供了很好的支持.我不想在這里多說BIOS,VDK怎麼用這在相應的文檔里說的很詳細.我想給初學者說說DSP的RTOS原理.用短短幾段話說這個復雜的東西也是挑戰!
其實DSP的RTOS和基於其他處理器的通用RTOS沒什麼大的區別,現在幾乎人人皆知的uCOSii也很容易移植到DSP上來,只要把寄存器保存與恢復部分和堆棧部分改改就可以.一般在用BIOS和VDK之前,先看看操作系統原理的書比較好.uCOS那本書也不錯.
BIOS和VDK其實是一個RTOS內核函數集,DSP的應用程序會和這些函數連接成一個可執行文件.其實實現一個簡單的多任務內核並不復雜,首先定義好內核的各種數據結構,然後寫一個scheler函數,功能是從所有就緒任務中(通過查找就緒任務隊列或就緒任務表)找出優先順序最高的任務,並恢復其執行.然後在此基礎上寫幾個用於任務間通信的函數就可以了,比如event,message box,等等.
RTOS一般採用搶先式的任務調度方式,舉例說當任務A等待的資源available的時候,DSP會執行一個任務調度函數scheler,這個函數會檢查當前任務是否比任務A優先順序低,如果是的話,就會把它當前掛起,然後把任務A保存在堆棧里寄存器值全部pop到DSP處理器中(這就是所謂的任務現場恢復).接著scheler還會把從堆棧中取出任務A掛起時的程序執行的地址,pop到PC,使任務A繼續執行.這樣當前任務就被任務A搶先了.
使用RTOS之後,每個任務都會有一個主函數,這個函數的起始地址就是該任務的入口.一般每個任務的主函數里有一個死循環,這個循環使該任務周期地執行,完成一部分演算法模塊的功能,其實這個函數跟普通函數沒任何區別,類似於C語言中的main函數.一個任務創建的時候,RTOS會把這個函數入口地址壓入任務的堆棧中,好象這個函數(任務)剛發生過一次中斷一樣.一旦這個新創建任務的優先順序在就緒隊列中是最高的,RTOS就會從其堆棧中彈出其入口地址開始執行.
有一個疑問是,不使用RTOS,而是簡單使用一個主循環在程序中調用各個函數模塊,一樣可以實現軟體的調度執行.那麼,這種常用的方法與使用RTOS相比有什麼區別呢?其實,使用主循環的方法不過是一種沒有優先順序的順序執行的調度策略而已.這種方法的缺點在於,主循環中調用的各個函數是順序執行的,那麼,即使是一個無關緊要的函數(比如閃爍一個LED),只要他不主動返回,也會一直執行直到結束,這時,如果發生一個重要的事件(比如DMA buffer full 中斷),就會得不到及時的響應和處理,只能等到那個閃爍LED的函數執行完畢.這樣就使整個DSP處理的優先次序十分不合理.而在使用了RTOS之後,當一個重要的事件發生時,中斷處理會進入RTOS,並調用scheler,這時scheler 會讓處理這一事件的任務搶佔DSP處理器(因為它的優先順序高).而哪個閃爍LED任務即使晚執行幾毫秒都沒任何影響.這樣整個DSP的調度策略就十分合理。

D. 小弟剛接觸DSP,別人推薦先從C2000系列開始學習,C2000也有很多系列,不知從哪種開始學習比較好急求

一.什麼是DSP?(預設)
二.DSP的C語言同主機C語言的主要區別?
1)DSP的C語言是標準的ANSI C,它不包括同外設聯系的擴展部分,如屏幕繪圖等。但在CCS中,為了方便調試,可以將數據通過prinf命令虛擬輸出到主機的屏幕上。
2)DSP的C語言的編譯過程為,C編譯為ASM,再由ASM編譯為OBJ。因此C和ASM的對應關系非常明確,非常便於人工優化。
3)DSP的代碼需要絕對定位;主機的C的代碼有操作系統定位。
4)DSP的C的效率較高,非常適合於嵌入系統。

三.DSP發展動態
1.TMS320C2000 TMS320C2000系列包括C24x和C28x系列。C24x系列建議使用LF24xx系列替代C24x系列,LF24xx系列的價格比C24x便 宜,性能高於C24x,而且LF24xxA具有加密功能。 C28x系列主要用於大存儲設備管理,高性能的控制場合。
2.TMS320C3x TMS320C3x系列包括C3x和VC33,主要推薦使用VC33。C3x系列是TI浮點DSP的基礎,不可能停產,但價格不會進一步下調。
3.TMS320C5x TMS320C5x系列已不推薦使用,建議使用C24x或C5000系列替代。
4.TMS320C5000 TMS320C5000系列包括C54x和C55x系列。 其中VC54xx還不斷有新的器件出現,如:TMS320VC5471(DSP+ARM7)。 C55x系列是TI的第三代DSP,功耗為VC54xx的1/6,性能為VC54xx的5倍,是一個正在發展的系列。 C5000系列是目前TI DSP的主流DSP,它涵蓋了從低檔到中高檔的應用領域,目前也是用戶最多的系列。
5.TMS320C6000 TMS320C6000系列包括C62xx、C67xx和C64xx。此系列是TI的高檔DSP系列。 其中C62xx系列是定點的DSP,系列晶元種類較豐富,是主要的應用系列。 C67xx系列是浮點的DSP,用於需要高速浮點處理的領域。 C64xx系列是新發展,性能是C62xx的10倍。
6.OMAP系列 是TI專門用於多媒體領域的晶元,它是C55+ARM9,性能卓越,非常適合於手持設備、Internet終端等多媒體應用。

四.5V/3.3V如何混接?
TI DSP的發展同集成電路的發展一樣,新的DSP都是3.3V的,但目前還有許多外圍電路是5V的,因此在DSP系統中,經常有5V和3.3V的DSP混接 問題。在這些系統中,應注意: 1)DSP輸出給5V的電路(如D/A),無需加任何緩沖電路,可以直接連接。 2)DSP輸入5V的信號(如A/D),由於輸入信號的電壓>4V,超過了DSP的電源電壓,DSP的外部信號沒有保護電路,需要加緩沖,如 74LVC245等,將5V信號變換成3.3V的信號。 3)模擬器的JTAG口的信號也必須為3.3V,否則有可能損壞DSP。

五.為什麼要片內RAM大的DSP效率高?
目 前DSP發展的片內存儲器RAM越來越大,要設計高效的DSP系統,就應該選擇片內RAM較大的DSP。片內RAM同片外存儲器相比,有以下優點: 1)片內RAM的速度較快,可以保證DSP無等待運行。 2)對於C2000/C3x/C5000系列,部分片內存儲器可以在一個指令周期內訪問兩次,使得指令可以更加高效。 3)片內RAM運行穩定,不受外部的干擾影響,也不會干擾外部。 4)DSP片內多匯流排,在訪問片內RAM時,不會影響其它匯流排的訪問,效率較高。

六.為什麼DSP從5V發展成3.3V?
超 大規模集成電路的發展從1um,發展到目前的0.1um,晶元的電源電壓也隨之降低,功耗也隨之降低。DSP也同樣從5V發展到目前的3.3V,核心電壓 發展到1V。目前主流的DSP的外圍均已發展為3.3V,5V的DSP的價格和功耗都價格,以逐漸被3.3V的DSP取代。
七如何選擇DSP的電源晶元?
TMS320LF24xx:TPS7333QD,5V變3.3V,最大500mA。
TMS320VC33: TPS73HD318PWP,5V變3.3V和1.8V,最大750mA。
TMS320VC54xx:TPS73HD318PWP,5V變3.3V和1.8V,最大750mA; TPS73HD301PWP,5V變3.3V和可調,最大750mA。
TMS320VC55xx:TPS73HD301PWP,5V變3.3V和可調,最大750mA。
TMS320C6000: PT6931,TPS56000,最大3A。

八.軟體等待的如何使用?
DSP的指令周期較快,訪問慢速存儲器或外設時需加入等待。等待分硬體等待和軟體等待,每一個系列的等待不完全相同。
1)對於C2000系列: 硬體等待信號為READY,高電平時不等待。 軟體等待由WSGR寄存器決定,可以加入最多7個等待。其中程序存儲器和數據存儲器及I/O可以分別設置。
2)對於C3x系列: 硬體等待信號為/RDY,低電平是不等待。 軟體等待由匯流排控制寄存器中的SWW和WTCNY決定,可以加入最多7個等待,但等待是不分段的,除了片內之外全空間有效。
3)對於C5000系列: 硬體等待信號為READY,高電平時不等待。 軟體等待由SWWCR和SWWSR寄存器決定,可以加入最多14個等待。其中程序存儲器、控製程序存儲器和數據存儲器及I/O可以分別設置。
4)對於C6000系列(只限於非同步存儲器或外設): 硬體等待信號為ARDY,高電平時不等待。 軟體等待由外部存儲器介面控制寄存器決定,匯流排訪問外部存儲器或設備的時序可以設置,可以方便的同非同步的存儲器或外設介面。

九.中斷向量為什麼要重定位?
為了方便DSP存儲器的配置,一般DSP的中斷向量可以重新定位,即可以通過設置寄存器放在存儲器空間的任何地方。 注意:C2000的中斷向量不能重定位。

十.DSP的最高主頻能從晶元型號中獲得嗎?
TI的DSP最高主頻可以從晶元的型號中獲得,但每一個系列不一定相同。
1)TMS320C2000系列:
TMS320F206-最高主頻20MHz。
TMS320C203/C206-最高主頻40MHz。
TMS320F24x-最高主頻20MHz。
TMS320LF24xx-最高主頻30MHz。
TMS320LF24xxA-最高主頻40MHz。
TMS320LF28xx-最高主頻150MHz。
2)TMS320C3x系列:
TMS320C30:最高主頻25MHz。
TMS320C31PQL80:最高主頻40MHz。
TMS320C32PCM60:最高主頻30MHz。
TMS320VC33PGE150:最高主頻75MHz。
3)TMS320C5000系列:
TMS320VC54xx:最高主頻160MHz。
TMS320VC55xx:最高主頻300MHz。
4)TMS320C6000系列:
TMS320C62xx:最高主頻300MHz。
TMS320C67xx:最高主頻230MHz。
TMS320C64xx:最高主頻720MHz。

十一.DSP可以降頻使用嗎?
可以,DSP的主頻均有一定的工作范圍,因此DSP均可以降頻使用。 字串5

十二.如何選擇外部時鍾?
DSP的內部指令周期較高,外部晶振的主頻不夠,因此DSP大多數片內均有PLL。但每個系列不盡相同。
1)TMS320C2000系列:
TMS320C20x:PLL可以÷2,×1,×2和×4,因此外部時鍾可以為5MHz-40MHz。
TMS320F240:PLL可以÷2,×1,×1.5,×2,×2.5,×3,×4,×4.5,×5和×9,因此外部時鍾可以為2.22MHz-40MHz。
TMS320F241/C242/F243:PLL可以×4,因此外部時鍾為5MHz。 TMS320LF24xx:PLL可以由RC調節,因此外部時鍾為4MHz-20MHz。
TMS320LF24xxA:PLL可以由RC調節,因此外部時鍾為4MHz-20MHz。
2)TMS320C3x系列:
TMS320C3x:沒有PLL,因此外部主頻為工作頻率的2倍。
TMS320VC33:PLL可以÷2,×1,×5,因此外部主頻可以為12MHz-100MHz。
3)TMS320C5000系列:
TMS320VC54xx:PLL可以÷4,÷2,×1-32,因此外部主頻可以為0.625MHz-50MHz。
TMS320VC55xx:PLL可以÷4,÷2,×1-32,因此外部主頻可以為6.25MHz-300MHz。
4)TMS320C6000系列:
TMS320C62xx:PLL可以×1,×4,×6,×7,×8,×9,×10和×11,因此外部主頻可以為11.8MHz-300MHz。
TMS320C67xx:PLL可以×1和×4,因此外部主頻可以為12.5MHz-230MHz。
TMS320C64xx:PLL可以×1,×6和×12,因此外部主頻可以為30MHz-720MHz

十三.如何選擇DSP的外部存儲器?
DSP的速度較快,為了保證DSP的運行速度,外部存儲器需要具有一定的速度,否則DSP訪問外部存儲器時需要加入等待周期。
1)對於C2000系列: C2000系列只能同非同步的存儲器直接相接。 C2000系列的DSP目前的最高速度為150MHz。建議可以用的存儲器有:
CY7C199-15:32K×8,15ns,5V;
CY7C1021-12:64K×16,15ns,5V; CY7C1021V33-12:64K×16,15ns,3.3V。
2)對於C3x系列: C3x系列只能同非同步的存儲器直接相接。 C3x系列的DSP的最高速度,5V的為40MHz,3.3V的為75MHz,為保證DSP無等待運行,分別需要外部存儲器的速度<25ns和<12ns。建議可以用的存儲器有:
ROM: AM29F400-70:256K×16,70ns,5V,加入一個等待;
AM29LV400-55(SST39VF400):256K×16,55ns,3.3V,加入兩個等待(目前沒有更快的Flash)

SRAM: CY7C199-15:32K×8,15ns,5V;
CY7C1021-15:64K×16,15ns,5V;
CY7C1009-15:128K×8,15ns,5V;
CY7C1049-15:512K×8,15ns,5V;
CY7C1021V33-15:64K×16,15ns,3.3V;
CY7C1009V33-15:128K×8,15ns,3.3V;
CY7C1041V33-15:256k×16,15ns,3.3V。
3)對於C54x系列: C54x系列只能同非同步的存儲器直接相接。 C54x系列的DSP的速度為100MHz或160MHz,為保證DSP無等待運行,需要外部存儲器的速度<10ns或<6ns。建議可以用的存儲器有:
ROM: AM29LV400-55(SST39VF400):256K×16,55ns,3.3V,加入5或9個等待(目前沒有更快的Flash)。
SRAM: CY7C1021V33-12:64K×16,12ns,3.3V,加入一個等待;
CY7C1009V33-12:128K×8,12ns,3.3V,加入一個等待。
4)對於C55x和C6000系列: TI的DSP中只有C55x和C6000可以同同步的存儲器相連,同步存儲器可以保證系統的數據交換效率更高。
ROM: AM29LV400-55(SST39VF400):256K×16,55ns,3.3V。
SDRAM: HY57V651620BTC-10S:64M,10ns。
SBSRAM: CY7C1329-133AC,64k×32;
CY7C1339-133AC,128k×32。
FIFO:CY7C42x5V-10ASC,32k/64k×18。

十四.DSP晶元有多大的驅動能力?
DSP的驅動能力較強,可以不加驅動,連接8個以上標准TTL門。
十五.調試TMS320C2000系列的常見問題?
1)單步可以運行,連續運行時總回0地址: Watchdog沒有關,連續運行復位DSP回到0地址。
2)OUT文件不能load到片內flash中: Flash不是RAM,不能用簡單的寫指令寫入,需要專門的程序寫入。CCS和C Source Debugger中的load命令,不能對flash寫入。 OUT文件只能load到片內RAM,或片外RAM中。
3)在flash中如何加入斷點: 在flash中可以用單步調試,也可以用硬體斷點的方法在flash中加入斷點,軟體斷點是不能加在ROM中的。硬體斷點,設置存儲器的地址,當訪問該地址時產生中斷。
4)中斷向量: C2000的中斷向量不可重定位,因此中斷向量必須放在0地址開始的flash內。在調試系統時,代碼放在RAM中,中斷向量也必須放在flash內。

十六.調試TMS320C3x系列的常見問題?
1)TMS320C32的存儲器配置: TMS320C32的程序存儲器可以配置為16位或32位;數據存儲器可以配置為8位、16位或32位。
2)TMS320VC33的PLL控制: TMS320VC33的PLL控制端只能接1.8V,不能接3.3V或5V。

十七.如何調試多片DSP?
對 於有MPSD模擬口的DSP(TMS320C30/C31/C32),不能用一套模擬器同時調試,每次只能調試其中的一個DSP; 對於有JTAG模擬口的DSP,可以將JTAG串接在一起,用一套模擬器同時調試多個DSP,每個DSP可以用不同的名字,在不同的窗口中調試。 注意:如果在JTAG和DSP間加入驅動,一定要用快速的門電路,不能使用如LS的慢速門電路。

十八.在DSP系統中為什麼要使用CPLD?
DSP 的速度較快,要求解碼的速度也必須較快。利用小規模邏輯器件解碼的方式,已不能滿足DSP系統的要求。 同時,DSP系統中也經常需要外部快速部件的配合,這些部件往往是專門的電路,有可編程器件實現。 CPLD的時序嚴格,速度較快,可編程性好,非常適合於實現解碼和專門電路。

十九.DSP系統構成的常用晶元有哪些?
1)電源: TPS73HD3xx,TPS7333,TPS56100,PT64xx...
2)Flash: AM29F400,AM29LV400,SST39VF400...
3)SRAM: CY7C1021,CY7C1009,CY7C1049...
4)FIF CY7C425,CY7C42x5...
5)Dual port: CY7C136,CY7C133,CY7C1342...
6)SBSRAM: CY7C1329,CY7C1339...
7)SDRAM: HY57V651620BTC...
8)CPLD: CY37000系列,CY38000系列,CY39000系列...
9)PCI: PCI2040,CY7C09449...
10)USB: AN21xx,CY7C68xxx...
11)Codec:TLV320AIC23,TLV320AIC10...
12)A/D,D/A:ADS7805,TLV2543...
具體資料見

E. DSP如何創建一個新的工程以及編譯

新建工程:
1.路徑,文件名不得包含中文。
2.拷貝文件夾:common,headers.
3.添加cmd文件:common/cmd/28335_RAM_link.cmd headers/cmd/DSP28335_Headers_nonBIOS.cmd
4.必須添加的8個Source文件: common/source/ADC_cal.asm /CodeStartBranch.asm
/Defaultisr.c /PieCtrl.c /PieVect.c /SysCtrl.c /usDelay.asm headers/source/GlobalVariadleDefs.c
5.其他的文件在common/source里按需添加
6.添加自己寫的 .c 文件:放置在工程里
7.右擊工程文件,點擊Build options
設置兩個地方:
1.在Compiler下點擊Advanced->將浮點型庫支持選上(fpu32
點擊Preprocesso填寫頭文件路徑:在Path(-i)下寫:
..\..\DSP2833x_headers\include;..\..\DSP2833x_common\include
2.在link的basic下將Suppress Banner(-q)的復選框勾起設置堆棧的大小:Stack Size(-heap)
設置為0x200 的Libraries 下設置Search path(-i):..\..\DSP2833x_common\include
Inic Libraries: rts2800_fpu32.lib

F. 什麼是DSP編譯環境

[編輯本段]數字信號處理
數字信號處理(Digital Signal Processing,簡稱DSP)是一門涉及許多學科而又廣泛應用於許多領域的新興學科。20世紀60年代以來,隨著計算機和信息技術的飛速發展,數字信號處理技術應運而生並得到迅速的發展。數字信號處理是一種通過使用數學技巧執行轉換或提取信息,來處理現實信號的方法,這些信號由數字序列表示。在過去的二十多年時間里,數字信號處理已經在通信等領域得到極為廣泛的應用。德州儀器、Freescale等半導體廠商在這一領域擁有很強的實力。
[編輯本段]DSP微處理器
DSP晶元DSP(digital signal processor)是一種獨特的微處理器,是以數字信號來處理大量信息的器件。其工作原理是接收模擬信號,轉換為0或1的數字信號,再對數字信號進行修改、刪除、強化,並在其他系統晶元中把數字數據解譯回模擬數據或實際環境格式。它不僅具有可編程性,而且其實時運行速度可達每秒數以千萬條復雜指令程序,遠遠超過通用微處理器,是數字化電子世界中日益重要的電腦晶元。它的強大數據處理能力和高運行速度,是最值得稱道的兩大特色。 DSP微處理器(晶元)一般具有如下主要特點: (1)在一個指令周期內可完成一次乘法和一次加法; (2)程序和數據空間分開,可以同時訪問指令和數據; (3)片內具有快速RAM,通常可通過獨立的數據匯流排在兩塊中同時訪問; (4)具有低開銷或無開銷循環及跳轉的硬體支持; (5)快速的中斷處理和硬體I/O支持; (6)具有在單周期內操作的多個硬體地址產生器; (7)可以並行執行多個操作; (8)支持流水線操作,使取指、解碼和執行等操作可以重疊執行。 當然,與通用微處理器相比,DSP微處理器(晶元)的其他通用功能相對較弱些。 DSP優點: 對元件值的容限不敏感,受溫度、環境等外部參與影響小; 容易實現集成;VLSI 可以時分復用,共享處理器; 方便調整處理器的系數實現自適應濾波; 可實現模擬處理不能實現的功能:線性相位、多抽樣率處理、級聯、易於存儲等; 可用於頻率非常低的信號。 DSP缺點: 需要模數轉換; 受采樣頻率的限制,處理頻率范圍有限; 數字系統由耗電的有源器件構成,沒有無源設備可靠。 但是其優點遠遠超過缺點。
[編輯本段]DSP技術的應用
語音處理:語音編碼、語音合成、語音識別、語音增強、語音郵件、語音儲存等。 圖像/圖形:二維和三維圖形處理、圖像壓縮與傳輸、圖像識別、動畫、機器人視覺、多媒體、電子地圖、圖像增強等。 軍事;保密通信、雷達處理、聲吶處理、導航、全球定位、跳頻電台、搜索和反搜索等。 儀器儀表:頻譜分析、函數發生、數據採集、地震處理等。 自動控制:控制、深空作業、自動駕駛、機器人控制、磁碟控制等。 醫療:助聽、超聲設備、診斷工具、病人監護、心電圖等。 家用電器:數字音響、數字電視、可視電話、音樂合成、音調控制、玩具與游戲等。 生物醫學信號處理舉例: CT機示例CT:計算機X射線斷層攝影裝置。(其中發明頭顱CT英國EMI公司的豪斯菲爾德獲諾貝爾獎。) CAT:計算機X射線空間重建裝置。出現全身掃描,心臟活動立體圖形,腦腫瘤異物,人體軀干圖像重建。 心電圖分析。
基於DSP的智能視頻監控系統
傳統的視頻監視系統是簡單的非智能閉路電視(CCTV)系統,其缺點十分明顯。這樣的系統或者需要安保人員實時監視畫面以捕捉關鍵事件,或者需要在事後對視頻記錄進行回放並進行人工分析,耗時耗力,成本高而效率低。近幾年,DSP在智能視頻監控系統方面的應用不斷完善,正在逐漸取代傳統的模擬非智能系統。 iSuppli公司2006年的一份分析報告曾指出,IP視頻監控系統市場到2010年將增長近十倍。 IP監控的創新技術之一是「智能攝像機」,它擁有強大的數字信號處理器,能探測威脅並觸發自動響應。可見,DSP晶元是智能監控的核心。
基於DSP的語音實時變速系統
在外語多媒體教學中,要求對語速進行快慢控制,以適應不同程度學生的需求。然而,傳統的語音變速產品往往在教師改變語速的同時,也改變了原說話者的語調,不能達到教學的真正目的。因此,語音變速系統應當具備調整語速的同時,還需要保證原說話者語調保持不變的特點。基於DSP(TMS320C5409)的語音實時變速系統能夠任意調整語音語速,達到外語多媒體教學的需求。
[編輯本段]DSP發展軌跡
DSP產業在約40年的歷程中經歷了三個階段:第一階段,DSP意味著數字信號處理,並作為一個新的理論體系廣為流行;隨著這個時代的成熟,DSP進入了發展的第二階段,在這個階段,DSP代表數字信號處理器,這些DSP器件使我們生活的許多方面都發生了巨大的變化;接下來又催生了第三階段,這是一個賦能(enablement)的時期,我們將看到DSP理論和DSP架構都被嵌入到SoC類產品中。」 第一階段,DSP意味著數字信號處理 。 80年代開始了第二個階段,DSP從概念走向了產品,TMS32010所實現的出色性能和特性備受業界關注。方進先生在一篇文章中提到,新興的DSP業務同時也承擔著巨大的風險,究竟向哪裡拓展是生死攸關的問題。當設計師努力使DSP處理器每MIPS成本降到了適合於商用的低於10美元范圍時,DSP在軍事、工業和商業應用中不斷獲得成功。到1991年,TI推出價格可與16位微處理器不相上下的DSP晶元,首次實現批量單價低於5美元,但所能提供的性能卻是其5至10倍。 到90年代,多家公司躋身DSP領域與TI進行市場競爭。TI首家提供可定製 DSP——cDSP,cDSP 基於內核 DSP的設計可使DSP具有更高的系統集成度,大加速了產品的上市時間。同時,TI瞄準DSP電子市場上成長速度最快的領域。到90年代中期,這種可編程的DSP器件已廣泛應用於數據通信、海量存儲、語音處理、汽車電子、消費類音頻和視頻產品等等,其中最為輝煌的成就是在數字蜂窩電話中的成功。這時,DSP業務也一躍成為TI最大的業務,這個階段DSP每MIPS的價格已降到10美分到1美元的范圍。 21世紀DSP發展進入第三個階段,市場競爭更加激烈,TI及時調整DSP發展戰略全局規劃,並以全面的產品規劃和完善的解決方案,加之全新的開發理念,深化產業化進程。成就這一進展的前提就是DSP每MIPS價格目標已設定為幾個美分或更低。
[編輯本段]DSP未來發展
1、數字信號處理器的內核結構進一步改善,多通道結構和單指令多重數據(SIMD)、特大指令字組(VLIM)將在新的高性能處理器中將佔主導地位,如Analog Devices的 ADSP-2116x。ADSP產品 2、DSP 和微處理器的融合: 微處理器是低成本的,主要執行智能定向控制任務的通用處理器能很好執行智能控制任務,但是數字信號處理功能很差。而DSP的功能正好與之相反。在許多應用中均需要同時具有智能控制和數字信號處理兩種功能,如數字蜂窩電話就需要監測和聲音處理功能。因此,把DSP和微處理器結合起來,用單一晶元的處理器實現這兩種功能,將加速個人通信機、智能電話、無線網路產品的開發,同時簡化設計,減小PCB體積,降低功耗和整個系統的成本。例如,有多個處理器的Motorola公司的DSP5665x,有協處理器功能的Massan公司FILU-200,把MCU功能擴展成DSP和MCU功能的TI公司的TMS320C27xx以及Hitachi公司的SH-DSP,都是DSP和MCU融合在一起的產品。互聯網和多媒體的應用需要將進一步加速這一融合過程。 3、DSP 和高檔CPU的融合: 大多數高檔GPP如Pentium 和PowerPC都是SIMD指令組的超標量結構,速度很快。LSI Logic 公司的LSI401Z採用高檔CPU的分支預示和動態緩沖技術,結構規范,利於編程,不用擔心指令排隊,使得性能大幅度提高。Intel公司涉足數字信號處理器領域將會加速這種融合。 4、DSP 和SOC的融合: SOCSOC(System-On-Chip)是指把一個系統集成在一塊晶元上。這個系統包括DSP 和系統介面軟體等。比如Virata公司購買了LSI Logic公司的ZSP400處理器內核使用許可證,將其與系統軟體如USB、10BASET、乙太網、UART、GPIO、HDLC等一起集成在晶元上,應用在xDSL上,得到了很好的經濟效益。因此,SOC晶元近幾年銷售很好,由1998年的1.6億片猛增至1999年的3.45億片。1999年,約39%的SOC產品應用於通訊系統。今後幾年,SOC將以每年31%的平均速度增長,到2004年將達到13億片。毋庸置疑,SOC將成為市場中越來越耀眼的明星。 5、DSP 和FPGA的融合: FPGA是現場編程門陣列器件。它和DSP集成在一塊晶元上,可實現寬頻信號處理,大大提高信號處理速度。據報道,Xilinx 公司的Virtex-II FPGA對快速傅立葉變換(FFT)的處理可提高30倍以上。它的晶元中有自由的FPGA可供編程。Xilinx公司開發出一種稱作Turbo卷積編解碼器的高性能內核。設計者可以在FPGA中集成一個或多個Turbo內核,它支持多路大數據流,以滿足第三代(3G)WCDMA無線基站和手機的需要,同時大大WCDMA無線基站節省開發時間,使功能的增加或性能的改善非常容易。因此在無線通信、多媒體等領域將有廣泛應用。
[編輯本段]Windows系統DSP
DSP版本=授權提供版(Delivery Service Partner),類似於OEM版,比正式版便宜一點。

G. ok5718 中如何運行dsp程序c66X的.out程序文件已經編譯好,Linux下如何輸入命令去

咨詢記錄 · 回答於2021-07-03

H. DSP怎麼燒程序

各種DSP燒寫程序的方法
推薦1、TMS320LF24xx, TMS320LF28xx:
利用CCS裡面自帶的flash burn插件,很容易燒寫。
不必專門編程,只要輸入.out文件即可。

2、TMS320C5x
需要自己手工編寫BootLoader程序,和燒寫flash的程序,有點麻煩。
利用CCS裝載燒寫flash的程序,運行之,寫入flash中。

3、TMS320C62xx(除了C6211)
需要自己手工編寫BootLoader程序,和燒寫flash的程序,非常麻煩。
關於怎樣編寫C62xx的BootLoader程序,凡是我能找到的國內的論文,都是錯誤的,純粹為了騙學位。
利用CCS裝載燒寫flash的程序,運行之,寫入flash中。

4、TMS320C64xx(包括C6211)
需要自己手工編寫BootLoader程序,和燒寫flash的程序,比較麻煩。不過還好,能找到國內的高手請教。
利用CCS裝載燒寫flash的程序,運行之,寫入flash中。

I. DSP程序過長如何編譯

不一樣編譯么?遇到什麼問題?超出存儲空間啦?

J. DSP編譯過程中出現 can not open source file "C:\DOCUM~1\ADMINI~1\LOCALS~1\TEMP\include.if"

出現這個問題的原因是因為你的CCS軟體沒有安裝在所在盤符的根目錄下,最好的解決辦法就是卸載CCS軟體,重新安裝。一定要選擇安裝在根目錄下。

閱讀全文

與dsp編譯流程相關的資料

熱點內容
androidhttpmime 瀏覽:774
威科夫操盤法pdf 瀏覽:981
演算法可以用圖表表示 瀏覽:948
山西太原php 瀏覽:273
常用cmd網路命令 瀏覽:676
hashmap7源碼分析 瀏覽:898
搜索引擎原理技術與系統pdf 瀏覽:361
運動估計演算法python 瀏覽:860
java正則1 瀏覽:538
redhatlinux最新 瀏覽:182
python字典編程詞彙 瀏覽:147
微信和伺服器如何通訊 瀏覽:13
百家號伺服器配置有什麼用 瀏覽:600
怎麼為電腦加密 瀏覽:59
伺服器出現差錯是什麼意思 瀏覽:619
蘋果app移到商店裡怎麼刪掉 瀏覽:257
phpjsphtml 瀏覽:66
吃雞手機國際服伺服器超時怎麼辦 瀏覽:69
努比亞Z5無命令 瀏覽:642
展示網站雲伺服器 瀏覽:872