实验1 熟悉ARM系统实验板及资料
- 格式:ppt
- 大小:523.00 KB
- 文档页数:2
实验一ARM Cortex-M3 开发板介绍及Keil C 编程环境一、实验目的1. 了解ARM Cortex M3 芯片架构2. 了解开发板结构3.了解Keil C 的开发环境二、实验基本要求1.认真阅读和掌握本实验的程序。
2.按实验要求编写程序并调试运行。
三、实验要点实验环境硬件:PC 机一台,P4 2.06CPU/40GHD/512M RAM 以上配置,STM32F103 开发板一套。
软件:PC 机操作系统为Windows7,程序开发调试环境为Keil C。
四、实验学时数本次实验共2 学时。
4五、实验内容.找到示例工程:将配套光盘插进光驱,在“F:\ARM Cortex-M3 客户光盘2011-2-16\DM-EC-CV7 ARMCortex-M3 教学板套装客户光盘2010-11-29\软件\源程序\基于ARM Cortex-M3 的STM32 系列嵌入式微处理器应用实践配套程序(V1.0 库)\第02 章”目录下,找到“1.Led_Blink”文件夹。
将整个文件夹拷贝至计算机的 D 盘。
并更改目录属性为可读写。
.打开工程:进入刚移到D 盘的工程文件夹,双击工程文件“Led_Blink.Uv2”,打开工程。
.连接开发板:用JTAG 调试器将计算机与开发板连接起来,连接开发板电源。
.配置编译环境:在工程资源管理器界面上,右键点击工程文件夹,在弹出式菜单中选择“Opertions for Group ‘Source Group 1’”。
.察看芯片型号设置:在Opertions for Group ‘Source Group 1’对话框中选择“Device”页,确认当前选择的芯片型号与开发板的芯片型号一致“STM32F103VC”.察看外部晶振:在OpertionsforGroup‘SourceGroup1’对话框中选择“Target”页,确认当前填入的晶振频率与开发板的外接晶振频率一致。
.察看输出设置:在OpertionsforGroup‘SourceGroup1’对话框中选择“Output”页,察看输出选项。
《嵌入式系统》实验报告实验一ARM汇编指令一实验目的1.1 初步学会使用Embest IDE for ARM 开发环境及ARM软件模拟器;1.2 通过实验掌握简单ARM汇编指令的使用方法。
二实验设备2.1 硬件:PC机;2.2 软件:Embest IDE 2004集成开发环境。
Windows98/2000/NT/XP;2.3 ARM实验箱。
三实验内容3.1 熟悉开发环境的使用,并使用LDR/STR和MOV等指令访问寄存器或存储单元;3.2 使用ADD/SUB/LSL/LSR/AND/ORR等指令,完成基本数学/逻辑运算。
四实验原理ARM处理器共有37个寄存器:31个通用寄存器,包括程序计数器(PC),这些寄存器都是32位;6个状态寄存器,这些寄存器也是32位,但只使用了其中的12位。
4.1 ARM通用寄存器通用寄存器(R0~R15)可分为3类,即不分组寄存器R0~R7.分组寄存器R8~R14.程序计数器R15。
4.2存储器格式ARM体系结构将存储器看作是从零地址开始的字节的线性组合。
字节0~3存放第一个字,字节4~7存放第2个字,以此类推。
ARM体系结构可以用两种方法存储字数据,分别称为大端格式和小端格式。
4.3 GNU基础知识Embest IDE集成了GNU汇编器as、编译器gcc和链接器ld。
因此,编写程序要符合CNU的语法和规则。
关于as.gcc和ld的具体使用,请参照Embest IDE所带的电子文档ProgRef.chm。
五实验程序使用LDR/STR和MOV等指令访问寄存器或存储单元,实现数据的加法运算:x equ 45 /* 定义变量x并赋值为45*/y equ 64 /* 定义变量y,并赋值为64*/STACK_TOP equ 0x1000 /* 定义栈顶0X1000*/AREA HHHH,CODE,READONLY /* 声明代码段HHHH,只读属性*/ENTRY /* 伪指令标识程序入口点*/start /* 程序代码开始标志*/MOV sp,#STACK_TOPMOV r0,#x /* 变量x的值放入R0*/STR r0,[sp] /* 将R0的值传送到以SP值为地址的堆栈中*/ MOV r0,#y /* 变量y的值放入R0*/LDR r1,[sp] /* 将堆栈中的数传送到R1*/ADD r0,r0,r1 /* 将寄存器R0和R1的值相加,结果保存到R0*/ STR r0,[sp] /* 将R0的值传送到以SP值为地址的堆栈中*/ Stopb stop /* 程序结束,进入死循环*/End2.使用指令,完成基本数学/逻辑运算:X EQU 45 /* 定义变量X,并赋值为45*/Y EQU 64 /* 定义变量Y并赋值为64*/Z EQU 87 /* 定义变量Z并赋值为87*/STACK_TOP EQU 0X1000 /* 定义栈顶0X1000*/AREA HHHHH,CODE,READONLY /* 声明代码段HHHHH,只读属性*/ENTRY /* 伪指令标识程序入口点*/START /* 程序代码开始标志*/MOV R0,#X /* 变量X的值放入R0*/MOV R0,R0,LSL#8 /* 将R0的值左移8位*/MOV R1,#Y /* 变量Y的值放入R1*/ADD R2,R0,R1,LSR#1 /* 将R1的值右移1位再和R0相加,结果存在R2*/ MOV SP,#0X1000STR R2,[SP] /* 将R2的值传送到以SP值为地址的堆栈中*/MOV R0,#Z /* 变量Z的值放入R0*/AND R0,R0,#0XFF /* R0与上0XFF,取低八位*/MOV R1,#Y /* 变量Y的值放入R1*/ADD R2,R0,R1,LSR#1 /* 将R1的值右移1位再和R0相加,结果存在R2*/ LDR R0,[SP] /* 以SP值为地址的堆栈值传送到R0*/MOV R1,#0X01 /* 将OX01传送到R1*/ORR R0,R0,R1 /* 将R0和R1逻辑或,结果存在R0*/MOV R1,R2 /* 将R2的值传送到R1*/ADD R2,R0,R1,LSR#1 /* 将R1的值右移1位再和R0相加,结果存在R2*/ STOPB STOP *程序结束,死循环*/END六实验结果及分析(一)实验1:(图一)实验一结论:使用LDR/STR和MOV等指令访问寄存器或存储单元,实现数据的加法运算,先定义变量,然后用到堆栈,将两个数相加后保存。
实验一ARM 汇编指令实验目的:学会使用Embest IDE for ARM开发环境及ARM软件模拟器;通过实验掌握简单ARM汇编指令的使用方法。
一.实验内容:熟悉开发环境的使用并使用 ldr/str/mov 等指令访问寄存器或存储单元。
使用 add/sub/lsl/lsr/and/orr 等指令,完成基本数学/逻辑运算。
二.实验原理:1.ARM通用寄存器ARM7处理器共有37个寄存器:31 个通用寄存器和6个状态寄存器。
(1)31个通用32位寄存器,其中包括程序计数器(PC,即R15)。
通用寄存器(R0~R15)可以分为3 类:1)不分组寄存器R0~R7;所有的处理器模式下访问的都是同一个物理寄存器,即在所有处理器模式下,它们每一个都访问一样的32 位寄存器。
它们是真正的通用寄存器,没有体系结构所隐含的特殊用途。
2)分组寄存器R8~R14;快速中断模式拥有独立的一组分组寄存器R8~R12,其余模式共用一组分组寄存器R8~R12;而所有模式都拥有独立的分组寄存器R13、R14。
3)程序计数器R15;寄存器 R15 用做程序计数器 (PC)。
(2)6个32位状态寄存器,但是ARM7只是使用了其中的12位。
程序状态寄存器CPSR是各种模式下通用的状态寄存器,而各种异常模式都有自己的备份状态寄存器SPSR,分别为SPSR_abt、SPSR_ svc、 SPSR_und、SPSR_irq、SPSR_fiq。
2.存储器格式ARM体系结构将存储器看作是从零地址开始的字节的线性组合。
字节零到字节三放置第一个字(WORD),字节四到字节七存储第二个字,以此类推。
ARM体系结构可以用两种方法存储字数据,分别称为大端格式和小端格式。
(1)小端格式字数据的高位字节存储在高地址中,而字数据的低位字节则存放在低地址中。
高地址 31 23 22 16 15 8 7 0 字地址84低地址0(2)大端格式字数据的高位字节存储在低地址中,而字数据的低位字节则存放在高地址中。
大连理工大学软件学院《嵌入式系统原理与设计》实验报告(每组一份,打印)姓名:刘华一学号:201492405 班级:软1411姓名:李军学号:201493076 班级:软日1401实验时间:16年9月30日实验室:嵌入式实验室指导教师:邱铁成绩:实验一:ARM汇编指令一、实验目的和要求1. 熟悉ARM Developer Suite v1.2集成开发环境2.ARM汇编语言指令功能训练二、实验原理和内容RAM是32位体系结构,每个内存单元是32位的,对于64位的数需要两个字才能存储。
题目:熟悉ARM Developer Suite v1.2集成开发环境逐条试验ARM汇编语言指令功能,并观寄存器\存储器的变化三、主要仪器设备及软件编程环境硬件:PC机软件:ARM Developer Suite v1.2集成开发环境,Windows 98/2000/NT/XP四、实验步骤与编程1.打开软件ARM Developer Suite v1.2,选择file中的新建,在project中选择第一个,输入project name2.在同一个界面选择file,建立一个.s文件,打开此文件后就可以在里面进行编写汇编指令3.输入示例代码后,在原有的project对话框中鼠标右键连接到你所建的工程文件下的.s文件,再点击编译。
4.在新弹出的界面中,打开左边的寄存器列表,再点击单步调试,就可以看到每条指令执行时相应寄存器的变化以及相应要执行的下一条指令。
五、实验数据与结果分析数据传送类指令:算数运算类指令:逻辑运算类指令:比较指令:乘法指令:六、讨论、建议由于对于软件尚未熟悉,且windows系统兼容性原因,在开始配置阶段浪费了较多时间,由于时间有限,只是大体练习了一遍,在批量读取及存储方面仍存在较大问题,需要回去后勤加练习。
实验二、熟悉实验平台,快速启动开发板一、实验目的1、了解嵌入式系统教学科研平台UP-NETARM2410 的主要组成部分和硬件外围端口。
2、学会通过终端仿真程序连接到开发板上,熟悉开发流程。
利用Windows超级终端软件控制开发板,学会超级终端的使用和参数配置。
3、学会下载程序并运行。
二、实验内容1、熟悉硬件平台UP-NETARM2410开发板是博创科技推出的嵌入式开发板。
1.1、UP-NETARM2410开发板资源* 基于ARM9架构的嵌入式芯片S3C2410,主频202MHz * 64MB SDRAM * 64MB NAND FLASH * 2MB NOR FLASH(预留) * LCD(可选)带有一个32脚薄膜线插座 * 触摸屏(可选)带有一个8脚插座 * 1个主USB口、1个从USB口 * 1个JTAG接口 * 1个100M 网卡* 两个串口 * CAN总线接口 * 8通道10位AD转换器* 2通道10位DA转换和2路PWM输出* SD/MMC 接口 * IDE硬盘接口 * CF卡(IDE模式)接口* 2片IIC存储器 * 2个用户自定义LED数码管 * 高性能立体声音频模块,支持放音、录音* 麦克风接入 * 三个40Pin的扩展插座,硬件可无限扩展* 三个可产生中断的按键* DC5V电源、备有RESET、RTC电路。
1.2、 UP-NETARM2410开发板软件资源*提供完整的Linux、WinCE操作系统移植*bootloader:vivi*操作系统:linux 2.4.x*驱动程序:提供所有板级设备的驱动程序1.3、UP-NETARM2410开发板应用软件*mplayer 媒体播放器,实现MPEG4、AVI、WMV 等多种媒体解码。
*摄像头视频采集,QT/E图形界面。
2、开箱指南UP-NETARM2410开发板实验平台包含以下部分:开发板、电源、网线、串口线、并口线、JTAG 线、配套光盘,保修卡,配置单。
辽宁工程技术大学上机实验报告成绩课程名称ARM体系结构与设计实验题目ARM汇匚编程序设计和拓展性实验院系软件学院专业软件专业班级软件13-9 姓名杨国君学号1320010925 实验日期2015.11.23实验目的1.掌握汇编上机过程:编辑源程序、编译、链接和调试过程2 •掌握ARM匚编程序调用C程序;C程序调用ARM汇编指令的方法。
3.完成拓展性实验,了解LED键盘、LCD和异步电机实验。
1.H-JTAG软件安装以及配置。
(1)安装H-JTAG^件,解压H-JTAG0.7x.rar,运行H-JTAG0.7x.exe,按照默认路径安装即可。
(2)复制270-configs子目录下的所有文件到H-JTAG安装目录C:\ProgramFiles\H-JTAG ,覆盖原有文件(不包含“ 270- c on figs ” 文件夹本身)正常连接下载线到目标板,并给目标板上电。
点击开始菜单->H-JTAG->H-JTAG运行程序,程序首次启动后。
点击Setting Tpt jtagsetting ,选择user defined(3)如果程序此时提示没有检测到目标板,则需要重新确认目标板是实验准备否上电,以及连接线是否连接好,然后点击工具栏上的第二个(放大镜形状的) 按钮。
重新检测目标板。
知道能够正确检测到目标板才能进行下面操作。
注意,如果计算机用的并口不是LPT1,则需要在“ setting ”菜单中进行选择。
此时找到PXA270 0X79265013(4)若多次重试都无法正确检测目标板,则点击菜单“ settings ->LPT JtagSetting ”出现Jtag配置界面,确认界面的配置如图4所示,并且可以调整TCK Speeds项,为“ MAX/2 (此时下载速度会减慢一半),再试试是否能够正常工作。
(5)点击主界面上的“ F”形状的按钮启动H-Flasher程序(或从开始实验1: ARM匚编程序设计,完成汇编程序调用C程序实验过程:1.建立一个工程文件。
通用IO口试验一、实验目的 :熟悉ARM 芯片I/O 口编程配置方法;掌握ARM 芯片I/O 口控制LED 显示的方法。
二、实验设备硬件:嵌入式实验平台一套、仿真器一个、PC 机一台。
软件:Windows 98/2000/NT/XP 操作系统、仿真器驱动程序、ADS 开发软件一套。
三、实验内容控制嵌入式实验箱上的LED 轮流点亮。
四、实验原理S3CRRB0X 芯片上共有71 个多功能I/O 引脚,他们分别为7 组I/O 端口:2 个9 位I/O 端口(端口E 和F)2 个8 位I/O 端口(端口D 和G)1 个16 位I/O 端口(端口C)1 个10 位I/O 端口(端口A)1 个11 位I/O 端口(端口B)每组端口都可以通过软件配置寄存器来满足不同系统合设计的需要。
在运行主程序之前,必须先对每一个用到的引脚的功能进行设置。
如果某些引脚的附庸功能没有使用,那么可以先将该引脚设置为I/O 口。
S3C44B0X 芯片与端口相关的寄存器:(1)端口控制寄存器(PCONA~G):在S3C44B0X 芯片中,大部分引脚是使用多路复用的,所以要确定每个引脚的功能。
PCONn(端口控制寄存器)能够定义引脚功能。
如果PG0~PG7 作为掉电模式下的唤醒信号,那么这些端口必须配置成中断模式。
(2)端口数据寄存器(PDATA~G):如果端口定义为输出口,那么输出数据可以写入PDATn 中相应的位;如果端口定义为输入口,那么输入数据可以从PDATn 相应的位中读入。
(3)端口上拉寄存器(PUPC~G):通过配置端口上拉寄存器,可以使该组端口与上拉电阻连接或断开。
当寄存器中相应位配置为0 时,该引脚接上拉寄存器;当寄存器中相应位配置为1 时,该引脚不接上拉电阻。
(4)外部中断寄存器(EXTINT):通过不同的信号方式可以使8 个外部中断被请求。
EXTINT 寄存器可以根据外部中断的需求,将中断触发信号配置为低电平触发,高电平触发,下降沿触发,上升沿触发和边沿触发几种方式。
5_ARM实验报告[实验报告]实验名称:5_ARM实验实验目的:1.了解ARM架构的特点和基本原理;2.掌握ARM指令集和编程模式;3.学会使用ARM开发工具进行编程和调试;4.实现一个简单的ARM程序并运行。
实验器材:1.ARM开发板;2.电脑;B数据线。
实验步骤:1.搭建开发环境根据实验指导书的步骤,将开发板与电脑连接,安装开发工具和驱动程序。
2.学习ARM指令集和编程模式通过阅读教材和参考资料,了解ARM指令集的基本原理和常用指令。
同时,学习ARM的编程模式,包括程序的加载、运行和调试等。
3.编写ARM程序根据实验要求,编写一个简单的ARM程序。
这个程序可以是一个简单的计算器,或者是一个LED灯的控制程序等。
编写程序时需要注意使用合适的指令和编程模式。
4.编译和烧录程序使用ARM开发工具,将编写好的程序进行编译和烧录。
编译过程会生成一个可执行的二进制文件,烧录过程会将这个二进制文件加载到开发板上。
5.调试并运行程序通过ARM开发工具进行调试,检查程序中可能存在的错误,并进行修正。
调试过程中需要注意程序的执行流程和变量的值等。
调试完成后,运行程序并观察其运行结果。
实验结果与分析:在实验中,我成功地搭建了ARM的开发环境,学习了ARM指令集和编程模式,并编写了一个简单的ARM程序。
经过编译和烧录,我成功地将程序加载到开发板上,并通过调试和运行,验证了程序的正确性。
实验中遇到的问题和解决方法:在编写程序的过程中,我遇到了一些语法错误和逻辑问题。
通过阅读资料、查找文档和与同学的讨论,我解决了这些问题。
在调试的过程中,我还遇到了一些程序运行速度过慢的问题。
通过优化代码和使用合适的编译选项,我解决了这个问题。
实验总结:通过这次实验,我对ARM架构有了更深入的了解,掌握了ARM指令集和编程模式的基本原理和使用方法。
通过编写和调试一个简单的ARM程序,我提高了自己的编程能力和解决问题的能力。
实验还让我明白了实际应用中ARM的重要性,以及它对于现代计算机系统的作用。
实验一、ARM开发环境的建立一、实验目的学会安装ADS集成环境及连接仿真硬件平台。
二、实验设备硬件:嵌入式实验平台一套、仿真器一个、PC机一台。
软件:Windows 98/2000/NT/XP操作系统、仿真器驱动程序、ADS开发软件一套。
三、实验内容正确安装完全版ARM ADS1.2集成环境,并了解JTAG硬件仿真环境的一些设置和工作方法。
四、实验原理ARM ADS (ARM DEVELOPER SUITE )是ARM平台集成开发环境,它包括两个部分:CodeWarrior for ARM Developer Suite 和AXD debugger 。
AXD调试通过Windows驱动程序及中间件软件与JTAG接口连接,并通过JTAG接口与硬件平台连接本实验使用ARMJtagDebugFinal中间件软件通过LPT1并行接口经JTAG协议转换连接ARM目标板。
五、实验操作步骤1、安装ADS1.2集成开发环境, 把ADS1.2_Licence.rar中的license.dat文件copy到“C:\Program Files\ARM\ADSv1_2\licenses”路径中,覆盖原来的license.dat,若安装目录设置为其他目录,必须copy到相应目录中。
2、启动CodeWarrior for ARM Developer Suite集成开发环境,设置许可证文件指向最新license.dat文件。
3、首次使用时,①把文件夹ARMJtagDebugFinal.rar中的文件copy到“C:\Program Files\ARM\ADSv1_2\ARMJtagDebugFinal”目录中或其他安装目录;②先安装ARMJtagDebugFinal驱动软件(以后不用再安装),即执行文件夹中的“安装驱动.exe”程序,并点击安装按钮,分别安装“并口驱动”和“OCX”;③在桌面建立Arm7Agent和Arm9Agent 两给快捷连接,分别指向ARMJtagDebugFinal目录中的Arm9.exe, Arm7.exe ;4 安装完毕驱动后,每次调试前,必须先启动运行Arm7Agent或Arm9Agent调试代理软件(中间件),调试过程始终不要关闭调试代理程序,启动并正确连接硬件目标系统之后,既可以开始调试ARM7系统或ARM9系统;5、如果在以后的使用过程中发现程序无法启动,重新执行“安装驱动.exe”即可;6、在ADW(SDT)/AXD(ADS)的调试配置选项里选择remote_a.dll7、在ADW/AXD的调试配置里IP地址必须填写:127.0.0.18、具体的调试使用可以参考"jtag.exe"的使用方法六、常见问题1、THUMB/ARM混合编程时断点设置要素当CPU处于一种CPU模式时(THUMB或ARM) 断点只可以设置在当前模式下的指令处不可以设置在另一种模式下的指令解决方案设置一个断点在CPU模式切换指令处(如BX) 当程序运行到此指令并停下来后然后通过单步执行(Step)进入另一种状态这时候就可以在当前模式下任意设置断点了;2、THUMB/ARM混合编程时因为ADW/AXD启动时默任的CPU模式为ARM模式如果你启动调试前你的ARM CPU 正在执行Thumb模式指令那么将会导致调试错误解决方案按一下你的板子的复位键,然后再启动ADW/AXD即可;3、为了加快软件影响单步执行速度现在暂时屏蔽了semihosting 功能如果你需要此功能可以EMAIL索取;4、如果出现无法逼使CPU进入调试的提示只需要复位你的板子,重新启动软件即可;5、如果发现软件没有任何动作把它关了再启动;6、如果发现软件根本无法运行看不到其运行界面那么执行“安装驱动.exe”,重新驱动OCX即可;7、如果出现打开并口失败,那么执行安装驱动.exe , 重新并口驱动即可;8、如果提示检测不到ARM核如果你的CPU没坏供电正常那么就一定是你的JTAG板子问题了,应该参考常用的那种"SDT"或"Wiggler"接线然后在JTAG调试软件选择对应的选项SDT或wiggler或自定义;9、排除这些如果出现其他的调试错误,那么就是你设置ADW/AXD或你的板子问题了10、一些常见问题请参考 上的BBS;11、有任何疑问请EMAIL sendtoyou@ Tang-ZhongGen,调程序实验二、ADS 1.2 集成开发环境练习ARM ADS(ARM Developer Suite V1.2 )是ARM公司,为开发ARM内核处理机而提供的集成开发环境(IDE)和集成调试环境(ICE)。
arm实验报告ARM实验报告引言:ARM(Advanced RISC Machines)是一种基于精简指令集计算机(RISC)架构的微处理器系列,广泛应用于移动设备、嵌入式系统和智能家居等领域。
本实验报告旨在介绍ARM架构的基本原理、应用领域以及在实验中的应用。
一、ARM架构的基本原理ARM架构采用精简指令集计算机(RISC)的设计理念,注重指令的简洁性和执行效率。
相较于复杂指令集计算机(CISC),ARM架构的指令集更为简单,指令长度固定,执行速度更快,能够提高处理器的性能和能效比。
ARM架构的核心特点包括:1. 简洁指令集:ARM指令集采用三地址指令格式,指令长度为32位,操作码和寄存器字段清晰明了,易于编程和优化。
2. 统一寄存器:ARM架构中的寄存器集合统一,包括13个通用寄存器、程序计数器(PC)和状态寄存器(CPSR),简化了编程和寄存器间的数据传输。
3. 流水线技术:ARM处理器采用流水线技术,将指令的执行过程分为多个阶段,使得多条指令可以同时执行,提高了处理器的吞吐量。
4. 片上缓存:ARM架构支持片上缓存(Cache),能够提高数据的访问速度和处理器的效率。
二、ARM架构的应用领域1. 移动设备:由于ARM处理器具有低功耗和高性能的特点,广泛应用于智能手机、平板电脑和可穿戴设备等移动设备中。
ARM处理器能够提供流畅的用户体验和长时间的电池续航能力。
2. 嵌入式系统:ARM架构适用于嵌入式系统,如智能家居、工业自动化和车载电子等。
ARM处理器的小尺寸、低功耗和高性能使其成为嵌入式系统的首选。
3. 服务器和云计算:ARM架构逐渐在服务器和云计算领域崭露头角。
ARM服务器具有低能耗和高并发处理的特点,能够满足云计算和大数据处理的需求。
三、ARM实验应用在本次实验中,我们使用ARM开发板进行了一系列实验,包括LED控制、按键输入和串口通信等。
1. LED控制实验:通过编写ARM汇编语言程序,实现对开发板上的LED灯进行控制。