ADS开发工具的基本使用.ppt_第1页
ADS开发工具的基本使用.ppt_第2页
ADS开发工具的基本使用.ppt_第3页
ADS开发工具的基本使用.ppt_第4页
ADS开发工具的基本使用.ppt_第5页
已阅读5页,还剩34页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

ADS开发工具的基本使用,史先强 南京博芯电子技术有限公司,目 录,开发工具链安装:ADS与Jlink,ADS:ARM Developer Suite,常用ARM开发工具(Windows平台) 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组成部分 集成开发环境(CodeWarrior IDE from Metrowerks) 调试器(Debuggers):AXD、armsd 代码生成工具(Code Generation Tools) 指令集模拟器(Instruction Set Simulators) ARM应用库(ARM Applications Library) ARM 开发包(ARM Firmware Suite),ADS安装Step by Step,Step1:双击Setup.exe,ADS安装Step by Step,Step2:一路Next,程序开始安装,Step3:直到安装完毕,ADS安装Step by Step,Step3:跳出ARM Lisence Winzard,点击下一步,ADS安装Step by Step,Step3:选择Install Lisence,点击下一步,ADS安装Step by Step,Step4:填入你的Code,点击下一步,ADS安装Step by Step,Step5:点击下一步,直至完成,ADS安装Step by Step,Step6:在程序安装主界面点击“Finish”,完成安装,CodeWarrior用户界面,J-Link安装,点击“Setup_JLinkARM_V400.exe”,一路Next,直至安装完成,开发工具链安装:配置开发环境,配置AXD调试器,正确连接开发板电源,并用Jlink将PC的USB接口与开发板的20Pin JTAG接口正确连接,将开发板上电 点击“开始”-所有程序-ARM Developer Suite v1.2 -AXD Debugger,打开AXD调试器,配置AXD调试器,点击“Options”-Configure Target,点击“ADD”,在弹出的文件选择框中选择JlinkRDI.dll 路径:C:Program FilesSEGGERJLinkARM_V400 JlinkRDI.dll,配置AXD调试器,点击OK,结束配置,配置AXD调试器,验证AXD配置 在AXD的Memory窗口输入0x10001000地址并回车,如果看到相似数据,则表明AXD配置成功,仿真器可以正确识别开发板上的CPU 如果在AXD的界面中看不到Memory窗口,请点击Processor Views-Memory,开发一个简单的ADS工程:GPIO控制LED,入门:新建一个工程,在D盘新建目录LED,并从Sample代码中拷贝 boot、include、misc文件夹及int_vec_handler.c文件到LED目录,Step1:建立工程目录,并拷贝必要文件,入门:新建一个工程,打开CodeWarrior,File-New 选择Project标签 在Project name内填入工程名 在Location内填入路径 点击“确定” 注意:无论工程名还是 路径,都不要出现中文、空 格等,Step1:建立新的工程,入门:新建一个工程,Step2:向新工程内添加刚才拷贝的文件:,注意: 使用鼠标拖拽 LED_DATA及LED.mcp不要添加进去,入门:新建一个工程,Step3:在跳出的对话框中选“OK”,完成文件添加:,入门:新建一个工程,Step4:添加Main.c文件:File-new 选择File选项卡 输入文件名:main.c 勾选“Add to Project”,并 选择当前工程LED.mcp 依次勾选Targets内的选项,入门:新建一个工程,Step5:完成自己的main函数 在打开的main.c文件中输入以下内容 #include #include “ub4020evb.h“ #include “intc.h“ int main() while(1); return 0; ,入门:新建一个工程,Step6:尝试编译:Project-make 根据错误提示,删除misc文件夹下的“pmu.c” 修改int_vec_handler.c,将vector数组的handler全部替换为NULL,并去掉不需要的头文件,仅保留intc.h和studio.h 再次编译,已经去掉所有Error,入门:新建一个工程,Step7:更改工程设置 Edit-Debugrel Setting language Setting:将ARM Assembler等选项的Target and Source选项卡中的“Architecture of Processor”选项均设为“ARM720T”,入门:新建一个工程,Step8:更改工程设置 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 至此,我们已经成功建立了一个空白工程,并可以在Main函数中添加自己的功能代码,下面我们将一步步实现LED的控制。,控制一个LED-GPIO控制原理,OUT,IN,Pin 93,SMC,GPIO,SMC_DAT0,GPIO_PORTE:0,控制一个LED添加功能代码,在main函数添加以下代码 *(RP)GPIO_PORTE_SEL |=0x01; /选择Pin93为GPIO功能 *(RP)GPIO_PORTE_DIR /拉低管脚,熄灭LED 编译并在DEBUG模式下单步运行,观察LED0 Project-make Project-debug 加入循环与闪烁,控制一个LED完善程序,加入循环与闪烁,最终的main函数 int main() int i; *(RP)GPIO_PORTE_SEL |=0x01F; /选择Pin93为GPIO功能 *(RP)GPIO_PORTE_DIR ,进阶工程:中断处理,中断服务程序以RTC的秒中断为例,中断的概念 中断时发生了什么? ARM内核处理中断的流程、中断向量的概念,CPSR,i,中断处理流程,PC,IRQ_Handler,保护现场,恢复现场,中断返回,底层汇编 Int_gfd.s,函数调用,中断服务程序,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),中断服务程序以RTC的秒中断为例,涉及的Memory空间 ESRAM:0x04000000,64K NorFlash:0x20000000,2M SDRAM:0x30000000,32M 系统零地址映射 上电默认: 0x200000000x0(NorFlash) 配置REMAP寄存器后: 0x300000000x0(SDRAM),0x00000000,0x04000000,0x20000000,0x30000000,NorFlash,NorFlash,SDRAM,SDRAM,中断与分散装载,什么是分散装载? 为什么要分散装载? 怎么实现分散装载?,ESRAM:0x04000000,SDRAM:0x30000000,NorFlash:0x00000000 0x2000

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论