ADS開(kāi)發(fā)工具的基本使用.ppt_第1頁(yè)
ADS開(kāi)發(fā)工具的基本使用.ppt_第2頁(yè)
ADS開(kāi)發(fā)工具的基本使用.ppt_第3頁(yè)
ADS開(kāi)發(fā)工具的基本使用.ppt_第4頁(yè)
ADS開(kāi)發(fā)工具的基本使用.ppt_第5頁(yè)
已閱讀5頁(yè),還剩34頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

ADS開(kāi)發(fā)工具的基本使用,史先強(qiáng) 南京博芯電子技術(shù)有限公司,目 錄,開(kāi)發(fā)工具鏈安裝:ADS與Jlink,ADS:ARM Developer Suite,常用ARM開(kāi)發(fā)工具(Windows平臺(tái)) ARM SDT(ARM Software Development Kit ) ARM Developer Suite(V1.2) Keil uVision (MDK)(V3.24) IAR Embedded WorkBench(V5.20) RealView Developer Suite(RVDS) ADS組成部分 集成開(kāi)發(fā)環(huán)境(CodeWarrior IDE from Metrowerks) 調(diào)試器(Debuggers):AXD、armsd 代碼生成工具(Code Generation Tools) 指令集模擬器(Instruction Set Simulators) ARM應(yīng)用庫(kù)(ARM Applications Library) ARM 開(kāi)發(fā)包(ARM Firmware Suite),ADS安裝Step by Step,Step1:雙擊Setup.exe,ADS安裝Step by Step,Step2:一路Next,程序開(kāi)始安裝,Step3:直到安裝完畢,ADS安裝Step by Step,Step3:跳出ARM Lisence Winzard,點(diǎn)擊下一步,ADS安裝Step by Step,Step3:選擇Install Lisence,點(diǎn)擊下一步,ADS安裝Step by Step,Step4:填入你的Code,點(diǎn)擊下一步,ADS安裝Step by Step,Step5:點(diǎn)擊下一步,直至完成,ADS安裝Step by Step,Step6:在程序安裝主界面點(diǎn)擊“Finish”,完成安裝,CodeWarrior用戶(hù)界面,J-Link安裝,點(diǎn)擊“Setup_JLinkARM_V400.exe”,一路Next,直至安裝完成,開(kāi)發(fā)工具鏈安裝:配置開(kāi)發(fā)環(huán)境,配置AXD調(diào)試器,正確連接開(kāi)發(fā)板電源,并用Jlink將PC的USB接口與開(kāi)發(fā)板的20Pin JTAG接口正確連接,將開(kāi)發(fā)板上電 點(diǎn)擊“開(kāi)始”-所有程序-ARM Developer Suite v1.2 -AXD Debugger,打開(kāi)AXD調(diào)試器,配置AXD調(diào)試器,點(diǎn)擊“Options”-Configure Target,點(diǎn)擊“ADD”,在彈出的文件選擇框中選擇JlinkRDI.dll 路徑:C:Program FilesSEGGERJLinkARM_V400 JlinkRDI.dll,配置AXD調(diào)試器,點(diǎn)擊OK,結(jié)束配置,配置AXD調(diào)試器,驗(yàn)證AXD配置 在AXD的Memory窗口輸入0x10001000地址并回車(chē),如果看到相似數(shù)據(jù),則表明AXD配置成功,仿真器可以正確識(shí)別開(kāi)發(fā)板上的CPU 如果在AXD的界面中看不到Memory窗口,請(qǐng)點(diǎn)擊Processor Views-Memory,開(kāi)發(fā)一個(gè)簡(jiǎn)單的ADS工程:GPIO控制LED,入門(mén):新建一個(gè)工程,在D盤(pán)新建目錄LED,并從Sample代碼中拷貝 boot、include、misc文件夾及int_vec_handler.c文件到LED目錄,Step1:建立工程目錄,并拷貝必要文件,入門(mén):新建一個(gè)工程,打開(kāi)CodeWarrior,F(xiàn)ile-New 選擇Project標(biāo)簽 在Project name內(nèi)填入工程名 在Location內(nèi)填入路徑 點(diǎn)擊“確定” 注意:無(wú)論工程名還是 路徑,都不要出現(xiàn)中文、空 格等,Step1:建立新的工程,入門(mén):新建一個(gè)工程,Step2:向新工程內(nèi)添加剛才拷貝的文件:,注意: 使用鼠標(biāo)拖拽 LED_DATA及LED.mcp不要添加進(jìn)去,入門(mén):新建一個(gè)工程,Step3:在跳出的對(duì)話(huà)框中選“OK”,完成文件添加:,入門(mén):新建一個(gè)工程,Step4:添加Main.c文件:File-new 選擇File選項(xiàng)卡 輸入文件名:main.c 勾選“Add to Project”,并 選擇當(dāng)前工程LED.mcp 依次勾選Targets內(nèi)的選項(xiàng),入門(mén):新建一個(gè)工程,Step5:完成自己的main函數(shù) 在打開(kāi)的main.c文件中輸入以下內(nèi)容 #include #include “ub4020evb.h“ #include “intc.h“ int main() while(1); return 0; ,入門(mén):新建一個(gè)工程,Step6:嘗試編譯:Project-make 根據(jù)錯(cuò)誤提示,刪除misc文件夾下的“pmu.c” 修改int_vec_handler.c,將vector數(shù)組的handler全部替換為NULL,并去掉不需要的頭文件,僅保留intc.h和studio.h 再次編譯,已經(jīng)去掉所有Error,入門(mén):新建一個(gè)工程,Step7:更改工程設(shè)置 Edit-Debugrel Setting language Setting:將ARM Assembler等選項(xiàng)的Target and Source選項(xiàng)卡中的“Architecture of Processor”選項(xiàng)均設(shè)為“ARM720T”,入門(mén):新建一個(gè)工程,Step8:更改工程設(shè)置 Edit-Debugrel Setting ARM Linker: OutPut:Linkertype-Simple,RO Base-0x04000000 Options:Image entry point-0x04000000 Layout: Place at beginning of image Object/Symbol-boot_gfd.o Section-BOOT 至此,我們已經(jīng)成功建立了一個(gè)空白工程,并可以在Main函數(shù)中添加自己的功能代碼,下面我們將一步步實(shí)現(xiàn)LED的控制。,控制一個(gè)LED-GPIO控制原理,OUT,IN,Pin 93,SMC,GPIO,SMC_DAT0,GPIO_PORTE:0,控制一個(gè)LED添加功能代碼,在main函數(shù)添加以下代碼 *(RP)GPIO_PORTE_SEL |=0x01; /選擇Pin93為GPIO功能 *(RP)GPIO_PORTE_DIR /拉低管腳,熄滅LED 編譯并在DEBUG模式下單步運(yùn)行,觀察LED0 Project-make Project-debug 加入循環(huán)與閃爍,控制一個(gè)LED完善程序,加入循環(huán)與閃爍,最終的main函數(shù) int main() int i; *(RP)GPIO_PORTE_SEL |=0x01F; /選擇Pin93為GPIO功能 *(RP)GPIO_PORTE_DIR ,進(jìn)階工程:中斷處理,中斷服務(wù)程序以RTC的秒中斷為例,中斷的概念 中斷時(shí)發(fā)生了什么? ARM內(nèi)核處理中斷的流程、中斷向量的概念,CPSR,i,中斷處理流程,PC,IRQ_Handler,保護(hù)現(xiàn)場(chǎng),恢復(fù)現(xiàn)場(chǎng),中斷返回,底層匯編 Int_gfd.s,函數(shù)調(diào)用,中斷服務(wù)程序,INT_VECTOR vector= INTSRC_NULL, NULL , INTSRC_EXINT0, NULL , INTSRC_EXINT1, NULL , INTSRC_EXINT2, NULL , INTSRC_EXINT3, NULL , INTSRC_EXINT4, NULL , INTSRC_EXINT5, NULL , INTSRC_EXINT6, NULL , INTSRC_EXINT7, NULL , INTSRC_EXINT8, NULL , INTSRC_EXINT9, NULL , INTSRC_EXINT10, NULL , INTSRC_SDIO, NULL , INTSRC_SMC1, NULL , INTSRC_SMC0, NULL , INTSRC_USB, NULL , INTSRC_NULL, NULL , INTSRC_SSI, NULL , INTSRC_I2S, NULL , INTSRC_LCDC, NULL , INTSRC_PWM, NULL , INTSRC_UART3, NULL , INTSRC_UART2, NULL , INTSRC_UART1, NULL , INTSRC_UART0, NULL , INTSRC_TIMER3, NULL , INTSRC_TIMER2, NULL , INTSRC_TIMER1, NULL , INTSRC_MAC, NULL , INTSRC_EMI, NULL , INTSRC_DMAC, NULL , INTSRC_RTC, RTCIntHandler , ;,typedef struct int_vector U8 IntNum; void (*handler)(void); INT_VECTOR;,SEP4020地址空間分配,0x0400 0000,0x1000 0000,0x2000 0000,0x3000 0000,Nand_Data (0x11000200),中斷服務(wù)程序以RTC的秒中斷為例,涉及的Memory空間 ESRAM:0x04000000,64K NorFlash:0x20000000,2M SDRAM:0x30000000,32M 系統(tǒng)零地址映射 上電默認(rèn): 0x200000000x0(NorFlash) 配置REMAP寄存器后: 0x300000000x0(SDRAM),0x00000000,0x04000000,0x20000000,0x30000000,NorFlash,NorFlash,SDRAM,SDRAM,中斷與分散裝載,什么是分散裝載? 為什么要分散裝載? 怎么實(shí)現(xiàn)分散裝載?,ESRAM:0x04000000,SDRAM:0x30000000,NorFlash:0x00000000 0x2000

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論