?
?
然后是libraries下面擴展名為.lib的庫文件,它是C語言系統的庫文件。
庫文件下面是source文件夾,里面的文件都是以.c為擴展名的,顧名思義,就是源文件,也就是我們開發時編寫的軟件代碼都是保存在這些文件中的。
?
?
?最后是以.CMD為擴展名的文件,這個文件的作用是用來分配存儲空間的。由于DSP編譯器的編譯結果是未定位的,DSP也沒有操作系統來定位執行代碼,DSP系統的配置需求也不盡相同,因此我們根據實際的需求,自己定義代碼的存儲位置。打個通俗的比喻,就是我們有一個倉庫,現在需要把貨物存放到倉庫里面去,為了便于日后取用貨物,我們將貨物分門別類,然后把它們存放到指定的位置去。把哪些貨物放到哪個位置的規則,就是我們的CMD文件的內容。
CMD文件又分成兩種。一種是分配RAM空間的,用來將程序load到RAM內進行調試,因為我們大部分時間都是在調試程序,所以多用這類CMD,gpio工程中的sram.cmd就是用于分配RAM空間的,另一種是分配FLASH空間的,當程序調試完畢后,需要將其燒寫到FLASH內部進行固化,這個時侯我們就需要使用這類CMD文件了。
從上面的分析我們可以看出,一個完整的工程需要由庫文件(.lib),頭文件(.h),源文件(.c)和CMD文件組成,缺一不可。
4.如何創建新的工程
下面,跟著我一起來建立個簡單的工程吧,主要通過這些步驟來了解一下如何創建新工程,方法有多種多樣,我介紹自己常用的,需要用到的文件請下載附件中的newprojects文件夾,此文件夾內的文件推薦為建立新工程的素材,請妥善保存。
1.打開CCS,點擊菜單欄里的Projects,點擊New,會跳出新工程設置的對話框,如下圖所示。
?
?
在Projects欄內我們填寫工程的名字:hellodsp。檢查Location,如果您都是按照默認路徑來的,那沒有問題,如果不是默認路徑,您得手工指定一下文件路徑,確認沒有問題后點擊Finish。我們發現在myprojects文件夾下多了hellodsp文件夾,hellodsp文件夾下生成了hellodsp.pjt文件,而且在CCS左側的Files欄內,出現了我們剛剛創建的hellodsp.pjt。
2. 根據前面一個完整工程的組成情況的分析,我們首先來準備頭文件。由于頭文件多數情況下是
不需改動的,也就是說大家用的頭文件都是一樣的,因為是定義2812的內部資源,所以可以將newproject文件夾內的頭文件全部復制到hellodsp文件夾。
3. 將newproject文件夾內的.lib文件和.cmd文件同樣復制到hellodsp文件夾。
4. 下面就剩下源文件了。我比較喜歡例程中的文件結構,所以建議還沒有形成編程風格的朋友也采用這種文件結構。我們先來分析一下newproject文件夾下各個源文件的內容,以便于我們更好的理解和采用這種文件結構。
DSP28_ADC.C ——外設AD的初始化函數,與外設AD相關
DSP28_CpuTimers.C——CPU定時器的初始化和配置函數,與CPU的定時器相關,
DSP28_DefaultIsr.C——這個文件很重要,包含了2812所有的中斷函數,寫中斷時,只要將程序寫在對應的函數內就可以,大大保證了中斷的成功率。
DSP28_ECan.C——外設CAN的初始化函數,與外設CAN相關。
DSP28_Ev.C——外設EV的初始化函數,與外設EV相關。
評論