![omapl138基于ccs的dsp程序開發(fā)入門教程_第1頁](http://file4.renrendoc.com/view/7eda8f9aca28bdc6e7281204fde75558/7eda8f9aca28bdc6e7281204fde755581.gif)
![omapl138基于ccs的dsp程序開發(fā)入門教程_第2頁](http://file4.renrendoc.com/view/7eda8f9aca28bdc6e7281204fde75558/7eda8f9aca28bdc6e7281204fde755582.gif)
![omapl138基于ccs的dsp程序開發(fā)入門教程_第3頁](http://file4.renrendoc.com/view/7eda8f9aca28bdc6e7281204fde75558/7eda8f9aca28bdc6e7281204fde755583.gif)
![omapl138基于ccs的dsp程序開發(fā)入門教程_第4頁](http://file4.renrendoc.com/view/7eda8f9aca28bdc6e7281204fde75558/7eda8f9aca28bdc6e7281204fde755584.gif)
![omapl138基于ccs的dsp程序開發(fā)入門教程_第5頁](http://file4.renrendoc.com/view/7eda8f9aca28bdc6e7281204fde75558/7eda8f9aca28bdc6e7281204fde755585.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
閱前須不作任何通告的情況下,終止其任何一款產(chǎn)品的供應(yīng)和服務(wù)的權(quán)利。請用戶在前?2014-2018GuangzhouTronlongElectronicTechnologyCo.,.AllrightsTI嵌入式處理業(yè)務(wù)拓展經(jīng)理ZhengXiaolong:“Tronlong是國內(nèi)研究OMAP-L138最Tronlong處理等處理行業(yè)廣泛應(yīng)用。創(chuàng)龍致力于讓客戶的產(chǎn)品快速上市、縮短開產(chǎn)品保修幫 DSP:工程建立前準(zhǔn)備工 檢查開發(fā)板硬 查看仿真器驅(qū)動是否正常安 設(shè)置工程配置文件信 測試仿真器是否正常連 加載GEL文 初始化OMAPL138和喚醒 CCS工程建立和編 新建工 編寫程 編譯和運行DSP程 更改程序并再此加載運 StarterWare軟件包介 StarterWare簡 StarterWare軟件獲取和安 說 led機程序開 工程建 添加頭文件和庫文 設(shè)置編譯參 源代碼編寫和解 編譯和運行l(wèi)ed控制程 使用現(xiàn)有CCS工程編譯和運行l(wèi)ed程 按鍵中斷機程序演示和解 導(dǎo)入工 源代碼解 基于StarterWare工程的uart串口通信程序演 導(dǎo)入StarterWare工 修改CPU頻率參 重新編譯和運行程 幫 工程建立前準(zhǔn)備工作檢查開發(fā)板硬UART2檔位。RS232DB9母頭(帶孔)PCRS232串口DB9,PC機沒有RS232串口的可以通過USB轉(zhuǎn)串口轉(zhuǎn)接線連接到PC機的USB接口。RS232DB9母頭(帶孔)UART2PC機調(diào)試終BOOTME信息,說明開發(fā)板硬件正常工作了。查看仿真器驅(qū)動是否正常安裝發(fā)板上電。右擊計算機圖標(biāo),點擊設(shè)備->通用串行總線控制器,查看是否有“TIXDS100ChannelA”和“TIXDS100ChannelB”選項出現(xiàn),說明仿真器驅(qū)動已經(jīng)正常安裝,否設(shè)置工程配置文件信息輸入工程名字:omapl138.ccxml,點擊finish在彈出的框中,“Connection”選擇XDS100V2“BoardorDevice”選擇OMAPL138,點擊右邊的Save按鈕。若使用XDS100V3仿真器,設(shè)置方法請參面燒寫U-Boot到NANDFLASH章節(jié)測試仿真器是否正常連接GEL文Files(ARM9)”框。在框內(nèi)點擊右鍵,選擇“LoadGEL...”。OMAPL138和喚醒已經(jīng)和OMAPL138ARM核正常連接Complete”,OMAPL138初始化完成。點“Scripts->WakeupDSPCore->Wakeup_DSP,運行后會提示“DSPWakeupDSPComplete.”,這說明CCS已經(jīng)將OMAPL138DSP核喚醒了,如下圖所示:CCS工程建立和編新建工程CCS,點擊“file->NEW->Project->CodeComposerStudio->CCSProject”,然后點Project o,CCS工程名字Family:Variant:OMAP-L1x-Connection:XDS100V2,仿真器類型;編寫程序*voidmain(void) o }編譯和運行DSP程序點擊左上角 load鍵,選擇要加載的o.out文程序中指定的信息打印出來,至此最簡單的DSP機程序開發(fā)成功。更改程序并再此加載運行按“Ctrl+S”CCS菜單“View->ProjectExplorer”,彈出工程界面。右擊工程,在彈出的菜單中點擊“RebuildProject”,這樣會重新編譯整個工程,產(chǎn)生新的.out點擊左上角點擊左上角 load鍵,選擇要加載o.outCCS下運行和調(diào)試DSPStarterWare軟件包介紹StarterWare簡介2011年,德州儀器(TI)宣布推出免費StarterWare軟件包,為Sitara?32位ARM?微處理器(MPU)、C6000?數(shù)字信號處理器(DSP)以及DSP+ARM處理器開發(fā)人員提供可隨入式軟件編程占用產(chǎn)品開發(fā)大部分時間現(xiàn)已成為過去。StarterWare可為應(yīng)用開發(fā)人員提TIStarterWare軟件包可簡化ARMMPU與DSP的開發(fā)流程,為配置和連接外設(shè)提供應(yīng)用編程接口(API)。此外,StarterWare還包含輕量級軟件協(xié)議棧,支持USB、網(wǎng)絡(luò)以及圖StarterWare配套提供的范例代碼與應(yīng)用手冊可將開發(fā)時間縮短達10倍。開發(fā)人員無需通過操作系統(tǒng)來使用硬件,他們可對系統(tǒng)進行微調(diào),為CPU、外設(shè)以及存倍。在需要操作系統(tǒng)管理多個數(shù)據(jù)流的更復(fù)雜系統(tǒng)中,StarterWare還可提供一個優(yōu)化基礎(chǔ)。許多實時操作系統(tǒng)(RTOS)TI嵌入式處理器產(chǎn)品中使用StarterWare。StarterWare除了為TISitara32ARMMPUC6000DSP提供這些優(yōu)勢之外,TIDSP+ARM便可為優(yōu)化系統(tǒng)性能在兩個內(nèi)核之間實現(xiàn)處理與輸入/輸出(I/O)任務(wù)的高可像MCU一樣對MPU進行編程,使用IAR與Keil?等該熟悉的MCU工具鏈從Slaris?ARMMPUC6000DSPDSPARMDSPARMMPU相同的API調(diào)用。TIStarterWare軟件包開始創(chuàng)新。適TIAM18xARM9?MPU、OMAP-L138DSP+ARM9TMS320C6748DSP 現(xiàn)已可供免費,預(yù)計未來幾個月還將提供針對其它器件的軟件包這些StarterWare軟件包建立在SlarisWare?軟件套件的成功基礎(chǔ)之上可降低應(yīng)用門檻,加速產(chǎn)品上市進程,并進一步推動MCU開發(fā)人員的創(chuàng)新。StarterWare軟件獲取和安裝OMAPL138StarterWare軟件包含有一系列例程和輔助工具等,對于機應(yīng)用軟件的快速開發(fā)有很大的幫助。特別是examplesdemo程序,只要稍作改動即可作為自己產(chǎn)品的程Starterware對OMAPL138DSPARM端均適 OMAPL138_StarterWare_1_10_04_01-認(rèn)路徑“C:\ti\OMAPL138_StarterWare_1_10_04_01”CCSStarterWare工程 說以下是StarterWare各 的說明docs:StarterWare源碼說明文drivers:驅(qū)動exampleshost_apps:PC機(開發(fā)主機)和OMAPL138平臺演示程序的交互程 演示程序用到的頭文件。ipe:OMAP-L138DSP+ARM雙核通信演示程序system_config 通用庫文件源led機程序開本小結(jié)將講解如何利用TI給的StarterWare軟件包開發(fā)一個基于DSPC6748的led跑工程建立光盤中有DSPled程序鏡像和源碼,路徑為:led.out:demo\dsp\led\Debug\led.out //DSP鏡像main.c:demo\dsp\led\main.c //DSP程序源碼gelDSP核,具體步驟參考《1.工程建立前準(zhǔn)備工作》。然后點擊“file->NEW->Project->CodeComposerStudio->CCSProject”,然后點擊Project Usedefaultlocation:打勾,使用默認(rèn)的路徑。請記住此路徑,將會在添加庫文件時用到。Family:C6000;Variant:OMAP-L1x-Connection:XDS100V2,仿真器類型;添加頭文件和庫文件將StarterWare安裝路徑下的 到led工程的工 下。的內(nèi)容是OMAPL138開發(fā)所需的頭文件。led的工程 在led工程的工 drivers.lib是OMAPL138一般外設(shè)開發(fā)所需的庫文件,其源文件在StarterWare的driversStarterWare的“include”下的頭文件“gpio.h”,它里面有很多相關(guān)函數(shù),具體實現(xiàn)都是在StarterWare的“drivers”下的“gpio.c”文件里面。設(shè)置編譯參數(shù)右擊工程,在彈出的菜單中點 Properties(屬性),如下圖所示在彈出的框中點擊“General”,在“Outputformat”處選擇“eabi(ELF)”,表明程序的輸出鏡像的格式是ELF(StarterWare的庫默認(rèn)編譯的是ELF文件下圖 gpio.h頭文件所在路徑,工 下的 ,led程序程序?qū)⒂玫? 下的 led程序程序?qū)⒂玫健|c擊OK,完成編譯參源代碼編寫和解析將光盤demo\dsp\led\下的led程序源代碼main.c的內(nèi)容到工程的main.c文件中, 頭文件 //HWREG(x)#include"hw_syscfg0_OMAPL138.h"http://SYSCFG0_PINMUX(x) //SOC_GPIO_0_REGS //GPIO_DIR_OUTPUT 函 //GPIO初始化函//GPIO初始化函{ //GPIO初始 跑馬燈控制程 {for(i=0x00FFFFFF;i>0;i--
//D10滅GPIOPinWrite(SOC_GPIO_0_REGS,3,//D10滅for(i=0x00FFFFFF;i>0;i GPIOPinWrite(SOC_GPIO_0_REGS,1,GPIO_PIN_LOW); GPIOPinWrite(SOC_GPIO_0_REGS,6,GPIO_PIN_HIGH); for(i=0x00FFFFFF;i>0;i GPIOPinWrite(SOC_GPIO_0_REGS,6,GPIO_PIN_LOW); GPIOPinWrite(SOC_GPIO_0_REGS,2,GPIO_PIN_HIGH); for(i=0x00FFFFFF;i>0;i //D9滅 //D10亮}} GPIO初始 {unsignedint PINMUX1寄存器的值*/PINMUX_1_VAL=HWREG(SOC_SYSCFG_0_REGSSYSCFG0_PINMUX(1)); 將設(shè)置后的值寫回PINMUX1寄存器/*配置底板4個用戶led的對應(yīng)管腳為輸出,GPIO第一個管腳的對應(yīng)值(范圍1~144)*GPIO0[0] *GPIO2[0]33,GPIO3[0]*GPIO4[0]65,GPIO5[0]*GPIO6[0]97,GPIO7[0]*GPIO8[0]GPIODirModeSet(SOC_GPIO_0_REGS,1,GPIO_DIR_OUTPUT); GPIODirModeSet(SOC_GPIO_0_REGS,2,GPIO_DIR_OUTPUT); GPIODirModeSet(SOC_GPIO_0_REGS,3,GPIO_DIR_OUTPUT); GPIODirModeSet(SOC_GPIO_0_REGS,6, GPIOPinWrite(SOC_GPIO_0_REGS,1,GPIO_PIN_LOW); GPIOPinWrite(SOC_GPIO_0_REGS,2,GPIO_PIN_LOW); GPIOPinWrite(SOC_GPIO_0_REGS,3,GPIO_PIN_LOW); GPIOPinWrite(SOC_GPIO_0_REGS,6,GPIO_PIN_LOW); }查看開發(fā)板的原理圖,找到與led連接的GPIO編號廣州創(chuàng)龍電子的OMAP-L138開發(fā)板與led連接的GPIO分別是GPIO0[0]GPIO0[1]、將對應(yīng)的管腳的寄存器中相應(yīng)位設(shè)置為GPIO的工作模式。本例中使StarterWare的庫函HWREG(x)來設(shè)PINMUX的值,例HWREG(x)在工 的include/hw/hw_types.h的第69行定義了,如下圖所示 是 的基地址,在工作目錄可以看出SOC_SYSCFG_0_REGS的值0x01C14000類似的地址都SYSCFG0_PINMUX(1)是PINMUX1的偏移地址,在工 的include/hwhw_syscfg0_OMAPL138.h的第70行定義了,如下圖所示datasheetdatasheet設(shè)置GPIO的方向寄存器。本例程中使用 的庫函數(shù)GPIODirModeSet()將 口配置為輸出例如GPIODirModeSet(SOC_GPIO_0_REGS,1,GPIODirModeSet()在工 的include/gpio.h的第119行了,如下圖所示SOC_GPIO_0_REGS是GPIO的址,在工 的SOC_GPIO_0_REGS0x01E26000第二個參數(shù)“1”GPIO0[0]的編號,以下為GPIO第一個管腳的對應(yīng)值(范圍GPIO5[0]=81,GPIO6[0]=97,GPIO7[0]=113,GPIO8[0]=129 配置GPIO的數(shù)據(jù)寄存器。本例中使StarterWare的庫函GPIOPinWrite()來設(shè)GPIO的值,例GPIOPinWrite()在工 的include/gpio.h的第122行了,如下圖所示SOC_GPIO_0_REGS是GPIO的址,第二個參數(shù)“1”是GPIO0[0]的編號 的include/gpio.h的82和85行定義了,如下圖所示:編譯和運行l(wèi)ed控制程序 程序運行按鈕可以發(fā)現(xiàn)底板的led流水燈執(zhí)行了使用現(xiàn)有CCS工程編譯和運行l(wèi)ed程序ledCCS工程,在光盤的路徑為“demo\dsp\led”。用戶可以基于現(xiàn)有l(wèi)edgelDSP核,具體步點擊“CodeComposerStudio->ExistingCCSEclipseProjects”后再點擊“Next”,如下圖在彈出的框的“Selectsearch-directory”后面點擊“Browse”選擇led的CCS工程的點擊Finish就可以導(dǎo)入現(xiàn)有CCS工程。然后右擊工程,在彈出來的框中點 程序運行按鈕可以發(fā)現(xiàn)底板的led流水燈執(zhí)行了按鍵中斷機程序演示和解//DSP demo\dsp\button\Debug\button.outmain.c:demo\dsp\button\main.c //DSP//DSP導(dǎo)入工程gelDSP核,具體步驟參考《1.工程建立前準(zhǔn)備工作》。然后點擊CCS菜單“File->Import”,彈出以下框:點擊“CodeComposerStudio->ExistingCCSEclipseProjects”后再點擊“Next”,如下圖在彈出的框的“Selectsearch-directory”后面點擊“Browse”選擇button的CCS工程點擊Finish就可以導(dǎo)入現(xiàn)有CCS工程。然后右擊工程,在彈出來的框中點 程序運行按鈕,再按下SW5和SW6按鍵,可以發(fā)現(xiàn)CCS的console有按鍵被按下的信息提示,如下圖所示:源代碼解析 頭文件*/
// //SOC_GPIO_0_REGS //GPIO_DIR_INTPUT 函 //GPIO //設(shè)置中斷控制 // //SW5按鍵中斷 //SW6按鍵中斷 主函數(shù) } GPIO初始 unsignedint PINMUX1寄存器unsignedint PINMUX1寄存器 PINMUX19寄存器 PINMUX19寄存器
0x01C1416C,PINMUX19[23- (范圍*GPIO0[0] *GPIO2[0]33,GPIO3[0]*GPIO4[0]65,GPIO5[0]*GPIO6[0]97,GPIO7[0]*GPIO8[0]GPIODirModeSet(SOC_GPIO_0_REGS,7, //設(shè)置為輸入模式,即DIR01[6]=1,DIR01地址為GPIODirModeSet(SOC_GPIO_0_REGS,98, //設(shè)置GPIO6[1]輸入模式,即DIR67[1]=1,DIR67地址為//設(shè)置GPIOIntTypeSet(SOC_GPIO_0_REGS,98, GPIO6[1]為下降沿觸發(fā)中斷 斷,即BINTEN[0]=1,BINTEN地址為}
//設(shè)置允許GPIO0[15:0]//設(shè)置允許GPIO6[15:0]產(chǎn)生中斷 設(shè)置DSP中斷控制 } 配置按鍵中斷//按鍵中斷服務(wù)函 SW6按鍵中斷服務(wù)IntRegister(C674X_MASK_INT4,GPIO0_6_Isr); SW6按鍵中斷服務(wù)IntRegister(C674X_MASK_INT5,GPIO6_1_Isr);//映射按鍵中斷對應(yīng)CPUIntEventMap(C674X_MASK_INT4,SYS_INT_GPIO_B0INT); IntEventMap(C674X_MASK_INT5,SYS_INT_GPIO_B6INT); //使能按鍵對應(yīng)的CPU中斷 } SW5按鍵中斷服務(wù)ntf("SW5Down\n");} SW6按鍵中斷服務(wù)}查看開發(fā)板的原理圖,找到與用戶按鍵連接的GPIO編號。OMAP-L138開發(fā)板與用戶按鍵連接的GPIOGPIO0[6]、查看OMAPL138的,查找用戶按鍵對應(yīng)的管腳的PINMUX寄存器的地址,將對應(yīng)的管腳的寄存器中相應(yīng)位設(shè)置為GPIO的工作模式。設(shè)置GPIO的方向為輸入。設(shè)置DSP中斷控制器。使能全局中斷IntGlobalEnable();配置按鍵中斷 按鍵中斷服務(wù)函數(shù),使 IntRegister()函數(shù)基于StarterWare工程的uart串口通信程序演導(dǎo)入StarterWare工程StarterWare里有很多可以直接使用的演示程序,可以大大的減少開發(fā)的時間。本小節(jié)將講解如何基于StarterWareu
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2 臘八粥 說課稿-2024-2025學(xué)年統(tǒng)編版語文六年級下冊001
- 2024年五年級數(shù)學(xué)上冊 3 小數(shù)除法7課時 循環(huán)小數(shù)配套說課稿 新人教版
- 2025工礦產(chǎn)品買賣合同
- 2025同村土地承包合同
- 2025學(xué)校食品供貨合同簡單版樣本
- 2025版集體勞動合同范文
- 2025加盟經(jīng)銷合同范文
- 6-2《插秧歌》說課稿及反思 2024-2025學(xué)年統(tǒng)編版高中語文必修上冊
- 2023九年級數(shù)學(xué)上冊 第2章 一元二次方程2.2 一元二次方程的解法2.2.3 因式分解法第2課時 選擇合適的方法解一元二次方程說課稿 (新版)湘教版
- 軟膜天花施工方案
- 北師大版小學(xué)六年級下冊數(shù)學(xué)全冊教學(xué)設(shè)計
- YY/T 0681.2-2010無菌醫(yī)療器械包裝試驗方法第2部分:軟性屏障材料的密封強度
- GB/T 20472-2006硫鋁酸鹽水泥
- 煙氣管道阻力計算
- 城鄉(xiāng)環(huán)衛(wèi)一體化保潔服務(wù)迎接重大節(jié)日、活動的保障措施
- 醫(yī)院-9S管理共88張課件
- 高考作文復(fù)習(xí):議論文論證方法課件15張
- MySQL數(shù)據(jù)庫項目式教程完整版課件全書電子教案教材課件(完整)
- 藥品生產(chǎn)質(zhì)量管理工程完整版課件
- 《網(wǎng)絡(luò)服務(wù)器搭建、配置與管理-Linux(RHEL8、CentOS8)(微課版)(第4版)》全冊電子教案
- 職業(yè)衛(wèi)生教學(xué)課件生物性有害因素所致職業(yè)性損害
評論
0/150
提交評論