仔細思考一下這個問題!帶著疑問進行下面的解答。
首先我們已經有了配置好的暫存器資料,這個時候我們需要把配置好的暫存器資料傳遞給實際的物理暫存器中,這樣晶元才
能根據我們想 要的功能進行工作。這裡分兩個步驟進行:
第一步:將暫存器檔案分配到資料空間的某個資料段中。
第二步:在cmd檔案中將這個資料段直接對映到對外設暫存器所找的儲存空間。
cmd檔案主要有兩個主要作用:指示儲存空間和分配「段」到儲存空間。
我們在使用ti晶元的時候ti官網提供給我們的有通用的cmd檔案,但是當我們做專案時,因為需求的不一樣,我們的程式偏重點也
會不同。如果在程式中我們定義的全域性變數比較多,超過了原本定義的段的大小,這個時候就需要更改這個段的大小,對其他用的不
多的段的大小適當 的縮小一些。
目標檔案中的位置的分配方法進行配置的乙個檔案,也就是對每一段程式或者資料存放的位置和空間進行劃分。
引入「段」的定義:段在我看來是把程式模組化規範化在顧衛鋼的手把手教你學dsp書上有一段話對段的用處的描述如下:使用段的好處是鼓勵模組化程式設計,提供更強大而
又靈活的方法來管理**和目標系統的儲存空間。這裡的模組化程式設計的意思是指程式設計師可以自由決定願意把哪**歸屬
到哪些段,然後加以不同的處理。
#pragma code_section(symbol,"section name"); 定義**段。存放在程式空間
#pragma data_section(symbol,"section name"); 定義資料段,存放在資料空間
DSP28335 外設時鐘
tms320f28335通過外部時鐘訊號 osc和pll產生倍頻時鐘訊號clkin後,clkin經過cpu後產生時鐘sysclkout clkin和sysclkout頻率是一樣的 sysclkout給各個片內外設提供時鐘訊號。為了實現低功耗和提供高低頻率時鐘訊號,需要把sysclkout進一步分頻,...
DSP28335系統時鐘
鎖相環是一種控制晶振使其下你跟對於參考訊號保持恆定的電路。主要作用是通過軟體實時配置片上外設時鐘 譬如當30mhz的oscclk訊號經鎖相環倍頻後,倍頻倍數可通過pllcr div 設定,可設定為10,經過pll後的訊號變為300mhz,因為28335的時鐘頻率為150mhz,所以需要將pllsts...
DSP28335進入非法中斷
進入非法中斷是因為cpu核心讀到了非法指令,之所以會讀到非法指令,一般是因為程式跑飛。程式跑飛不一定是軟體問題,硬體上的時鐘電源不穩定也會導致這個問題。1.程式中是否使用了delay us 函式,如果是,是否已經copy到ram中?2.檢查是否開了足夠的stack空間?3.進入程式後,先單步執行,看...