1. dsp 用什麼編程
用的都是CCS編程。
CCS有兩種工作模式:
1.軟體模擬器模式:可以從DSP晶元中分離出來,在PC上模擬DSP的指令集和工作機制,主要用於前期演算法的實現和調試。
2.硬體在線編程模式:在DSP晶元上實時運行,將應用程序的在線編程和調試與硬體開發板集成。
CCS的開發系統主要由以下組件構成:
1.TMS320C54x集成代碼生成工具;
2.CCS綜合開發環境;
3.DSP/BIOS實時內核插件及其應用程序介面API;
4.實時數據交換RTDX插件及相應的編程介面API;
5.由第三方TI公司對外提供多種應用模塊插件。
(1)dspc編程實例擴展閱讀:
dsp編程中雙重循環、多重循環的優化:
(1)多重循環拆成單層循環,減少循環層數;
例如,雙重循環內一個百cycle只使用了一個乘法器,拆成單層循環後,一個cycle可使用2個乘法器,充分利用DSP乘法器資源,同時運算速度也會加快;
(2)如果循環次數較少,則將其放入外循環;如果循環次數更多,則將其放入內存循環;
(3)二維數組的雙環:二維數組的行循環置於外環,列循環置於內環;
(4)避免循環內的乘除操作:循環內的乘除操作移到循環外,由加法代替。
2. DSP匯編編程
.global start ; 定義全局標號
.sect ".resect"
B start
.text
.bss x,1 ;三個變數各為一個字(16位,非初始化段)
.bss y,1
.bss z,1
.textstart:
ldp #0 ;因下面諸變數使用直接定址,裝載DP值
splk #5,x ;變數賦初值,x=5
splk #6,y ; y=2
lacc x ;將x的值裝載至累加器
add y ;累加器加上y的值
sacl z ;將累加器結果(32位)的低16位存放到變數z
ldp #4 ;直接定址,裝載DP值,頁指針指向片內數據區DARAM B0
splk #1,1 ; 絕對地址201H開始的四個單元存1,2,3,4
splk #2,2
splk #3,3
splk #4,4; 以下使用間接定址將201H開始的4個單元的數
; 轉存到300H開始的4個單元 lar ar0,#201h ; 源起始地址存在輔助寄存器0
lar ar1,#300h ;目的起始地址存在輔助寄存器1
lar ar2,#3 ; 循環計數值為移動數-1
mar *,ar0 ; 設置當前輔助寄存器為ar0loop1: ;開始循環搬移數據
lacc *+,ar1 ;將當前輔助寄存器(ar0);所
;指向的數據內存單元的值裝載到acc,
; ar0加1,設置當前輔助寄存器為ar1
sacl *+,ar2 ; acc低16位存放到當前輔助寄存;器(ar1)指定的單元
ar1加1,設置當前輔助寄存器為ar2
banz loop1,ar0 ; 當前輔助寄存器(ar2)如果不等於0則當前輔助寄 存器(ar2)減1,轉loop1xh: B xh ; 空循環
.end