嵌入式ADS实验指导书模板
- 格式:doc
- 大小:1.53 MB
- 文档页数:64
嵌入式实验教案实验一:ADS 1.2集成开发环境练习【实验目的】了解ADS 1.2集成开发环境和ARMulator软件仿真的使用方法;掌握ARM7TDMI汇编指令的用法,并能编写简单的汇编程序;掌握指令的条件执行和使用LDR/STR指令完成存储器的访问。
【实验设备】PC机一台,ADS 1.2集成开发环境【实验内容】建立一个工程;建立一个C源文件,并添加到工程中;设置文本编辑器支持中文;设置编译连接控制选项;编译连接工程;调试工程;编程实现:使用LDR指令读取0x40003100上的数据,将数据加1,若结果小于10则使用STR指令把结果写回原地址,否则把0写回原地址,不断重复整个过程;使用ADS 1.2软件仿真,单步、全速运行程序,设置断点,打开寄存器窗口(Processor Registers)监视R0、R1的值,打开存储器观察窗口(Memory)监视0x40003100的值。
【实验步骤】(1)启动ADS 1.2 IDE集成开发环境,选择File->New,使用ARM Executable Image 工程模板建立一个工程,工程名称为ADS(见图1.1)。
图1.1 建立ARM指令代码的工程(2)选择File->New建立一个新文件TEST1.S,设置直接添加到项目中(见图1.2)。
编程实现:使用LDR指令读取0x40003100上的数据,将数据加1,若结果小于10则使用STR指令把结果写回原地址,否则把0写回原地址,不断重复整个过程,参考程序清单1,输入程序清单1.1所示的代码并保存(见图1.3)。
图1.2 新建文件TEST1.S图1.3 添加了TEST1.S的工程管理窗口程序清单1 TEST1.S文件代码COUNT EQU 0x40003100 ;定义一个变量,地址为0x40003100AREA Example1,CODE,READONLY ;声明代码段Example1ENTRY ;标识程序入口CODE32 ;声明32位ARM指令START LDR R1,=COUNT ;R1指向地址0x40003100MOV R0,#0STR R0,[R1] ;[R1]<=R0,即设置地址0x40003100的值为0LOOP LDR R1,=COUNTLDR R0,[R1] ;R0<=[R1]ADD R0,R0,#1CMP R0,#10 ;R0与10比较,影响条件码标志MOVHS R0,#0 ;若R0大于等于10,则此指令执行,R0<=0STR R0,[R1] ;[R1]<=R0B LOOPEND(3)由于ADS安装以后默认的字体是Courier New,对于中文支持不完善,因此建议修改字体。
ADS使用指南1. 打开Codewarrior,file->new建立文件,用汇编语言编写的后缀为.s,用C语言编写的后缀为.c;2. 编写代码;3. file->new建立工程;4. 在工程页面中,右键->add files将需要的文件加入此工程;注意选中文件后,下面框中三个勾全部勾上;出现界面:5. 点击调试(DEBUG),自动连接AXD。
如程序编译出错,则先要修改,再进行调试;编译报错:编译出错请先检查下列情况:◆如果编译的是单独的一个汇编代码,则代码中必须有ENTRY;◆如果编译的是混合代码,汇编程序作为主程序的,则代码中必须有ENTRY;◆如果编译的是混合代码,C程序作为主程序的(即代码里有main函数的),则作为子程序的汇编代码中不能有ENTRY;◆使用立即数时,请注意立即数必须是合法的;◆程序中使用的逗号和分号不要漏掉,且要特别注意它们不能是中文字符的,必须是英文字符的;◆汇编程序中的指令、伪指令和伪操作不能顶格写,标号要顶格写;编译通过,自动连接至AXD:特别注意:如遇到点debug后打开的AXD里面是空白的,则点击AXD里面的options->configure target->选中ARMUL->点OK,然后关闭AXD,再从codewarrior中点debug再次连接AXD。
◆查看寄存器:processor views->registers->current;地址后回车,注意memory中数据存储是小端方式;◆查看输入输出值:processor views->console;◆查看变量:processor views->variables;查看指令所在地址:processor views->disassembly。
洛阳理工学院实验报告系别计信学院班级学号姓名课程名称嵌入式教程实验日期2019.10.23 实验名称实验一 ADS 1.2 集成开发环境练习成绩实验目的:了解 ADS 1.2 集成开发环境的使用方法。
实验设备:硬件:PC 机一台软件:Windows98/XP/2000 系统,ADS 1.2 集成开发环境实验内容:1.建立一个新的工程;启动ADS1.2 IDE 集成开发环境,选择【File】->【New…】,使用ARM Executable Image工程模板建立一个工程,工程名称为 ADS,见下图1。
(图1)2.建立一个 C 源文件,并添加到工程中;选择【File】->【New…】建立一个新的文件 TEST1.S,设置直接添加到项目中,见图2。
输入如文件TEST1.S程序清单1所示的代码,并保存,见图3。
(图2)文件 TEST1.S程序清单1:AREA Example1,CODE,READONLY; 声明代码段 Example1ENTRY; 标识程序入口CODE32; 声明 32 位 ARM 指令START MOV R0,#15; 设置参数MOV R1,#8ADDS R0,R0,R1; R0 = R0 + R1B STARTEND(图3)3.设置编译连接控制选项;4.选择【Edit】->【DebugRel Settings…】,在 DebugRel Settings 对话框的左边选择ARMLinker 项,然后在Output 页设置连接地址如图4,在Options 页设置调试入口地址如图5。
(图4)(图5)5.编译连接工程。
选择【Project】->【Make】,将编译连接整个工程。
6.思考(1)工程模板有何作用?答:编译控制设置(2)如何强行重新编译工程的所有文件?答:选择【Project】->【Remove Object Code…】删除工程中的*.obj文件。
嵌入式系统ADS实验大纲《嵌入式系统ADS》实验大纲学分:3学时:64适用专业:电子信息、通信技术、应用电子前导课程:电路分析基础、模拟电路、数字电路、高频电路、单片机原理、C语言一、课程的性质和任务本课程围绕目前流行的32位ARM处理器和嵌入操作系统,讲述嵌入式系统的概念、软硬件组成、开发过程以及嵌入式应用程序和驱动程序的开发设计方法。
《嵌入式系统》是培养学生具有嵌入式系统的应用知识、嵌入式系统的初步分析能力和具有使用RTOS(实时操作系统)构成嵌入式系统的应用能力等方面的学科,是电子信息与计算机类或相关工科专业的一门专业课。
二、课程的教学基本要求本课程是一门综合性、实践性、应用性很强的专业课。
课程教学所要达到的目的是:使学生掌握嵌入式系统体系结构,嵌入式处理器结构(ARM架构为主),异常处理、系统控制过程、存储处理、ARM内部资源、各种I/O接口;嵌入式系统开发应用方法;实时多任务操作系统。
本课程将为学生今后从事嵌入式系统研究与开发打下坚实的基础。
三、实验安排本实验课程18学时,共9次实验,每次2学时。
实验1 嵌入式系统软件开发环境认识1.熟悉ADS1.2开发环境的使用方法,熟悉针对实验台的嵌入式系统软件设计方法和流程,通过实验掌握嵌入式系统的编辑、编译、调试、下载及运行过程。
实验2 基于ARM的汇编语言设计11.掌握基本汇编语句的编辑、编译、调试、下载及运行过程。
2.进一步熟悉ADS1.2的编辑、编译、连接和运行的过程。
实验3 LPC2106程序设计与电路仿真实验:输入/输出端口GPIO 编程与仿真1.掌握ARM 中I/O 接口的使用,以实现对外围设备开关量的控制。
2.使用P0.9的输出功能来控制一个LED闪烁。
采用灌电流的方式驱动LED,即输出低电平时LED点亮。
首先进行引脚功能选择寄存器(PINSEL0和PINSEL1)配置,然后进行IODIR 寄存器设置,设置P0.9为输出模式,通过对IOSET和IOCLR寄存器进行置1或置0控制LED闪烁。
实训内容一基本信息1 时间:校历24周(1周)0908040301 上午 8:10 - 11:30 0908040302 上午 13:00 - 16:202 地点:实08223 分组:两同学一组当天需要确定:组员,工位4 考核成绩评定:平时50%考勤10%,每次考勤2分。
阶段性验收40% 。
ADS环境配置10%ADS环境使用10%利用自建工程文件完成工程范例的下载,运行20% 期末考核:50%系统验收40% 。
功能验收30%问题10%报告10%(以组为单位,提交一份电子版即可)个性化发挥:10%(加分项)。
总评成绩= 平时(50%)+期末考核成绩(50%)+个性化发挥(10%)。
5 教师职责:记考勤阶段性验收(每个组分别验收)功能验收(每个组分别验收)解释系统任务基本需求协助查找相关资料软件环境问题的讨论6 时间分配星期3 阶段性验收。
星期4 系统验收星期5 系统验收,提交报告。
二任务要求任务名称:嵌入式控制系统编程及实现实训环境:PC机+ ARM9嵌入式实验箱。
任务内容简介:使用PC机和嵌入式实验箱组建控制系统硬件测试环境,应用层数据通过串口连接完成传输,调试环境数据通过并口连接完成传输。
在PC机上借助ADS环境利用C语言编写嵌入式系统(ARM9 S3C2410)应用程序,编译无误后需要通过并口下载到实验箱上,再借助ADS环境运行和测试该程序。
该程序主要功能是完成串行数据的接收,所接收到数据的解析,嵌入式实验箱上发光二极管亮灭的控制。
PC机上使用sscom32.exe程序,通过串口向嵌入式实验箱发送数据,通信模式收发双方采用8、N、1、115200,通信协议可自定义。
任务要求:PC机发命令字,点亮或熄灭嵌入式实验箱上的指示灯。
任务分解:1 熟悉ADS环境,组建工程文件2 完成所提供的3个工程范例的下载,运行,观测结果3 编程实现系统功能要求三资料ADS资料ARM实验指导书工程范例S3C24101芯片件手册注意事项:1 ADS环境中的JTAG接口配置方法见ARM实验指导书2工程范例中的工程文件应该不含有中文字符并且需要复制到的D盘根目录如:\学生用\工程范例\实验1 嵌入式系统ADS集成开发环境实验(工程的建立)\zy2410 zy2410为工程文件的目录名,需要将zy2410目录整体复制到D盘根目录。
实验(一) ADS使用与汇编指令实验1.实验目的(1)了解ADS的用途;(2)学习ADS的安装(3)掌握ADS的基本使用方法(4)掌握ARM汇编语言常用指令2.实验器件PC一台3.实验步骤1)加载/存储及移位指令实验(1)打开ADS集成开发环境,新建一个工程项目文件,(2)新建一个.文件,输入以下汇编代码。
注意:根据编译器的规定,除了标号以外,所有的指令都需要在前面加上空格,否则程序会在编译时报错,这里建议使用Tab键对齐指令。
AREA LDR_STR_LSL_LSR,CODE,READONLYENTRY;******************************************************************** ********; 加载/存储指令以及移位指令;******************************************************************** ********startPRO1LDR R0,=0x0000LDR R1,=0x0004LDR R0,[R1];将存储器地址为R1的字数据读入寄存器R0LDR R0,=0x0000LDR R1,=0x0004LDR R2,=0x0008LDR R0,[R1,R2] ;将存储器地址为R1+R2的字数据读入寄存器R0LDR R0,=0x0000LDR R1,=0x0004LDR R2,=0x0008LDR R0,[R1],R2 ;将存储器地址为R1的字数据读入寄存器R0,并将新地址R1+R2写入R1LDR R0,=0x0000LDR R1,=0x0004LDR R0,[R1,#8] ;将存储器地址为R1+8的字数据读入寄存器R0AND R0,R0,#0 ;保持R0的0位,其于位清0LDR R1,=0X0004LDR R0,[R1,#8]! ;将存储器地址为R1+8的字数据读入寄存器R0,并将新地址R1+8写入R1LDR R0,=0x0000LDR R1,=0x0004LDR R0,[R1],#8 ;将存储器地址为R1的字数据读入寄存器R0,并将新地址R1+8写入R1LDR R0,=0x0000LDR R1,=0x0004LDR R2,=0x0008LDR R0,[R1,R2,LSL#2]! ;将存储器地址为R1+R2×4的字数据读入寄存器R0,并将新地址R1+R2×4写入R1LDR R0,=0x0000LDR R1,=0x0004LDR R2,=0x0008LDR R0,[R1],R2,LSR#2 ;将存储器地址为R1的字数据读入寄存器R0,并将新地址;R1+R2/4写入R1PRO2LDR R0,=0x0000LDR R1,=0x0004STR R0,[R1],#8 ;将R0中的字数据写入以R1为地址的存储器中, 并将新地址R1+8写入R1STR R0,[R1,#8] ;将R0中的字数据写入以R1+8为地址的存储器中B PRO1END(3)编写完毕,保存并添加到已建立的工程项目文件中。
嵌入式ADS试验参考指导书实验一嵌入式微处理器系统的开发环境一、实验环境PC机一台软件:ADS 一套二、实验目的;三、实验内容、基本配置四、实验步骤(1)在D:\新建一个目录,目录名为experiment。
(2)点击 WINDOWS 操作系统的“开始|程序|ARM Developer Suite |Code Warrior forARM Developer Suite”启动Metrowerks Code Warrior,或双击“ADS ”快捷方式启动。
启动ADS 如图1-1所示:(3) 在CodeWarrior 中新建一个工程的方法有两种,可以在工具栏中单击“New”按钮,也可以在“File”菜单中选择“New…”菜单。
这样就会打开一个如图1-2 所示的对话框。
选择【File】->【New…】,使用ARM Executable Image工程模板建立一个工程,名称为ADS,目录为D:\experiment。
图1-2 新建文件在这个对话框中为用户提供了7 种可选择的工程类型:1)ARM Executabl Image:用于由ARM 指令的代码生成一个ELF 格式的可执行映像文件;2)ARM Object Library:用于由ARM 指令的代码生成一个armar 格式的目标文件库;3)Empty Project:用于创建一个不包含任何库或源文件的工程;4)Makefile Importer Wizard:用于将Visual C 的nmake 或GNU make 文件转入到CodeWarrior IDE 工程文件;5)Thumb ARM Executable Image:用于由ARM 指令和Thumb 指令的混和代码生成一个可执行的ELF 格式的映像文件;6)Thumb Executable image:用于由Thumb 指令创建一个可执行的ELF 格式的映像文件;7)Thumb Object Library:用于由Thumb 指令的代码生成一个armar 格式的目标文件库。
实验1 ADS1.2 开发环境使用1、实验目的熟悉 ADS1.2 开发环境,使用 ADS 编译、调试并跟踪一段已有的程序了解嵌入式开发的基本思想和过程2、实验内容本次实验学习使用ADS集成开发环境。
新建一个简单的工程文件,并编译这个工程文件。
ARM仿真器的使用和开发环境的设置。
学会在程序中设置断点,观察系统内存和变量,为高调试应用程序打下基础。
3、预备知识所需的预备知识为:C语言的基础知识、程序调试的基础知识和方法。
4、实验设备及工具硬件:PC机软件:Windows 操作系统、ADS1.2集成开发环境5、实验原理5.1交叉开发环境概述嵌入式系统通常是一个资源受限的系统,因此直接在嵌入式系统的硬件平台上编写软件比较困难,有时候甚至是不可能的。
目前一般采用的解决办法是首先在通用计算机上编写程序,然后通过交叉编译生成目标平台上可以运行的二进制代码格式,最后再下载到目标平台上的特定位置上运行。
需要交叉开发环境(Cross Development Environment)的支持是嵌入式应用软件开发时的一个显著特点,交叉开发环境是指编译、链接和调试嵌入式应用软件的环境,它与运行嵌入式应用软件的环境有所不同,通常采用宿主机/目标机模式,如图1所示。
图 1 交叉开发环境交叉开发环境的组成要素:宿主机(Host)是一台通用计算机(如 PC 机或者工作站),它通过串口或者以太网接口与目标机通信。
宿主机的软硬件资源比较丰富,不但包括功能强大的操作系统(如Windows和Linux),而且还有各种各样优秀的开发工具(如 WindRiver的Tornado、Microsoft 的Embedded Visual C++等),能够大大提高嵌入式应用软件的开发速度和效率。
目标机(Target)一般在嵌入式应用软件开发期间使用,用来区别与嵌入式系统通信的宿主机,它可以是嵌入式应用软件的实际运行环境,也可以是能够替代实际运行环境的仿真系统,但软硬件资源通常都比较有限。
实验一嵌入式系统ARM驱动编程一、实验目的1.熟悉ARM环境,学会ARM 仿真器的使用。
使用ADS 编译、下载、调试并跟踪一段已有的程序,了解嵌入式开发的基本思想和过程。
2.掌握非嵌入式操作系统模式下的ARM编程。
3.了解LCD 基本概念与原理,熟悉用ARM 内置的LCD 控制器驱动LCD,掌握延时函数的使用方法,可以设计动态ARM程序。
二、实验内容(2学时)1.本次实验使用ADS集成开发环境。
学习ARM 仿真器的使用和开发环境的设置。
下载已经编译好的文件到嵌入式控制器中运行。
学会在程序中设置断点,观察系统内存和变量,为调试应用程序打下基础。
2.学习LCD 显示器的基本原理,理解其驱动控制方法。
掌握两种LCD 驱动方式的基本原理和方法。
并用编程实现控制LCD显示的ARM程序。
三、预备知识C 语言的基础知识、程序调试的基础知识和方法。
四、实验设备及工具硬件:ARM 嵌入式开发平台、用于ARM7TDMI 的JTAG 仿真器、PC 机。
软件:PC 机操作系统Win2000、ARM ADS1.2 集成开发环境、仿真器驱动程序、超级终端通讯程序五、实验原理1.ARM程序的在线仿真与调试ADS1.2可以进行ARM程序的编写和调试。
打开ADS1.2的编辑界面后,可以以工程的方式编写和组织源代码。
执行菜单Project | Make 可对工程进行编译连接。
在出现的错误/警告窗口中选择某错误/警告信息,ADS 会自动打开相应源文件并用箭头指向出错的文本行。
如果某个源文件被修改,重新编译时ADS 会自动同步各文件的日期信息。
ARM程序调试步骤如下:(1)在ADS 中执行菜单Project | Debug 启动ADS1.2 的调试工具AXD。
(2)在AXD 中执行菜单Options | Configure Target 对AXD 进行设置。
如图1B-13 所示。
选择ADP 即远程调试,点Configure 按钮进一步设置具体参数,如图1B-14 所示。
嵌入式系统原理与应用实验指导书南航金城学院2013.2目录目录 (1)第一部分试验箱硬件结构 (2)第二部分实验 (11)实验一ADS1.2集成开发环境练习 (11)实验二汇编指令实验1 (17)实验三汇编指令实验2 (20)实验四汇编指令实验3 (23)实验五ARM微控制器工作模式实验 (28)实验六 C语言程序实验 (33)实验七 C语言调用汇编程序实验 (36)实验八GPIO输出控制实验 (39)实验九GPIO输入实验 (46)实验十外部中断实验 (50)实验十一UART通讯实验 (56)实验十二I2C接口实验 (64)实验十三定时器实验 (75)实验十四PWM DAC实验 (81)实验十五ADC实验 (87)实验十六RTC实验 (94)实验十七步进电机控制实验 (101)实验十八直流电机控制实验 (105)附录1 DeviceARM2410 专用工程模板 ..................................................... 错误!未定义书签。
第一部分试验箱硬件结构MagicARM2410教学实验开发平台是一款可使用μC/OS-II、Linux和WinCE操作系统、支持QT、MiniGUI图形系统、集众多功能于一身的ARM9教学实验开发平台。
采用Samsung公司的ARM920T内核的S3C2410A微处理器,扩展有充足的存储资源和众多典型的嵌入式系统接口。
MagicARM2410实验箱参考如图1.1所示。
图1.1 MagicARM2410实验箱外观图MagicARM2410实验箱功能框图如图1.2所示。
图1.2 MagicARM2410实验箱功能框图1.1 S3C2410A芯片简介S3C2410A是Samsung公司推出的16/32位RISC处理器(ARM920T内核),适用于手持设备、POS机、数字多媒体播放设备等等,具有低价格、低功耗、高性能等特点。
嵌入式ADS实验指
导书
实验一嵌入式微处理器系统的开发环境
一、实验环境
PC机一台
软件: ADS 1.2集成开发环境一套
二、实验目的
1.了解嵌入式系统及其特点;
2.熟悉嵌入式系统的开发环境和基本配置并能编写简单的汇编程序
三、实验内容
1.嵌入式系统的开发环境、基本配置
2.使用汇编指令完成简单的加法实验
四、实验步骤
(1)在D:\新建一个目录,目录名为experiment。
(2)点击 WINDOWS 操作系统的“开始|程序|ARM Developer Suite v1.2 |Code Warrior for
ARM Developer Suite”启动Metrowerks Code Warrior,或双击“ADS 1.2”快捷方式启动。
启动ADS 1.2 如图1-1所示:
图1-1启动ADS1.2
(3) 在CodeWarrior 中新建一个工程的方法有两种,能够在工具栏中单击“New”按钮,
也能够在“File”菜单中选择“New…”菜单。
这样就会打开一个如图1-2 所示的对话框。
选择【File】->【New…】,使用ARM Executable Image工程模板建立一个工程,名称为ADS,目录为D:\experiment。
图1-2 新建文件
在这个对话框中为用户提供了7 种可选择的工程类型:
1)ARM Executabl Image:用于由ARM 指令的代码生成一个ELF 格式的可执行映像文件;
2)ARM Object Library:用于由ARM 指令的代码生成一个armar 格式的目标文件库;
3)Empty Project:用于创立一个不包含任何库或源文件的工程;4)Makefile Importer Wizard:用于将Visual C 的nmake 或GNU
make 文件转入到CodeWarrior IDE 工程文件;
5)Thumb ARM Executable Image:用于由ARM 指令和Thumb 指令的混和代码生成一个可执行的ELF 格式的映像文件;
6)Thumb Executable image:用于由Thumb 指令创立一个可执行的ELF 格式的映像文件;
7)Thumb Object Library:用于由Thumb 指令的代码生成一个armar 格式的目标文件库。
(4)选择【File】->【New…】建立一个新的文件TEST1.S,设置直接添加到项目中。
输入如程序代码,并保存,此时在工程窗口中能够看到TEST1.S文件。
图1-3 新建test1.s
(5) 选择【Edit】->【Perferences…】,在Font选项设置字体是Fixedsys,Script是CHINESE_GB2312。
图1-4 设置字体
(6) 选择【Edit】->【DebugRel Settings…】,在DebugRel Settings 对话框的左边选择ARM Linker项,设置链接地址。
点击“DebugRel Settings…”图标按钮,即可进行工程的地址设置、输出文件设置、编
译选项等,如图1-5所示。
在“ARM Linker”对话框设置连接地址,在“Language Settings”中设置各编译器的编译选项。
对于简单的软件调试,能够不进行连接地址的设置,直接点击工程窗口的“Make”图标按钮,即可完成编译连接。
若编译出错,会有相应的出错提示,双击出错提示行信息,编辑窗即会使用光标指出当前出错的源代码行,编译连接输出窗口如图1-6所示。
同样,您能够在【Project】菜单中找到相应的命令。