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