ADS开发工具的基本使用.ppt

上传人:牧羊曲112 文档编号:6501332 上传时间:2023-11-07 格式:PPT 页数:39 大小:1.14MB
返回 下载 相关 举报
ADS开发工具的基本使用.ppt_第1页
第1页 / 共39页
ADS开发工具的基本使用.ppt_第2页
第2页 / 共39页
ADS开发工具的基本使用.ppt_第3页
第3页 / 共39页
ADS开发工具的基本使用.ppt_第4页
第4页 / 共39页
ADS开发工具的基本使用.ppt_第5页
第5页 / 共39页
点击查看更多>>
资源描述

《ADS开发工具的基本使用.ppt》由会员分享,可在线阅读,更多相关《ADS开发工具的基本使用.ppt(39页珍藏版)》请在三一办公上搜索。

1、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)

2、: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:选择In

3、stall 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接口正确连接,将开发板上电点击“开始”-所有程序-A

4、RM 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窗口输入0 x10001000地址并回车,如果看到相似数据,则表明AXD配置成功,仿真器可以正确识别开发板上的CPU如果在AXD的界面中看不到Memory窗口,请点击Proc

5、essor 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:向新工程内添加刚才拷贝的文件:,注意:使

6、用鼠标拖拽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#includeub4020evb.h#includeintc.hint main()while(1);return 0;,入门:新建一个工程,Ste

7、p6:尝试编译:Project-make根据错误提示,删除misc文件夹下的“pmu.c”修改int_vec_handler.c,将vector数组的handler全部替换为NULL,并去掉不需要的头文件,仅保留intc.h和studio.h再次编译,已经去掉所有Error,入门:新建一个工程,Step7:更改工程设置Edit-Debugrel Settinglanguage Setting:将ARM Assembler等选项的Target and Source选项卡中的“Architecture of Processor”选项均设为“ARM720T”,入门:新建一个工程,Step8:更改工程

8、设置Edit-Debugrel SettingARM Linker:OutPut:Linkertype-Simple,RO Base-0 x04000000Options:Image entry point-0 x04000000Layout:Place at beginning of imageObject/Symbol-boot_gfd.oSection-BOOT至此,我们已经成功建立了一个空白工程,并可以在Main函数中添加自己的功能代码,下面我们将一步步实现LED的控制。,控制一个LED-GPIO控制原理,OUT,IN,Pin 93,SMC,GPIO,SMC_DAT0,GPIO_POR

9、TE:0,控制一个LED添加功能代码,在main函数添加以下代码*(RP)GPIO_PORTE_SEL|=0 x01;/选择Pin93为GPIO功能*(RP)GPIO_PORTE_DIR/拉低管脚,熄灭LED编译并在DEBUG模式下单步运行,观察LED0Project-makeProject-debug加入循环与闪烁,控制一个LED完善程序,加入循环与闪烁,最终的main函数int main()int i;*(RP)GPIO_PORTE_SEL|=0 x01F;/选择Pin93为GPIO功能*(RP)GPIO_PORTE_DIR,进阶工程:中断处理,中断服务程序以RTC的秒中断为例,中断的概念

10、中断时发生了什么?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

11、,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,N

12、ULL,INTSRC_TIMER1,NULL,INTSRC_MAC,NULL,INTSRC_EMI,NULL,INTSRC_DMAC,NULL,INTSRC_RTC,RTCIntHandler,;,typedef structint_vectorU8IntNum;void(*handler)(void);INT_VECTOR;,SEP4020地址空间分配,0 x0400 0000,0 x1000 0000,0 x2000 0000,0 x3000 0000,Nand_Data(0 x11000200),中断服务程序以RTC的秒中断为例,涉及的Memory空间ESRAM:0 x04000000,

13、64KNorFlash:0 x20000000,2MSDRAM:0 x30000000,32M系统零地址映射上电默认:0 x200000000 x0(NorFlash)配置REMAP寄存器后:0 x300000000 x0(SDRAM),0 x00000000,0 x04000000,0 x20000000,0 x30000000,NorFlash,NorFlash,SDRAM,SDRAM,中断与分散装载,什么是分散装载?为什么要分散装载?怎么实现分散装载?,ESRAM:0 x04000000,SDRAM:0 x30000000,NorFlash:0 x000000000 x20000000,boot_gfd.o,int_gfd.o,SDRAM:0 x3000000000 x00000000,NorFlash:0 x20000000,ESRAM 0 x04000000 ESRAM 0 x04000000 boot_gfd.o(BOOT,+First)SDram 0 x30000000 SDram 0 x30000000 int_gfd.o(INT,+First)*(+RO,+RW,+ZI),谢谢!,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号