
?
?
然后是libraries下面擴(kuò)展名為.lib的庫(kù)文件,它是C語(yǔ)言系統(tǒng)的庫(kù)文件。

庫(kù)文件下面是source文件夾,里面的文件都是以.c為擴(kuò)展名的,顧名思義,就是源文件,也就是我們開(kāi)發(fā)時(shí)編寫(xiě)的軟件代碼都是保存在這些文件中的。

?
?
?最后是以.CMD為擴(kuò)展名的文件,這個(gè)文件的作用是用來(lái)分配存儲(chǔ)空間的。由于DSP編譯器的編譯結(jié)果是未定位的,DSP也沒(méi)有操作系統(tǒng)來(lái)定位執(zhí)行代碼,DSP系統(tǒng)的配置需求也不盡相同,因此我們根據(jù)實(shí)際的需求,自己定義代碼的存儲(chǔ)位置。打個(gè)通俗的比喻,就是我們有一個(gè)倉(cāng)庫(kù),現(xiàn)在需要把貨物存放到倉(cāng)庫(kù)里面去,為了便于日后取用貨物,我們將貨物分門(mén)別類,然后把它們存放到指定的位置去。把哪些貨物放到哪個(gè)位置的規(guī)則,就是我們的CMD文件的內(nèi)容。

CMD文件又分成兩種。一種是分配RAM空間的,用來(lái)將程序load到RAM內(nèi)進(jìn)行調(diào)試,因?yàn)槲覀兇蟛糠謺r(shí)間都是在調(diào)試程序,所以多用這類CMD,gpio工程中的sram.cmd就是用于分配RAM空間的,另一種是分配FLASH空間的,當(dāng)程序調(diào)試完畢后,需要將其燒寫(xiě)到FLASH內(nèi)部進(jìn)行固化,這個(gè)時(shí)侯我們就需要使用這類CMD文件了。
從上面的分析我們可以看出,一個(gè)完整的工程需要由庫(kù)文件(.lib),頭文件(.h),源文件(.c)和CMD文件組成,缺一不可。
4.如何創(chuàng)建新的工程
下面,跟著我一起來(lái)建立個(gè)簡(jiǎn)單的工程吧,主要通過(guò)這些步驟來(lái)了解一下如何創(chuàng)建新工程,方法有多種多樣,我介紹自己常用的,需要用到的文件請(qǐng)下載附件中的newprojects文件夾,此文件夾內(nèi)的文件推薦為建立新工程的素材,請(qǐng)妥善保存。
1.打開(kāi)CCS,點(diǎn)擊菜單欄里的Projects,點(diǎn)擊New,會(huì)跳出新工程設(shè)置的對(duì)話框,如下圖所示。


?
?
在Projects欄內(nèi)我們填寫(xiě)工程的名字:hellodsp。檢查L(zhǎng)ocation,如果您都是按照默認(rèn)路徑來(lái)的,那沒(méi)有問(wèn)題,如果不是默認(rèn)路徑,您得手工指定一下文件路徑,確認(rèn)沒(méi)有問(wèn)題后點(diǎn)擊Finish。我們發(fā)現(xiàn)在myprojects文件夾下多了hellodsp文件夾,hellodsp文件夾下生成了hellodsp.pjt文件,而且在CCS左側(cè)的Files欄內(nèi),出現(xiàn)了我們剛剛創(chuàng)建的hellodsp.pjt。

2. 根據(jù)前面一個(gè)完整工程的組成情況的分析,我們首先來(lái)準(zhǔn)備頭文件。由于頭文件多數(shù)情況下是
不需改動(dòng)的,也就是說(shuō)大家用的頭文件都是一樣的,因?yàn)槭嵌x2812的內(nèi)部資源,所以可以將newproject文件夾內(nèi)的頭文件全部復(fù)制到hellodsp文件夾。
3. 將newproject文件夾內(nèi)的.lib文件和.cmd文件同樣復(fù)制到hellodsp文件夾。
4. 下面就剩下源文件了。我比較喜歡例程中的文件結(jié)構(gòu),所以建議還沒(méi)有形成編程風(fēng)格的朋友也采用這種文件結(jié)構(gòu)。我們先來(lái)分析一下newproject文件夾下各個(gè)源文件的內(nèi)容,以便于我們更好的理解和采用這種文件結(jié)構(gòu)。
DSP28_ADC.C ——外設(shè)AD的初始化函數(shù),與外設(shè)AD相關(guān)
DSP28_CpuTimers.C——CPU定時(shí)器的初始化和配置函數(shù),與CPU的定時(shí)器相關(guān),
DSP28_DefaultIsr.C——這個(gè)文件很重要,包含了2812所有的中斷函數(shù),寫(xiě)中斷時(shí),只要將程序?qū)懺趯?duì)應(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)。
電子發(fā)燒友App








評(píng)論