ti公司的tms320f28377使用的跟28035和2806x系列類似的構架,具有cla模組,可以與cpu並行處理資料,可以極大的縮短計算時間。並且在ccs5.2版本以上開放了c語言程式設計功能,相對於之前的cla要求組合語言程式設計,提高了程式設計效率,同時也犧牲了程式執行的效率,使得程式量變大。
我之前使用的cla程式量較少,用的是28377例程裡的cmd分配,編譯時提示放置cla的程式儲存空間不足,我就將之前的0x0800的程式空間擴充到了0x1000,編譯通過,但是程式執行出錯,一直卡在cla裡面,最後定位的問題是雖然我在cmd檔案中擴充了cla的程式儲存空間,但是cla依然只能夠執行0x0800大小的**,也就是分配的空間並沒有用。
問題的解決:檢視datasheet發現,cla部分的程式和資料在ram中的儲存都必須在lsxram位址空間內。我採用的方式是將ls3ram的空間從預設0x0800擴大到0x1800,並且注釋掉ls4ram和ls5ram,避免位址衝突。最關鍵的是,在進行cla初始化時,即使注釋掉了ls4ram和ls5ram,但是這兩個部分的空間仍舊需要被初始化,才能夠被cla使用,問題解決。
**如下:
cla初始化**
memcfgregs.
lsxmsel
.bit
.msel_ls3
= 1;
memcfgregs.
lsxclapgm
.bit
.clapgm_ls3
= 1;
memcfgregs.
lsxmsel
.bit
.msel_ls4
= 1;
memcfgregs.
lsxclapgm
.bit
.clapgm_ls4
= 1;
memcfgregs.
lsxmsel
.bit
.msel_ls5
= 1;
memcfgregs.
lsxclapgm
.bit
.clapgm_ls5
= 1;
C 對C的擴充
int a int b a 宣告b是乙個整型變數a的引用變數 型別可以被 過載 霧 includeusing namespace std template 函式模板 t max t a,t b,t c int main 內建函式是在編譯時,將所呼叫函式的 嵌入到 主函式中。inline int ma...
C 基礎知識擴充
1.net框架的兩個主要部分 答 net framework 類庫 fcl 和 公共語言執行時 clr 2.變數名的命名規則 1 開頭小寫 2 除了美元符號和下劃線以外的特殊符號不能寫 3 不能以數字開頭 3.c 程式執行原理 畫圖 4.舉例說明if和switch選擇結構 if是邏輯判斷語句,此處是...
1 3 C 對C的擴充
asm bool true false wchar t namespace using class public protected private friend this inline virtual throw try catch new delete explicit mutable expo...