![]() |
4 系統軟件設計
4.1 DSP的軟件開發
TMS320C6000軟件開發的一切過程都可在CCS集成環境下進行,包括項目的建立、源代碼的編輯以及程序的編譯和調試。圖4所示是TMS320C6000的軟件開發流程圖。其中黑體部分是開發C代碼的常規流程,其它功能可用于輔助和加速軟件開發過程。
![]() |
該CCS能對用戶開發的源代碼進行優化。目的是縮短代碼長度并提高代碼執行效率。其中,C優化器對C源代碼進行優化,所進行的優化包括針對C代碼的一般優化和針對C6000的優化,如重新安排語句和表達式、把變量分配給寄存器、打開循環和模塊級優化(把若干個文件組成1個模塊進行優化)等。C優化器完成的最重要的優化處理是軟件流水(software pipeline)。軟件流水是專門針對循環代碼的一種優化技術,利用軟件流水可以生成非常緊湊的循環代碼,這也是C6000的C編譯器能夠達到較高編譯效率的主要原因。
匯編優化器是C6000代碼產生工具內極具特色的一部分。它在DSP業界首創了對線性匯編代碼自動進行優化的技術。線性匯編語言是為簡化C6000匯編語言程序的開發而設計的,它不是獨立的編程語言。它可用用戶編寫的線性匯編代碼作為輸入,同時產生一個標準匯編代碼作為輸出。與C6000的標準匯編語言相比,采用線性匯編不需要考慮并行指令安排、指令延遲和寄存器,而由匯編優化器自動完成,其所產生的代碼效率可以達到人工編寫代碼效率的95%-100%,同時還可以降低編程工作量,縮短開發周期。
C6000程序的調試和仿真有兩種模式:軟件仿真和硬件仿真。軟件仿真時,其程序的執行完全靠主機上的仿真軟件模擬,程序單步或者運行的結果都是仿真軟件“計算”出來的。而硬件仿真需要目標板。仿真程序利用開發系統將代碼下載到DSP,程序是在芯片上直接運行的。仿真軟件只是把運行結果讀出來顯示。軟件仿真無需目標板就可以開始軟件編程,但仿真速度較慢,而且無法仿真某些外設的功能。硬件仿真的優點是仿真速度快,仿真結果與實際結果一致。
4.2 系統的上電引導
C6711的引導裝載方式有三種:一是無引導,二是ROM/FLASH引導,三是主機引導。本設計采用FLASH引導。根據DSK開發板上EMIF與FIASH硬件電路連接設計的引導程序如圖5所示。
![]() |
(1)FLASH存儲器的擦除
擦除FLASH存儲器的關鍵源代碼如下:








