基于CCS和DSK5402板的音頻采集和回放程序設(shè)計(jì)
圖5示出了CCS配置的主程序源文件(.c或.asm)的設(shè)計(jì)流程
圖5 主程序設(shè)計(jì)流程
當(dāng)然,要使用CCS在DSK板上運(yùn)行某個(gè)程序,光有源文件的主程序(.c或.asm)是不夠的,還需要配置中斷向量表(.asm)和命令鏈接文件(.cmd),在一些特殊的場(chǎng)合還需要配置其他的文件。主程序當(dāng)然是整個(gè)程序的核心,它的作用涉及數(shù)據(jù)的讀/寫(xiě)和具體的處理過(guò)程以及中斷的設(shè)置、寄存器的配置等;中斷向量表主要作用是告知程序中斷跳轉(zhuǎn)的位置,顯而易見(jiàn),如果在主程序中已經(jīng)設(shè)置,則不再需要配置中斷向量表;命令鏈接文件(.cmd)的主要作用是分配存儲(chǔ)空間,比如存儲(chǔ)器的第0頁(yè)分配作程序空間,第1頁(yè)分配作數(shù)據(jù)空間,以及各個(gè)段將要放在哪兒(如.text段放在數(shù)據(jù)空間),這個(gè)文件對(duì)每個(gè)工程來(lái)說(shuō)都是必須的。
4.3 程序設(shè)計(jì)
從上面的程序流程中,我們可以看到,要完成預(yù)定的功能,首先要初始化DSP的串行口和AIC,然后的工作就是開(kāi)辟緩存區(qū)以便將輸入的數(shù)據(jù)存儲(chǔ)起來(lái)等待進(jìn)一步處理如濾波、DA轉(zhuǎn)換等。限于篇幅,下面只列出了本文要實(shí)現(xiàn)音頻回放功能的幾個(gè)關(guān)鍵程序段。
一.主程序:
在程序中要定義諸多的變量以及所需要包含的頭文件和庫(kù)文件在此略。
5.CCS運(yùn)行結(jié)果
待程序設(shè)計(jì)好之后,將其添加到一個(gè)新建的工程里編輯、調(diào)試,直到編譯、構(gòu)建通過(guò)并生成.out文件,然后裝載.out文件。這樣就可以運(yùn)行了。為了驗(yàn)證程序是否已正常運(yùn)行,可以在麥克風(fēng)/揚(yáng)聲器接口分別接上話筒和小音箱,在對(duì)著話筒說(shuō)話時(shí),將可以從小音箱中聽(tīng)到。同時(shí),也可以在CCS中打開(kāi)觀察窗口、寄存器窗口以及圖形顯示窗口。下圖為音頻輸入時(shí)某一時(shí)刻的圖形顯示和寄存器的值。
圖6. CCS運(yùn)行窗口
事實(shí)上,在程序調(diào)試過(guò)程中經(jīng)常會(huì)遇到這樣或那樣的問(wèn)題,一般的方法是采用單步執(zhí)行的方式來(lái)調(diào)試。而且,由于DSP本身的特點(diǎn),從一開(kāi)始就需要認(rèn)識(shí)到開(kāi)發(fā)過(guò)程的復(fù)雜性。
評(píng)論