当前位置:文档之家› 嵌入式简单汇编程序实例

嵌入式简单汇编程序实例

嵌入式简单汇编程序实例
嵌入式简单汇编程序实例

ARM实验报告

姓名:郭健傧学号:L2101898

1.实验目的

(1)了解ADS1.2集成开发环境及ARMulator软件仿真;

(2)熟悉ARM的乘法指令和逻辑指令;

(3)结合ARM处理器硬件特性,比较处理函数的特性;

2.实验设备

硬件:pc机一台;

软件:Windowsxp系统,ADS1.2集成开发环境;

3.实验内容

(1)建立一个新的工程;

(2)建立一个汇编文件,并添加到工程;

(3)根据所给的两个C语言函数编写相应的汇编程序,并比较一下代码中fact1和fact2两个函数的特性;

4.实验步骤

(1)启动ADS1.2IDE集成开发环境,使用ARM Executable Image 工程模块建立一个工程heiye。

(2)建立汇编源文件test.s,编写程序实验,并添加到工程heiye中。

(3)设置工程连接地址Ro Base为0x40000000,RWBase为0x40003000。设置调试入口地址Image entry point为0x40000000。

(4)编译链接工程,并启动AXD进行软件仿真调试。

5.编写程序如下:

C程序源代码:

int fact1(int limit)

{ int fact=1;

for(i=1;i

fact*=i;

return fact;}

int fact2(int limit)

{int fact=1;

for(i=limit;i!=0;i--)

fact*=i;

return fact;}

(1)编写相应的汇编代码1:

;n!arithmetic

AREA heiye1,CODE,READONLY

CODE32

ENTRY

Main

LDR R0,limit ;装载limit

LDR R1,fact ;装载fact

MOV R2,R1 ;把r2设置为1

BL CYCLE ;调用循环程序

STR R1,result ;将结果存储到内存

MOV R0,#0x18 ;执行中止

SWI 0x123456

CYCLE

MUL R3,R1,R2

MOV R1,R3

ADD R2,R2,#1

CMP R0,R2 ;比较R0和R2的大小并修改状态位

BNE CYCLE

MOV PC,LR

AREA NUM,DATA,READWRITE ;定义数据段

fact DCD 1

limit DCD 0x0000000A

result DCD 0

END

(2)编写相应的汇编程序2:

;n!arithmetic

AREA heiye2,CODE,READONLY

CODE32

ENTRY

Main

LDR R0,limit ;装载limit

LDR R1,fact ;装载fact

BL CYCLE ;调用循环程序

STR R1,result ;将结果存储到内存

MOV R0,#0x18 ;执行中止

SWI 0x123456

CYCLE

MUL R3,R1,R0

MOV R1,R3

SUBS R0,R0,#1

BNE CYCLE ;判断R0是否为零

MOV PC,LR

AREA NUM,DATA,READWRITE ;定义数据段

fact DCD 1

limit DCD 0x0000000A

result DCD 0

END

6.程序中出现的问题

(1)刚开始时,由于马虎把result也写成了resule,导致(STR R1,result)时提示出错,经过仔细查看才发现。程序入口ENTRY和程序结束END前没按Tab

键,编译时提示没有程序入口,这些地方要特别注意!

(2)仔细比较两个程序的运行结果会发现,第一个汇编程序运算的是(limit-1)!,第二个汇编程序运算的是(limit)!。但当limit的取值较大时,结果溢出,暂时未能解决!请老师给予指导!

7.程序演示过程

可以单步运行程序,可以设置/取消断点,或者全程运行程序,停止运行程序,调试观看寄存器和0x40000000地址上的值,运行结果如下:

(程序1的单步运行演示)

(程序1的全程运行结果)

(程序2的单步运行演示)

(程序2的全程运行结果)

ARM嵌入式开发系统实例.

第一章 ARM概述及体系结构 1.ARM的全称:Advanced RISC Machine 2.ARM内核最大的优势在于高速度,低功耗,32位嵌入式RISC微处理器结构—ARM体系结构,ARM处理器核当前有6个系列产品:ARM7,ARM9,ARM9E,ARM10E,SecurCore,ARM11 3.ARM处理器的7种模式:用户模式,快速中断模式,外部中断模式,特权模式,数据访问模式,未定义模式,系统模式 4.ARM处理器共有37个寄存器,包括31个通用寄存器和6个状态寄存器。通用寄存器可以分为三类:未备份寄存器,备份寄存器,程序寄存器(PC),寄存器R14又称为连接寄存器,它有两个作用,第一:它存放了当前子程序的返回地址。第二:当异常中断发生时,该异常模式特定的物理R14被设置成该异常模式将要返回的地址。 5 CPRS(当前程序状态寄存器)中断控制位当I=1时禁止IRQ中断当F=1时禁止FIQ中断 6 ARM中断异常中断的种类:复位(RESET),未定义的指令(UNDENFINED INSTRUCTION),软件中断(SOFTWARE INTERRUPT),指令预取中止(PREFECH),数据访问中止(DATA ABORT),外部中断请求(IRQ),快速中断请求(FRQ) 7 ARM的存储器接口可以分为四类:时钟和时钟控制信号,地址类信号,存储器请求信号,数据时序信号。 第三章构造和调试ARM系统 1 ARM应用系统的设计包含硬件系统的设计和软件系统的设计。最基本得组成部分包括:电源部分,晶振电路,复位电路,ROM和RAM。 2.P96的RESET电路(大家好好看下,老师上课说了下的)复位电路主要完成系统的上电复位和系统在运行时的用户的按键复位功能。它的工作原理是:在系统上电是,通过电阻R1向电容C1充电,当C1两端的电压未达到高电平的门限电压时,RESET端输出为低电平,系统处于复位状态,当C1两端的电压达到了高电平的门限电压时,RESER端输出为高电平,系统处于正常工作状态。当用户按下按钮S1时,C1两端的电荷被卸放掉,reset 端输出为低电平,系统进入复位状态,再重复以上的充电过程,系统进入正常的工作状态。

嵌入式系统设计与应用

嵌入式系统设计与应用 本文由kenneth67贡献 ppt文档可能在W AP端浏览体验不佳。建议您优先选择TXT,或下载源文件到本机查看。 课程名称:课程名称:嵌入式系统设计与应用 总学时:其中讲课36学时,上机实践环节12 36学时12学时总学时:其中讲课36学时,上机实践环节12学时教材:嵌入式系统设计教程》教材:《嵌入式系统设计教程》电子工业出版社马洪连参考书:参考书:1、《嵌入式系统开发与应用》北航出版社、田泽编著. 嵌入式系统开发与应用》北航出版社、田泽编著. 2、《ARM体系结构与编程》清华大学出版社杜春雷编著ARM体系结构与编程体系结构与编程》嵌入式系统设计与实例开发—ARM ARM与C/OS3、《嵌入式系统设计与实例开发ARM与μC/OS-Ⅱ》清华大学出版社王田苗、魏洪兴编著清华大学出版社王田苗、ARM嵌入式微处理器体系结构嵌入式微处理器体系结构》4、《ARM嵌入式微处理器体系结构》北航出版社、马忠梅等著. 北航出版社、马忠梅等著. 张石.ARM嵌入式系统教程嵌入式系统教程》5、张石.《ARM嵌入式系统教程》.机械工业出版2008年社.2008年9月 1 课程内容 绪论:绪论: 1)学习嵌入式系统的意义2)高校人才嵌入式培养情况嵌入式系统设计(实验课)3)嵌入式系统设计(实验课)内容安排 第1章嵌入式系统概况 1.1 嵌入式系统的定义1.2 嵌入式系统的应用领域及发展趋势1.3 嵌入式系统组成简介 第2章嵌入式系统的基本知识 2.1 2.2 2.3 嵌入式系统的硬件基础嵌入式系统的软件基础ARM微处理器的指令系统和程序设计ARM微处理器的指令系统和程序设计 2 第3章 3.1 3.2 3.3 基于ARM架构的嵌入式微处理器基于ARM架构的嵌入式微处理器ARM 概述嵌入式微处理器的组成常用的三种ARM ARM微处理器介绍常用的三种ARM 微处理器介绍 第4章 4.1 4.2 4.3 4.4 4.5 4.6 嵌入式系统设计 概述嵌入式系统的硬件设计嵌入式系统接口设计嵌入式系统人机交互设备接口嵌入式系统的总线接口和网络接口设计嵌入式系统中常用的无线通信技术 3 第5章嵌入式系统开发环境与相关开发技术 5.1 5.2 5.3 5.4 5.5 6.1 6.2 6.3 6.4 概述嵌入式系统的开发工具嵌入式系统调试技术嵌入式系统开发经验嵌入式系统的Bootloader Bootloader技术嵌入式系统的Bootloader技术μC/OS-II操作系统概述C/OS-II操作系统概述ADS开发环境ARM ADS开发环境C/OS-II操作系统在ARM系统中的移植操作系统在ARM μC/OS-II操作系统在ARM系统

2016年下半年嵌入式系统设计师(中级)上午选择+下午案例真题答案+解析(完整版)Word版

2016年下半年(中级)嵌入式系统设计师考试 上午选择 1、(1)用来区分在存储器中以二进制编码形式存放的指令和数据。 A. 指令周期的不同阶段 B. 指令和数据的寻址方式 C. 指令操作码的译码结果 D. 指令和数据所在的存储单元 答案: A 指令周期是执行一条指令所需要的时间,一般由若干个机器周期组成,是从取指令、分析指令到执行完所需的全部时间。CPU执行指令的过程中,根据时序部件发出的时钟信号按部就班进行操作。在取指令阶段读取到的是指令,在分析指令和执行指令时,需要操作数时再去读操作数。 2、计算机在一个指令周期的过程中,为从内存读取指令操作码,首先要将(2)的内容送到地址总线上。 A. 指令寄存器(IR) B. 通用寄存器(GR) C. 程序计数器(PC) D. 状态寄存器(PSW)

答案: C CPU首先从程序计数器(PC)获得需要执行的指令地址,从内存(或高速缓存)读取到的指令则暂存在指令寄存器(IR),然后进行分析和执行。 3、设16位浮点数,其中阶符1位、阶码值6位、数符1位、尾数8位。若阶码用移码表示,尾数用补码表示,则该浮点数所能表示的数值范围是(3)。 A. -2^64~(1-2^-8)2^64 B. -2^63~(1-2^-8)2^63 C. -(1-2^-8)2^64~(1-2^-8)2^64 D. -(1-2^-8)2^63~(1-2^-8)2^63 答案: B 浮点格式表示一个二进制数N的形式为N=2E×F,其中E称为阶码,F叫做尾数。在浮点表示法中,阶码通常为含符号的纯整数,尾数为含符号的纯小数。 指数为纯整数,阶符1位、阶码6位在补码表示方式下可表示的最大数为63(2^6-1),最小数为-64(-2^6)。尾数用补码表示时最小数为-1、最大数为1-2^-8,因此该浮点表示的最小数为-2^63,最大数为(1-2^-8)×2^63。 4、已知数据信息为16位,最少应附加(4)位校验位,以实现海明

UML嵌入式系统开发实例

1 ˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉ ˉˉˉˉˉˉˉˉˉˉˉˉˉ 讲义名称:UML嵌入式系统开发实例 本讲义内容包括: 1. 录音程式(Recorder) --- p.2 2. 单晶片嵌入式软体介面设计 --- p.2 --- 以8051控制四位数七节LED灯为例 本文引自高焕堂所着的“物件导向ANSI-C”和 “物件导向Keil C51”两书 2008.1.15 by 高焕堂 1

2 ˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉ UML嵌入式系统开发实例之二 如何实现嵌入式介面设计 --- 以四位数七节LED灯为例 ---- 情境:LED显示灯控制 ---- 建模:SysML/UML ---- 语言:物件导向Keil C51 ---- CPU:8051 ---- 平台:无OS单晶片

3 ˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉ 2008.1.15 by 高焕堂 3 介面用途:从硬体的PnP 谈起 硬体埠(Port)就是介面 8051硬体的埠(Port)其实就是介面,透过介面可以连接到LED 、蜂鸣器、 及键盘(Keyboard)等等。如下图: P0 P1 四位數七段顯示器 data scan 8051 硬体的介面 有了像P0、P1等介面,ㄧ个8051单晶片就可以随时与LED 显示器分

嵌入式系统设计与实例开发复习资料(整理)

第一章 1. 嵌入式系统有哪些特点? (1) 系统内核小 (2) 专用性强 (3) 系统精简 (4) 高实时性的操作系统软件是嵌入式软件的基本要求 (5) 嵌入式软件开发要想走向标准化,就必须使用多任务的操作系统 (6) 嵌入式系统开发需要专门的开发工具和环境。第二章 1. 嵌入式微处理器的分类 (1) ARM (2) MIPS (3) Power PC (4) X86 系列 (5) 68K 系列 2.ARM 系列微处理器分类 (1) ARM7 (2) ARM9 (3) ARM9E (4) ARM10E (5) SecurCore (6) StrongARM (7) Xscale 3.ARM 系列微处理器分类 (1) ARM7TDMI (2) ARM7TDMI-S (3) ARM720T (4) ARM7EJ 4.嵌入式系统有哪些常用总线 (1) I2C 总线 (2) SPI 总线 (3) CAN 总线 (4) ARM 总线 (5) PCMCIA 总线 (6) PC-104 总线 5.SPI 总线引脚定义 (1) 串行时钟线(SCK) (2) 主机输入/从机输出数据线( MISO ) (3) 主机输出/从机输入数据线( MOSI ) (4) 低电平有效从机选择( SS) https://www.doczj.com/doc/084054778.html,B 接口的中英文含义 USB 的英文全称是Universal Serial Bus ,中文是“通用串行总线”7.标准JTAG 接口包含哪些引脚 (1) TMS 测试模式选择 (2) TCK 测试时钟 (3) TDI 测试数据输入 (4) TDO 测试数据输出 第三章 1.操作系统的分类: (1) 按时间使用方式分类: ①顺序执行系统 ②分时操作系统 ③实时操作系统 (2) 按实时性分类: ①强实时系统 ②一般实时系统 ③弱实时系统 (3) 按软件结构分类: ①循环轮询系统 ②事件驱动系统 2. 名词解释: 内核:多任务系统中,内核负责管理各个任务,或者说为每个任务分配CPU 时间,并且负责任务之间的通讯。内核提供的基本服务是任务切换。 调度:这是内核的主要职责之一,就是要决定该轮到哪个任务进行了。 代码的临界段:也称为临界区,指处理时不可分割的代码。 3. 常用的嵌入式操作系统: (1) VxWorks (2) Windows CE (3) Palm OS (4) QNX (5) 嵌入式Linux ⑹區/OS 4.BSP 的概念: BSP (板级支持包)是介于底层硬件和操作系统之间的软件层次,它完成系统上电后最初的硬件和软件初始化,并对底层硬件进行封装,使得操作 系统不再面对具体的操作。 5.BSP 的功能: ( 1 )片级初始化:完成微处理器的初始化 ( 2)板级初始化:完成微处理器以外的其 他硬件设备的初始化 (3)系统级初始化:进行操作系统初始化

嵌入式系统应用实例

嵌入式系统应用实例——智能家居 智能家居 智能家居是以住宅为平台,利用综合布线技术、网络通信技术、智能家居-系统设计方案安全防范技术、自动控制技术、音视频技术将家居生活有关的设施集成,构建高效的住宅设施与家庭日程事务的管理系统,提升家居安全性、便利性、舒适性、艺术性,并实现环保节能的居住环境 智能家居是一个居住环境,是以住宅为平台安装有智能家居系统的居住环境,实施智能家居系统的过程就称为智能家居集成。 智能家居集成是利用综合布线技术、网络通信技术、安全防范技术、自动控制技术、音视频技术将家居生活有关的设备集成。由于智能家居采用的技术标准与协议的不同,大多数智能家居系统都采用综合布线方式,但少数系统可能并不采用综合布线技术,如电力载波,不论哪一种情况,都一定有对应的网络通信技术来完成所需的信号传输任务,因此网络通信技术是智能家居集成中关键的技术之一。安全防范技术是智能家居系统中必不可少的技术,在小区及户内可视对讲、家庭监控、家庭防盗报警、与家庭有关的小区一卡通等领域都有广泛应用。自动控制技术是智能家居系统中必不可少的技术,广泛应用在智能家居控制中心、家居设备自动控制模块中,对于家庭能源的科学管理、家庭设备的日程管理都有十分重要的作用。音视频技术是实现家庭环境舒适性、艺术性的重要技术,体现在音视频集中分配、背景音乐、家庭影院等方面。 又称智能住宅。通俗地说,它是融合了自动化控制系统、计算机网络系统和网络通讯技术于一体的网络化智能化的家居控制系统。智能家居将让用户有更方便的手段来管理家庭设备,比如,通过家触摸屏、无线遥控器、电话、互联网或者语音识别控制家用设备,更可以执行场景操作,使多个设备形成联动;另一方面,智能家居内的各种设备相互间可以通讯,不需要用户指挥也能根据不同的状态互动运行,从而给用户带来最大程度的高效、便利、舒适与安全。 智能家居主机

相关主题
文本预览
相关文档 最新文档