版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領
文檔簡介
會計學1ADS開發(fā)工具的基本使用開發(fā)工具鏈安裝:ADS與Jlink
第1頁/共38頁ADS:ARMDeveloperSuite常用ARM開發(fā)工具(Windows平臺)ARMSDT(ARMSoftwareDevelopmentKit)ARMDeveloperSuite(V1.2)KeiluVision(MDK)(V3.24)IAREmbeddedWorkBench(V5.20)RealViewDeveloperSuite(RVDS)ADS組成部分集成開發(fā)環(huán)境(CodeWarriorIDEfromMetrowerks)調(diào)試器(Debuggers):AXD、armsd代碼生成工具(CodeGenerationTools)指令集模擬器(InstructionSetSimulators)ARM應用庫(ARMApplicationsLibrary)ARM開發(fā)包(ARMFirmwareSuite)第2頁/共38頁ADS安裝-StepbyStepStep1:雙擊Setup.exe第3頁/共38頁ADS安裝-StepbyStepStep2:一路Next,程序開始安裝Step3:直到安裝完畢第4頁/共38頁ADS安裝-StepbyStepStep3:跳出ARMLisenceWinzard,點擊下一步第5頁/共38頁ADS安裝-StepbyStepStep3:選擇InstallLisence,點擊下一步第6頁/共38頁ADS安裝-StepbyStepStep4:填入你的Code,點擊下一步第7頁/共38頁ADS安裝-StepbyStepStep5:點擊下一步,直至完成第8頁/共38頁ADS安裝-StepbyStepStep6:在程序安裝主界面點擊“Finish”,完成安裝第9頁/共38頁CodeWarrior用戶界面第10頁/共38頁J-Link安裝點擊“Setup_JLinkARM_V400.exe”,一路Next,直至安裝完成第11頁/共38頁開發(fā)工具鏈安裝:配置開發(fā)環(huán)境
第12頁/共38頁配置AXD調(diào)試器正確連接開發(fā)板電源,并用Jlink將PC的USB接口與開發(fā)板的20PinJTAG接口正確連接,將開發(fā)板上電點擊“開始”->所有程序->ARMDeveloperSuitev1.2 ->AXDDebugger,打開AXD調(diào)試器第13頁/共38頁配置AXD調(diào)試器點擊“Options”->ConfigureTarget…點擊“ADD”,在彈出的文件選擇框中選擇JlinkRDI.dll路徑:C:\ProgramFiles\SEGGER\JLinkARM_V400\JlinkRDI.dll第14頁/共38頁配置AXD調(diào)試器點擊OK,結(jié)束配置第15頁/共38頁配置AXD調(diào)試器驗證AXD配置在AXD的Memory窗口輸入0x10001000地址并回車,如果看到相似數(shù)據(jù),則表明AXD配置成功,仿真器可以正確識別開發(fā)板上的CPU如果在AXD的界面中看不到Memory窗口,請點擊ProcessorViews->Memory第16頁/共38頁開發(fā)一個簡單的ADS工程:GPIO控制LED
第17頁/共38頁入門:新建一個工程在D盤新建目錄LED,并從Sample代碼中拷貝boot、include、misc文件夾及int_vec_handler.c文件到LED目錄Step1:建立工程目錄,并拷貝必要文件第18頁/共38頁入門:新建一個工程打開CodeWarrior,F(xiàn)ile->New…選擇Project標簽在Projectname內(nèi)填入工程名在Location內(nèi)填入路徑點擊“確定”注意:無論工程名還是路徑,都不要出現(xiàn)中文、空格等Step1:建立新的工程第19頁/共38頁入門:新建一個工程Step2:向新工程內(nèi)添加剛才拷貝的文件:注意:使用鼠標拖拽LED_DATA及LED.mcp不要添加進去第20頁/共38頁入門:新建一個工程Step3:在跳出的對話框中選“OK”,完成文件添加:第21頁/共38頁入門:新建一個工程Step4:添加Main.c文件:File->new…選擇File選項卡輸入文件名:main.c勾選“AddtoProject”,并選擇當前工程LED.mcp依次勾選Targets內(nèi)的選項第22頁/共38頁入門:新建一個工程Step5:完成自己的main函數(shù)在打開的main.c文件中輸入以下內(nèi)容#include <stdio.h>#include "ub4020evb.h"#include "intc.h"intmain(){ while(1); return0;}第23頁/共38頁入門:新建一個工程Step6:嘗試編譯:Project->make根據(jù)錯誤提示,刪除misc文件夾下的“pmu.c”修改int_vec_handler.c,將vector數(shù)組的handler全部替換為NULL,并去掉不需要的頭文件,僅保留intc.h和studio.h再次編譯,已經(jīng)去掉所有Error第24頁/共38頁入門:新建一個工程Step7:更改工程設置Edit->DebugrelSetting…languageSetting:將ARMAssembler等選項的TargetandSource選項卡中的“ArchitectureofProcessor”選項均設為“ARM720T”第25頁/共38頁入門:新建一個工程Step8:更改工程設置Edit->DebugrelSetting…ARMLinker:
OutPut:Linkertype-Simple,ROBase-0x04000000
Options:Imageentrypoint-0x04000000
Layout:
Placeatbeginningofimage Object/Symbol-boot_gfd.o
Section-BOOT至此,我們已經(jīng)成功建立了一個空白工程,并可以在Main函數(shù)中添加自己的功能代碼,下面我們將一步步實現(xiàn)LED的控制。
第26頁/共38頁GPIO_PORTE_DIR:0=1控制一個LED-GPIO控制原理OUTINPin93SMCGPIOSMC_DAT0GPIO_PORTE:0GPIO_PORTE_SEL:0=1GPIO_PORTE_DIR:0=0GPIO_PORTE_SEL:0=0第27頁/共38頁控制一個LED-添加功能代碼在main函數(shù)添加以下代碼*(RP)GPIO_PORTE_SEL|=0x01;//選擇Pin93為GPIO功能*(RP)GPIO_PORTE_DIR&=~0x01;//設置該管腳為輸出*(RP)GPIO_PORTE_DATA|=0x1;//拉高管腳,點亮LED*(RP)GPIO_PORTE_DATA&=~0x1;//拉低管腳,熄滅LED編譯并在DEBUG模式下單步運行,觀察LED0Project->makeProject->debug加入循環(huán)與閃爍第28頁/共38頁控制一個LED-完善程序,加入循環(huán)與閃爍最終的main函數(shù)intmain(){ inti; *(RP)GPIO_PORTE_SEL|=0x01F;//選擇Pin93為GPIO功能 *(RP)GPIO_PORTE_DIR&=~0x01;//設置該管腳為輸出
while(1) { *(RP)GPIO_PORTE_DATA|=0x1;//拉高管腳,點亮LED for(i=0;i<0x400000;i++); *(RP)GPIO_PORTE_DATA&=~0x1;//拉低管腳,熄滅LED for(i=0;i<0x400000;i++); } return0;}第29頁/共38頁進階工程:中斷處理
第30頁/共38頁中斷服務程序-以RTC的秒中斷為例中斷的概念中斷時發(fā)生了什么?ARM內(nèi)核處理中斷的流程、中斷向量的概念中斷信號中斷控制器INTC中斷使能中斷屏蔽RTCIRQARM720TCPSRi第31頁/共38頁中斷處理流程0x0000001C:BFIQHandler0x00000018:BIRQHandler0x00000014:B.0x00000010:BDataAbort0x0000000C:BPrefetchAbort0x00000008:BSoftWareInterrupt0x00000004:BUndefinedInstruction0x00000000:BResetHandler中斷向量表PCIRQ_Handler保護現(xiàn)場恢復現(xiàn)場中斷返回底層匯編Int_gfd.s函數(shù)調(diào)用C語言處理int_vector_handler.c判斷中斷號intnum=*(RP)(INTC_IFSR);while(intnum!=1){
intnum=intnum>>1;
i++;}調(diào)用中斷服務程序(*vector[i].handler)();第32頁/共38頁中斷服務程序INT_VECTORvector[]={
{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;第33頁/共38頁SEP4020地址空間分配CSFCSE(SDRAM)CSB、CSC、CSDCSA(NorFlash)IOESRAM0x040000000x100000000x200000000x30000000MACLCDCDMAEMIGPIO……PMCINTCNand_Data(0x11000200)第34頁/共38頁中斷服務程序-以RTC的秒中斷為例涉及的Memory空間ESRAM:0x04000000
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 假期讀一本好書讀后感900字(12篇)
- 2024全新能源開發(fā)項目投資與合作合同
- 中式快餐創(chuàng)業(yè)計劃書
- 2024年工業(yè)設備維修協(xié)議
- 2024年度4S店租賃期內(nèi)公共區(qū)域維護與管理協(xié)議
- 2024年建筑工程消防設計與施工合同
- 2024年企業(yè)廣告發(fā)布與媒體投放合同
- 2024年大數(shù)據(jù)分析與應用服務協(xié)議
- 2024年度「惠州技術(shù)開發(fā)」合同標的:技術(shù)研發(fā)與成果共享
- 2024年工程項目混凝土供應合同
- GB/T 22844-2009配套床上用品
- GB/T 14683-2017硅酮和改性硅酮建筑密封膠
- 無人機校企合作協(xié)議
- 工程設備進場進場開箱驗收單
- 中國互聯(lián)網(wǎng)發(fā)展概述XXXX
- GB 16809-2008防火窗
- 2018年木地板公司組織架構(gòu)及部門職能
- 《百團大戰(zhàn)》歷史課件
- 銀行涉農(nóng)貸款專項統(tǒng)計制度講解
- DB31-T 540-2022 重點單位消防安全管理要求
- 國家開放大學《傳感器與測試技術(shù)》實驗參考答案
評論
0/150
提交評論