DSP28377擴充CLA程式空間的問題

2021-08-14 09:55:05 字數 1035 閱讀 3376

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...