文档库 最新最全的文档下载
当前位置:文档库 › 嵌入式思考题

嵌入式思考题

嵌入式思考题
嵌入式思考题

思考题(一)

1)写出ARM可以运行的不同模式。

1.用户模式

2.快速中断模式

3.中断模式

4.管理模式

5.系统模式

6.数据访问终止模式

7.未定义指令终止模式

2) ARM核有多少个寄存器?

37个

3)哪个寄存器用来存储程序指针,链接寄存器和堆栈指针?

R13

4)哪种模式能访问的寄存器是最少的?

用户模式和系统模式

5)哪些寄存器在Thumb态时是在低端一组的?

R0,R1,R2,R3,R4,R5,R6,R7

6)CPSR的哪一位反映了当前处理器的状态?

T位。T = 0: 处理器处于ARM态;T = 1: 处理器处于Thumb态

7)所有的Thumb指令必须对齐的边界是多少?

半字对齐

8)写出ARM不同的异常类型。

未定义指令、预取中止、数据中止、中断、快中断、复位、软中断指令SWI

9)处理器核复位后分别处于哪种模式和哪个状态?

ARM状态,管理模式

10)Thumb指令对比ARM指令,有哪两个主要优势?

对C代码的紧密度做了优化(大约是ARM代码大小的65%);对窄内存的性能进行了提高

思考题(二)

1.ARM7TDMI的流水线有多少级?

3级

2.写出ARM9TDMI流水线各阶段的名字.

取指令,指令译码,执行,内存访问,回写寄存器堆

3.冯诺依曼体系和哈佛体系有什么不同?

冯诺依曼结构数据空间和地址空间不分开;哈佛结构数据空间和地址空间是分开的4.ARM9核在什么情况下会导致读取-使用的互锁?

紧接着LDR指令后用相同寄存器的数据操作会引起流水线互锁

5.Cortex家族实现的是ARM的哪个架构版本?

ARM V7架构

思考题(一)

1. 用一条ARM指令分别实现下面的语句:

a) r0 = 16

MOV r0,#0x10

b) r0 = r1 / 16 (signed numbers)

MOV r0,r1ASR4

c) r1 = r2 * 3

ADD r1, r2, r2LSL 1

d) r0 = -r0

MVN r0,r0

2.BIC指令的作用?

BIC{cond}{S} Rd,Rn,operand2

BIC指令将Rn 的值与操作数operand2 的反码按位逻辑”与”,结果存放到目的寄存器Rd 中.

3.哪些数据处理指令总是设置条件标志位?

算数逻辑运算指令不但将运算结果保存到目的寄存器中,同时更新CPSR中的相应条件标志位;

比较运算:CMP CMN TST TEQ 比较指令仅仅设置了条件标志位

思考题(二)

1. 哪些指令可用于子程序调用的返回?

BL指令实现子程序调用,重新加载链接寄存器的内容至PC寄存器即可实现返回:LDR,STR,DCD,CMP,BLT,LDM,STM

2.要打开或者屏蔽IRQ中断该使用哪些指令?

MSR BIC

3.为了克服ARM 分支指令只有±32MB范围的局限,应该使用哪些指令?

BL LDR pc, =label

思考题(三)

1. CLZ 指令的用途是什么?

前导0计数:返回寄存器内容中第一个1之前的二进制0的个数

2. 以下指令的结果是什么?

r1 = 0x7FFFFF00 r2 = 0x00001000

QADD r0, r1, r2

r0= 0x 80000F00

3. 以下的指令有效吗?

LDRD r7, [r2, 0x100]

无效,因为LDRD 指令加载的是两个字中内存较小的地址-较高地址由该地址+4产生,该指令中r2地址不知道

4. 以下指令的效果是什么?

SMULBT r0, r1, r2

将r1和r2中各选择一半的16位带符号整数相乘,将32位结果放入r0中。

5. 如果r1 = 0x 12 40 67 00, 那么在执行这条语句后r0 的值是什么:

REV r0, r1

r0=00674012

6. 以下指令的意义是什么

SUB16 r1, r2, r0

Thumb 状态下r1=r2-r0

思考题(四)

1. 下面这条Thumb 指令的效果是什么?

ADD r1, r2

r1=r1+r2

2. 这是一条有效的Thumb指令吗?

MSR CPSR_S, r0

有效

3. Thumb中BL 指令的跳转范围是多少?

范围在+/- 4MB (被编码为一对指令)

32位嵌入式微处理器ARM(4)

1、请将C语言中的IF语言用ARM指令系统来表示,并具体写出程序。例如c语言代码如下:

if(a

x=5;

y=c+d;

}else

x=c-d;

用ARM指令实现代码如下:

ADR r4,a; 读取变量a的地址

LDR r0,[r4]; 读变量a的内容到r0

ADR r4,b; 读取变量b的地址

LDR r1,[r4]; 读变量b的内容到r1

CMP r0,r1;

BGE fblock; 如果a>=b,跳转到fblock

ADR r4,x;

MOV r0,#5;

STR r0,[r4]; 令x=5

ADR r4,c; 读取变量c的地址

LDR r0,[r4]; 读变量c的内容到r0

ADR r4,d; 读取变量d的地址

LDR r1,[r4]; 读变量d的内容到r1

ADD r0,r0,r1;

ADR r4,y; 读取变量y的地址

STR r0,[r4];

B after;

fblock: ADR r4,c ;读取变量c的地址

LDR r0,[r4] ;读c的内容到r0

ADR r4,d ;读取变量d的地址到r4

LDR rl,[r4] ;读变量d的内容到r1

SUB r0,r0,rl ;计算a –b 结果保存在r0

ADR r4,x ;读取变量x的地址

STR r0,[r4]

2、请将C语言中的数组用ARM汇编语句表示,并具体写出访问数组的语句。

例如C语言语句:

for(i=0;i<=10;i++)

{

a[i]=b[i]+c;

}

假设R0,R1分别存放了a[i],b[i]的基地址,c的值在R2中,R3中存着0x0a则汇编代码如下:

MOV R3, #0xA ; i^

Next

RSB R5, R3, #0xA ; i = 0,1,2...0xA

LDR R6, [R1, R5] ;b[i]

ADD R6, R6, R2 ;b[i]+c

STR R6, [R0, R5] ;a[i]=b[i]+c

SUB R3, R3, #0x1

CMP R3, #0x0

BNE Next

嵌入式系统设计大作业

嵌入式系统设计大作业 学号:14020520009 姓名:罗翔 1、叙述JTAG接口在嵌入式开发中的作用。 答: (1)用于烧写FLASH 烧写FLASH的软件有很多种包括jatg.exe fluted flashpgm等等,但是所有这些软件都是通过jtag接口来烧写flash的,由于pc机上是没有jtag接口的,所以利用并口来传递信息给目标板的jtag接口。所以就需要并口转jtag接口的电路。 (2)用于调试程序 同时应该注意到jtag接口还可以用来调试程序。而调试程序(如ARM开发组件中的AXD)为了通过jtag接口去调试目标板上的程序,同样是使用pc的并口转jtag接口来实现与目标板的通信。这样,并口转jtag接口的电路就有了两种作用。 (3)仿真器 根据(1)和(2)的总结,并口转jtag接口的电路是两种应用的关键,而这种电路在嵌入式开发中就叫仿真器。并口转jtag接口的电路有很多种,有简单有复杂的,常见的仿真器有Wigger,EasyJTAG,Multi-ICE等。这些所谓的仿真器的内部电路都是并口转jtag接口,区别只是电路不同或使用的技术不同而已。 2、叙述嵌入式平台的搭建过程,以linux为例。 答: 1) 一:建立宿主机开发环境 建立交叉编译的环境即在宿主机上安装与开发板相应的编译器及库函数,以便能够在宿主机上应用开发工具编译在目标板上运行的Linux引导程序,内核,文件系统和应用程序 交叉编译:在特殊的环境下,把嵌入式程序代码编译成不同的CPU所对应的机器代码。

开发时使用宿主机上的交叉编译,汇编及链接工具形成可执行的二进制代码(该代码只能在开发板上执行),然后下载到开发板上运行 2) 下载和安装arm-Linux-gcc编译工具链下载最新的arm-Linux-gcc并解压至当前目录下 在系统配置文件profile中设置环境变量方法:直接在profile文件中加入搜索路径立即使新的环境变量生效:运行source命令,检查是否将路径加入到path,测试是否安装成功, 编译程序,测试交叉工具链 3) 配置超级终端minicom minicom是宿主机与目标板进行通信的终端:在宿主机Linux终端中输入:minicom-s或输入minicom然后按ctrl+A+O对超级终端minicom进行配置,再选择串口并配置串口,最后保存即可 4) 建立数据共享服务:NFS服务是Linux系统中经常使用的数据文件共享服务 5) 编译嵌入式系统内核:内核配置,建立依存关系,建立内核 6) 制作文件系统 3、给出现今有哪些用于嵌入式开发的芯片名称,他们分别是哪些公司的产品? 体系结构是什么? S3C2410X基于ARM的Sumsang; XscalePXA255/PXA270基于ARM的Intel; 摩托罗拉MC基于68k; Power 601基于Power PC; MIPS32Kc基于MIPS 4、现今较流行的嵌入式操作系统有哪些? 答: (1) VxWorks (2)wince (3)linux (4)android

嵌入式复习思考题(1)答案

嵌入式复习思考题及答案(1) 一、简答题 1、ARM9有哪几种工作模式?其中哪几种属于特权模式?哪几种属于几种异常模式? 答:有用户、系统、管理、中止、未定义、普通中断、快速中断。系统、管理、中止、未定义、普通中断、快速中断属于特权模式。管理、中止、未定义、普通中断、快速中断属于几种异常模式。 2、ARM9有哪2种工作状态?各自特点?实现状态切换指令的是什么? 答:ARM状态与Thumb状态。ARM状态指令是32位;Thumb状态指令是16位。切换指令是BX。 3、简述ARM9在不同工作模式下寄存器分布情况(用图表说明)。R13、R1 4、R15的固定用途;CPRS和SPRS名称及功能。 答:R13常作为堆栈指针SP、R14作为链接寄存器LR、R15作为程序计数器PC。CPRS是当前程序状态寄存器,包含条件代码、中断禁止位、当前处理器模式以及其他状态和控制信息。SPRS是程序状态保存寄存器,异常出现时用于保存CPRS的状态。 4 5 答:响应过程:1、将引起异常指令的下一条指令的地址保存到新的异常工作模式的R14中; 2、将CPSR的内容保存到将要执行的异常中断对应的SPSR中; 3、根据异常类型CPSR中的运行模式位; 4、将相应的矢量地址赋值给PC,开始执行异常处理程序。还可设中断禁止位。 返回过程: 1、将连接寄存器LR的值减去相应的偏移量后送到PC中; 2、将SPSR内容送回CPSR; 3、若在进入异常处理时设置了中断禁止位,要在此清除。 6、写出ARM9支持的寻址方式,各举一例。 答:略 7、写出指令LDRB/LDRH/LDR的区别。 答:LDRB将内存单元一个字节的数据扩展到32位装载到寄存器; LDRH将内存单元半字(两个字节)的数据扩展到32位装载到寄存器; LDR 将内存单元一个字的数据装载到寄存器。 8、写出LDM、STM指令用于数据块拷贝时对应的4种后缀以及用于堆栈操作对应的4种后缀。 解释各自的执行过程。 答:数据块拷贝后缀:IA操作后指针增;DA操作后指针减; IB操作前指针增;DB操作前指针减。 堆栈操作后缀:FD满递减;ED空递减;FA满递增;EA空递增。 9、ARM和Thumb两种状态下各自堆栈的生成方式有何不同?写出各自对应的入栈、出栈指令。答:ARM堆栈有4种生成方式满递增、满递减、空递增、空递减; 入栈指令:STM(FD\ED\FA\EA 4种后缀之一)出栈指令:LDM(FD\ED\FA\EA 4种后缀之一)Thumb堆栈采用满递减的生成方式。入栈指令:PUSH . 出栈指令:POP 10、写出条件代码NE、EQ的判断条件。 答:NE Z=0 (不相等);EQ Z=1 (相等) 11、B、BL及BX指令有何区别?写出无嵌套的子程序调用及返回指令。 答:B是简单的转移指令,实现向目的地址的简单的跳转;

嵌入式系统练习题作业

目录 第一章嵌入式系统概述练习题 (2) 第二章嵌入式系统的基本知识练习题 (3) 第三章ARM微处理器体系结构与指令集练习题 (4) 第四章嵌入式实时操作系统内核分析练习题 (5) 第五章嵌入式系统硬件平台与接口设计练习题 (6) 第六章软件系统结构设计练习题 (8) 第七章嵌入式软件应用程序实例练习题 (9)

第一章嵌入式系统概述练习题 1.嵌入式系统的定义是什么? 答:嵌入式系统是将计算机硬件和软件结合起来构成的一个专门的装置,这个装置可以完成一些特定的功能和任务,能够在没有人工干预的情况下独立地进行实时监测和控制。 另外,由于被嵌入对象的体系结构、应用环境不同,所以各个嵌入式系统也可以由各种不同的结构组成。 2.嵌入式系统有哪些特点? 答:嵌入式操作系统可以统称为应用在嵌入式系统的操作系统,它具有一般操作系统的功能,同时具有嵌入式软件的特点,主要有: 1)系统内核小 2)专用性强 3)系统精简 4)高实时性的操作系统软件是嵌入式软件的基本要求 5)嵌入式软件开发要想走向标准化,就必须使用多任务的操作系统 6)嵌入式系统开发需要专门的开发工具和环境 3.嵌入式系统是怎样分类的? 答: 1)从应用领域来分 2)从实时性的角度来分 a)硬实时(Vxworks) b)软实时(WinCE,RTLinux) c)无实时(Embedded Linux) 3)从嵌入式系统的商业模式来分类 a)商用型:功能稳定、可靠,有完善的技术支持和售后服务,开 发费用+版税。 b)开源型:开放源码,只收服务费,没有版税。如Embedded linux, RTEMS,eCOS。 4.嵌入式系统可以用到哪些领域? 答:嵌入式技术可应用在:工业控制;交通管理;信息家电;家庭智能管理;网络及电子商务;环境监测;机器人等领域。 在工业和服务领域中,大量嵌入式技术也已经应用于工业控制、数控机床、智能工具、工业机器人、服务机器人等各个行业,正在逐渐改变着传统的工业生产和服务方式。例如,飞机的电子设备、城市地铁购票系统等都可应用嵌入式系统来实现。嵌入式系统的应用领域如下图所示。

嵌入式系统作业及答案

;exp3_1_1.s source code N EQU 5 AREA Adding, CODE, READONLY ENTRY MOV R0,#0 MOV R1,#1 REPEAT ADD R0,R0,R1 ADD R1,R1,#1 CMP R1,#N BLE REPEAT LDR R2,=RESULT STR R0,[R2] HERE B HERE AREA DataSpace, DATA, READWRITE RESULT DCD 0 END 要求: (1)画出以上代码的流程图,解释代码所能够实现的功能;(2)当代码执行完后,请指出R0=?,R1=?,R2=? R0=1+2+3+4+5=15;R1=6;R2=Result地址

在ARM初始化过程中,如何给每一种模式下的SP定义一个堆栈地址?要求:(1)给出代码,(2)简要解释定义的过程。 P183 第三题 使用汇编实现下列for循环: For (i=0; i<=10; i++) {a[i]=b[i]+i} 要求:(1)给出代码,(2)用ADS1.2验证所编程序。 N EQU 10 AREA Adding, CODE, READONLY ENTRY MOV R1,#0 MOV R2,=A MOV R3,=B REPEAT LDR R0,[R3] ADD R0,R0,R1 STR R0, [R2] ADD R1,R1,#1 ADD R2,R2,#4 ADD R3,R3,#4 CMP R1,#N BLE REPEAT HERE B HERE AREA DataSpace, DATA, READWRITE A DCD 0 0 0 0 0 0 0 0 0 0 0 B DCD 0 0 0 0 0 0 0 0 0 0 0 END

嵌入式习题答案

嵌入式习题答案Last revision on 21 December 2020

第一章习题答案 1.什么是嵌入式系统请列举几个常见的嵌入式系统。 答:根据国际电气和电子工程师协会(IEEE)的定义,嵌入式系统是控制、监视或者辅助设备、机器和生产线运行的装置(Devices used to control, monitor, or assist the operation of equipment, machinery or plants)。这主要是从产品的应用角度加以定义的,由此可以看出嵌入式系统是软件和硬件的综合体,可以涵盖机械等附属装置。 目前被我国科学家普遍认同的定义是:嵌入式系统是以应用为中心,以计算机技术为基础,软硬件可裁减,对功能、可靠性、成本、体积、功耗要求严格的专用计算机系统。 常见的嵌入式系统:手机,DVD,路由器,核磁共振仪,全自动洗衣机。 2.嵌入式系统与通用计算机有哪些区别 答:(1) 以应用为中心;(2) 以计算机技术为基础(3) 软件和硬件可裁减(4) 对系统性能要求严格(5)软件的固件化(6)需要专用的开发工具 3.嵌入式系统的发展分为哪几个阶段 答:第一阶段:无操作系统的嵌入算法阶段。第二阶段:以嵌入式CPU为基础,以简单操作系统为核心的嵌入式系统。第三阶段:以嵌入式操作系统为标志的嵌入式系统。第四阶段:以基于Internet为标志的嵌入式系统。 4.请列举嵌入式系统的主要应用领域。 答:(1)工业控制领域(2)交通运输领域(3)消费电子产品(4)家电领域(5)通信领域(6)商业和金融领域(7)环境监测领域(8)医疗领域(9)建筑领域(10)军事国防领域(11)航天航空领域

嵌入式系统原理与应用习题解析

1.8 练习题P14 1.选择题 (1)A 说明:嵌入式系统的发展趋势表现在以下几方面: 1.产品种类不断丰富,应用范围不断普及 2.产品性能不断提高 3.产品功耗不断降低,体积不断缩小 4.网络化、智能化程度不断提高 5.软件成为影响价格的主要因素 (2)D

说明:常见的嵌入式操作系统: VxWorks,Windows CE、uC/OS-II和嵌入式Linux。 (3)A 说明:VxWorks是美国WindRiver公司于1983年开发的一种32位嵌入式实时操作系统。 2.填空题 (1)嵌入式计算机 (2)微处理器外围电路外部设备 (3)板级支持包实时操作系统应用编程接口应用程序 (4)嵌入式处理器微控制器数字信号处理器 3.简答题 (1)简述嵌入式系统的定义和特点 答:定义:以应用为中心,以计算机技术为基础,软硬件可裁剪,应用系统对功能、可靠性、成本、体积、功耗有严格要求的专用计算机系统。 特点:专用性强、实时性好、可裁剪性好、可靠性高和功耗低等。(2)简述计算机系统的发展历程 第一阶段大致在20世纪70年代前后,可以看成是嵌入式系统的萌芽阶段; 第二阶段是以嵌入式微处理器为基础,以简单操作系统为核心的嵌入式系统; 第三阶段是以嵌入式操作系统为标志的嵌入式系统,也是嵌入式应用

开始普及的阶段; 第四阶段是以基于Internet为标志的嵌入式系统,这是一个正在迅速发展的阶段。 (3)简述MCU和DSP的区别 MCU是微控制器,DSP是数字信号处理器。 MCU相当于小型的电脑,内部集成的CPU、ROM、RAM、I/O总线,所以集成度高是它的特点。 DSP是专用的信息处理器,内部的程序是对不同的机器和环境进行特别优化,所以处理速度是最快的。 2.4 练习题 1. 填空题 (1) ARM7 ARM9 ARM9E ARM10E ARM11 (2) 精简指令集计算机 (3) Samsung ARM920T IIC总线 (4) BGA 显卡布线 (5) 1.8V 3.3V (6) 8 128 1 (7) S3C2410 64MB 64MB 2. 选择题 (1) D (2)C (3)A (4)B (5)B (6)C (7)D (8)C (9)C (10)B

21嵌入式设计复习题答案

一、填空题 1、哈佛体系结构数据空间和地址空间(分开),ARM920T采用(哈佛)的内核架构。 2、 ARM7TDMI采用( 3 )级流水线结构,ARM920TDMI采用( 5 )级流水线。 3、ARM7TDMI中,T表示支持16位Thumb指令集,D表示(在片可调式),M 表示内嵌乘法器Multiplier,I表示(嵌入式ICE ),支持在线断点和调试。 4、“嵌入性”、“专用性”与“计算机系统”是嵌入式系统的三个基本要素。 5、ARM处理器共有37个寄存器,31个通用寄存器,6个状态寄存器。寄存器R13通常用作堆栈指针,称作SP。寄存器R14用作子程序链接寄存器,也称为链接寄存器LK (Link Register)。 6、程序状态寄存器CPSR的N、Z、C、V分别指--,I=1指-禁止IRQ中断-、F=1指-禁止FIQ中断-,M[4:0]用做-处理器模式选择-。 7、ARM微处理器支持四种类型的堆栈,即:满递增堆栈、满递减堆栈、空递增堆栈、空递减堆栈。 8、ARM微处理器有 7 种工作模式,它们分为两类特权模式、非特权模式。其中用户模式属于非特权模式 9、ARM支持两个指令集, ARM核因运行的指令集不同,分别有两个状态 ARM状态、thumb状态,状态寄存器CPSR的 T (或者填 D5 )位反映了处理器运行不同指令的当前状态 10、ARM处理器有两种总线架构,数据和指令使用同一接口的是冯诺依曼结构,数据和指令分开使用不同接口的是哈佛结构 11、ARM核有多个寄存器,其中大部分用于通用寄存器,有小部分作为专用寄存器, R15 寄存器用于存储PC,R13通常用来存储 SP (或者填堆栈指针) 12、编译链接代码时,有两种存储代码和数据的字节顺序,一种是小端对齐,另一种是大端对齐 13、不同的中断处理不同的处理模式,具有不同的优先级,而且每个中断都有固定的中断入口地址。当一个中断发生时,相应的R14存储中断返回地址,SPSR 存储状态寄存器CPSR的值。 14、嵌入式微处理器有嵌入式微处理器、嵌入式微控制器、曲入式DSP处理器和嵌入式片上系统四种类型。 15、ARM9TDMI采用5级流水线:取指、译码、执行、访存和写回。 16、AMBA总线结构包括ASB、AHB和APB总线。ASB/AHB用于CPU与存储器、DMA 控制器、总线仲裁控制器等片上系统中芯片的连接,APB用于连接低速的外围设备。 17、函数的参数传递方法有两种:R0~R3寄存器和堆栈 1 9、下列32位数中,不可作为立即数的是__A__ A、0x81000007

嵌入式系统第3次离线作业(含答案)

《嵌入式系统》作业三 一、判断题 1.ARM属于CISC体系架构。F 2.除了用户模式外,ARM处理器的其它几种工作模式属于特权模式。T 3.在任何模式下,ARM处理器都可以访问全部寄存器。F 4.在ARM处理器中,快速中断(FIQ)的优先级高于外部中断(IRQ)。T 5.使用立即寻址时,目标寄存器可以为立即数。F 6.BLX指令可以将处理器切换到Thumb状态。T 7.链接寄存器(LR)用于保存子程序的返回地址,它不能用作其他用途。F 8.由于使用寄存器R0-R3来传递参数,所以调用子程序时,参数不能超过4个。F 9.使用汇编编写ARM程序时,可直接为PC寄存器赋值。T 10.ATPCS是ARM程序和Thumb程序中子程序调用的规则,它是一套强制规则。F 二、选择题 11.下列哪项不是ARM处理器的特点。B A.小体积、低功耗 B.可以使用除加载/存储指令外的多种指令访问存储器 C.大多数数据操作在寄存器中完成,执行速度快 D.支持Thumb/ARM双指令集 12.当加法指令产生进位时,下列哪个条件标志位会发生变化:A A. C B.T C.I D. F 13.下列哪个不属于ARM处理器的寻址方式:D A.立即寻址 B.寄存器寻址 C.寄存器间接寻址 D.链表寻址 14.下列哪条指令是块操作指令:C A.STMFD B.POP C.LDMIA D.PUSH 15.下列哪条指令把寄存器R1、R2的值相加后存到R0中:C A.AND R0, R1, R2 B.SUB R0, R1, R2 C.ADD R0, R1, R2

D.AND R1, R2, R0 16.R0的中的值为0xFFF3,执行指令AND R0, R0, #3后,R0的值为:A A.0x0003 B.0xFFFF C.0xFFF0 D.0xFFF3 17.CPZSR寄存器中的Z条件码为0,当前的PC值为0xFF00,则执行BEQ 0xAAA0后, PC值为:C A.0xAAA0 B.0xAAA4 C.0xFF04 D.0xFF00 18.下列哪条ARM汇编伪指令可用来定义符号:A A.GBLA B.IF C.MAP D.WHILE 阅读下列程序,回答9~10题: LDR R0, 0x22 LDR R1, 0x11 SUB R0, R0, R1 CMP R0, R1 19.执行这段程序后,R0的值为:C A. A 0x22 B. B 0x33 C. C 0x11 D. D 0 20.执行这段程序后,CPSR的下列哪个标志位将发生变化:C A. C B.V C.Z D.以上都不对 三、简答题 21.请简述ARM处理器的堆栈寻址和块拷贝寻址模式,并比较它们的不同点。 答:堆栈寻址: 按先入先出的方式工作。 块拷贝寻址: 一种多寄存器传送指令,用于将一块数据从存储器的某一块位置拷贝到多个寄存器中或相反。 主要不同点:两者存放数据的顺序相反。

嵌入式SQL习题答案

9.3.1 a) void closestMatchPC() { EXEC SQL BEGIN DECLARE SECTION; char manf[], SQLSTATE[6]; int targetPrice, float tempSpeed, speedOfClosest; char tempModel[4], modelOfClosest[4]; int tempPrice, priceOfClosest; EXEC SQL END DECLARE SECTION; EXEC SQL DECLARE pcCursor CURSOR FOR SELECT model, price, speed FROM PC; EXEC SQL OPEN pcCursor; EXEC SQL FETCH FROM pcCursor INTO :modelOfClosest, :priceOfClosest, :speedOfClosest; if(NOT_FOUND) /* print message and exit */ ; while(1) { EXEC SQL FETCH pcCursor INTO :tempModel, :tempPrice, :tempSpeed; if (NOT_FOUND) break; if(|tempPrice-targetPrice|<|priceOfClosest-targetPrice|) { modelOfClosest = tempModel; priceOfClosest = tempPrice; speedOfClosest = tempSpeed; } } EXEC SQL SELECT maker INTO :manf FROM Product WHERE model = :modelOfClosest; printf("manf=%s, model=%d, speed=%d\n", manf, modelOfClosest, speedOfClosest); EXEC SQL CLOSE CURSOR pcCursor; }

嵌入式系统原理及应用第三章习题

第三章软件作业习题 3、将存储器中0x400000开始的200字节的数据,传送到0x400800开始的区域。 解: AREA procedure3,CODE,READONLY ENTRY CODE32 START MOV R0,#0x400000 LDR R1,=0x400800 MOV R7,#200 LOOP LDRB R2,[R0],#1 STRB R2,[R1],#1 SUBS R7,R7,#1 BNE LOOP CEASE B CEASE END 4、编写程序,比较存储器中0x400000与0x400004两无符号字数据的大小,并且将比较结果存于0x400008的字中,若两数相等其结果记为0,若前者大于后者其结果记为1,若前者小于后者其结果记为-1。解: AREA procedure4,CODE,READONLY ENTRY CODE32 START MOV R0,#0x400000 LDR R1,[R0],#4 ;取第1个数 LDR R2,[R0],#4 ;取第2个数 CMP R1,R2 ;将两个数相比较 MOVHI R1,#1 ;R1比R2大 MOVLO R1,#-1 ;R1比R2小 MOVEQ R1,#0 ;两个数相等 STR R1,[R0] CEASE

B CEASE END 5、存储器从0x400000开始的100个单元中存放着ASCII码,编写程序,将其所有的小写字母转换成大写字母,对其它的ASCII码不做变换。 解: AREA procedure5,CODE,READONLY ENTRY CODE32 START MOV R0,#0x400000 MOV R1,#0 LOOP LDRB R2,[R0,R1] CMP R2,#0x61 ;与‘a’比较 BLO NEXT ;小于转到NEXT CMP R2,#0x7B ;0x7A为‘z’ SUBLO R2, R2,#0x20 ;小于转换 STRBLO R2,[R0,R1] ;小于保存 NEXT ADD R1,R1,#1 CMP R1,#100 BNE LOOP CEASE B CEASE END 6、编写一程序,查找存储器从0x400000开始的100个字中为0的数目,将其结果存到0x400190中。 解: AREA procedure6,CODE,READONLY ENTRY CODE32 START MOV R0,#0x400000 MOV R7,#100 ;控制循环变量 MOV R1,#0 ;保存0的数目 LOOP LDR R2,[R0],#4 ;取数 CMP R2,#0 ;比较为0

ARM原理及应用复习题(附答案)

《ARM原理及应用》复习题 填空题 1.STM32F103是_32_位单片机,内核是ARM公司的___Cortex-M3___。 2.STM32F103最高工作频率___72MHz___。片内具有多种外设,它们分别是:_GPIO_、_USART_、_I2C_、_SPI_、_ADC_、_DAC_、_TIM_、_RTC_、_IWDG_、_WWDG_。 IWDG:独立看门狗 WWDG:窗口看门狗 3.STM32103的GPIO端口具有多种配置状态,输入有3种状态,它们分别是_模拟输入_、_浮空输入__和上拉/下拉输入;输出有4种状态,它们分别是_通用推挽输出_、_通用开漏输出_、_复用推挽输出_和_复用开漏输出_。 5.当STM32I/O端口配置为输入时,输出功能被_禁止_,施密特触发器被激活__。 6.STM32的所有端口都有外部中断能力。当使用外部中断线时,相应的引脚必须配置成 输入模式。 7.STM32具有单独的位设置或位清除能力。这是通过GPIOx->BSRR_和GPIOx->BRR寄存器来实现的。 8.STM32芯片内部集成的12位位ADC是一种逐次逼近(比较)型模拟数字转换器,具有18个通道,可测量16个外部和2个内部信号源。 9.STM32的NVIC管理着包括Cortex-M3核异常等中断,其和ARM处理器核的接口紧密相连,可以实现时延的中断处理,并有效地处理后到中断。 10.系统计时器(SysTick)提供了1个24位二进制递减计数器,具有灵活的控制机制11.STM32通用定时器TIM的16位计数器可以采用三种方式工作,分别为向上计数模式、向下计数模式和向上下计数模式。 12.STM32系列ARM Cortex-M3芯片支持三种复位形式,分别为上电复位、按键复位和备份复位。 简答题 1.什么是嵌入式系统?嵌入式系统一般由哪几部分构成?它与通用计算机有何区别? 答: 是一种嵌入受控器件内部,为特定应用而设计的专用计算机系统,具有“嵌入性”、“专用性”和“计算机系统”3个基本要素。//它一般由嵌入式微处理器、外围硬件设备、嵌入式操作系统以及用户的应用程序等四个部分组成。//嵌入式系统通常执行的是带有特定要求的预先定义的任务,强调控制能力与控制的可靠性;而通用计算机则可以通过安装各种软件执行各种不同的任务,强调高速、海量的数值计算。 2.ARM Cortex-M3有何特点? 答: 采用哈佛结构的32位处理器内核,具有高性能、实时功能、数字信号处理、低功耗与低电压操作特性,同时还保持了集成度高和易于开发的特点。 3.简述Cortex-M3系统滴答定时器的功能和作用。 答:

嵌入式系统作业

期末作业考核 《嵌入式系统》 满分100分 一、判断题(每题3分,共30分) 1. 嵌入式系统一般具有实时约束,有时限要求,因此,嵌入式系统一般都采用分时操作系统。(√) 2.嵌入式系统本身具备自举开发能力,用户可以直接在嵌入式设备上做开发。(×) 3.硬件资源是硬件设计工程师在设计和调试硬件必备的工具,这些资源不包括示波器。(√) 4.嵌入式常用编程语言有汇编语言、C语言、C++语言以及Java语言等。(√) 5.嵌入式 Linux是以Linux为基础的嵌入式操作系统,它是一种开放源代码、软实时、多任务的嵌入式操作系统。(√) 6.uCLinux是面向支持MMU的处理器平台设计的。(×) 7.ARM指令中的第二个操作数可以是一个8位的立即数,也可以是一个任意的32位立即数。(×)8.当异常发生时,需要保护程序执行现场,再进行异常处理。其中,现场保护包括返回地址和CPSR 的值两个方面的内容。(√) 9.MAP用于定义一个结构化的内存表的首地址,可以用“*”代替。(×) 10.SPACE分配的内存单元用0初始化,DCB分配的内存用指定的值初始化。(√) 二、简答题(每题8分,共40分) 1. 什么是可编程片上系统(SOPC)? 答: SOPC(System On Programmable Chip)即可编程的片上系统,或者说是基于大规模FPGA 的单片系统。SOPC 技术是一门全新的综合性电子设计技术,涉及面广。在二○世纪九十年度末,可编程逻辑器件(PLD)的复杂度已经能够在单个可编程器件内实现整个系统。完整的单芯片系统(SOC)概念是指在一个芯片中实现用户定义的系统,它通常暗指包括片内存储器和外设的微处理器。最初宣称真正的SOC――或可编程单芯片系统(SOPC)――能够提供基于PLD 的处理器。在2000 年,Altera 发布了Nios 处理器,这是Altera Excalibur 嵌入处理器计划中第一个产品,它成为业界第一款为可编程逻辑优化的可配置处理器。本文阐述开发Nios 处理器设计环境的过程和涉及的决策,以及它如何演化为一种SOPC 工具。SOPC 是基于FPGA 解决方案的SOC,与ASIC 的SOC 解决方案相比,SOPC 系统及其开发技术具有更多的特色,构成SOPC 的方案也有如下多种途径 2. 什么是嵌入式交叉调试?交叉调试的方式有哪几种? 答:就是宿主机(一般是电脑)与目标机(嵌入式系统)之间跨平台进行调试(一个是x86 架构处理器,一个是ARM 或其他嵌入式微处理器),这种跨平台的调试就叫交叉调试。当然,宿主机与目标机之间存在某种通信方式,以太网通信或串口通信等。 常用的调试方法有Monitor 方式和片上调试方式。

arm嵌入式系统课后习题部分答案

a r m嵌入式系统课后习题 部分答案 The pony was revised in January 2021

一填空题嵌入式系统从大的方面分为(嵌入式系统硬件平台)和(嵌入式软件)两大部分。 驱动层程序一般包括(硬件抽象层HAL)、(板级支持包BSP)和(设备驱动程序)。 嵌入式系统核心是嵌入式处理器,可分为(嵌入式微处理器)、(嵌入式微控制器)、嵌入式DSP处理器和(嵌入式片上系统SoC)4大类。处理器分为(ARM)和(Thumb)两种操作状态。 状态下,SP寄存器指的是(R13)、LR寄存器指的是(R14)、PC寄存器指的是(R15). 处理器支持的数据类型中,字节为(8)位、半字为(16)位、字为(32)位。 (-S)指令集包括(ARM)指令集和(Thumb)指令集。 指令用于从(存储器)中将一个32位的字数据传送到(目的寄存器)中。 指出下面各条指令的寻址方式。 SUB R0,R1,R2 ;寻址方式:(寄存器寻址)。

SUBS R0,R0,#1 ;寻址方式:(立即寻址)。 MOV R0,R2,LSL#3 ;寻址方式:(寄存器移位寻址)。 SWP R1,R1,[R2] ;寻址方式:(寄存器间接寻址)。 LDR R2,[R3,#0x0C] ;寻址方式:(基址寻址)。 汇编语言源程序中语句一般有(指令)、(伪指令)、(伪操作)和宏指令组成。 对Flash存储器的编程可通过(JTAG仿真/调试器)、( ISP )和(IAP)3重方法来实现。 异常向量表可以来自4个不同的存储器区域,分别是(片内Flash )、(片内SRAM )、( Boot Block )和片外存储器。 系列的定时器主要用于3个方面:(对内部事件进行计数的间隔定时器)、(通过捕获输入实现脉宽解调器)、(自由运行的定时器)。二选择题 可以表示微控制器的缩略词是( B ) A. MPU B. MCU C. WDT 类存储器包括( ABD )

嵌入式系统概论--课堂练习

一、指令运算 1、利用若干指令,完成以下计算 1)、求R4R3+R2R1,和放在R6R5中 ADDS R5,R3,R1 ADCS R6,R4,R2 2)、求R4R3-1,差放在R6R5中 SUBS R5,R3,#1 SBC R6,R4,#0 3)、求R4R3+1,和放在R6R5中 @ ADDS R5,R3,#1 ADC R6,R4,#0 4)、求R4R3-R2R1,差放在R6R5中 SUBS R5,R3,R1 SBC R6,R4,R2 2、写出以下ARM指令 1).将R0+0x12地址处的数据读出,保存到R1中 LDR R1,[R0,#0x12] # 2).将R1中数据保存到R0+0x12地址处 STR R1,[R0,#0x12] 3).将R0-0x12地址处的数据读出,保存到R1中 LDR R1,[R0,-#0x12] 4).将R1中的数据保存到R0-0x12地址处 R1,[R0,-#0x12] 5).将R0+R2地址处的数据读出,保存到R1中 LDR R1,[R0,R2] 6).将R1中数据保存到R0+R2地址处 STR R1,[R0,R2] , 7).将R0-R2地址处的数据读出,保存到R1中 LDR R1,[R0,-R2] 8).将R1中的数据保存到R0-R2地址处 STR R1,[R0,-R2] 3、写一条ARM 指令,完成操作r1 = r2 * 3 ADD R1,R2,R2,LSL #1 4、初始值R1=23H,R2=0FH执行指令BIC R0,R1,R2,LSL #1后,寄存器R0,R1 的值分别是多少

R0=21H,R1=23H ~ 二、指令操作 1.ARM7TDMI(-S)有几种寻址方式LDR R1,[R0,#0x08]属于哪种寻址方式 1. 寄存器寻址 2. 立即寻址; 3. 寄存器移位寻址; 4. 寄存器间接寻址; 5. 基址加偏址寻址; 6. 多寄存器寻址; ~ 7. 堆栈寻址; 8. 块复制寻址; 9. 相对寻址; LDR R1,[R0,#0x08]属于基址加偏址寻址。 2.ARM指令的条件码有多少个默认条件码是什么 16条,默认条件码是AL。 3.ARM指令中第二个操作数有哪几种形式举例5个8位图立即数。 (1) 立即数;(2) 寄存器;(3) 寄存器及移位常数; 、 0x3FC(0xFF<<2)、0、0xF0000000(0xF0<<24)、200(0xC8)、0xF0000001(0x1F<<28) 4.CMP指令的操作是什么写一个程序,判断R1的值是否大于0x30,是则将R1减去0x30。 CMP 指令将寄存器Rn 的值减去operand2 的值, 根据操作的结果更新CPSR 中的相应条件标志位, 以便后面的指令根据相应的条件标志来判断是否执行。 CMP R1,#0x30 SUBHI R1,R1,#0x30 》 5.调用子程序是用B还是用BL指令请写出返回子程序的指令 BL 指令用于子程序调用。 MOV PC,LR 6.请指出LDR伪指令的用法。指令格式与LDR加载指令的区别是什么 LDR 伪指令用于加载32 位的立即数或一个地址值到指定寄存器。 第二个数为地址表达式。

嵌入式原理与应用复习题

一.单项选择题 1. 下面哪项为错误的说法(A) A. 冯·诺依曼结构共用数据存储空间和程序存储空间,不共享存储器总线 B. 哈佛结构有分离的数据和程序空间及分离的访问总线 C. 哈佛结构在指令执行时,取址和取数可以进行并行操作 D. 哈佛结构指令执行时效率更高 2. 下列关于/etc/fstab文件描述,正确的是(D) A. fstab文件只能描述属于linux的文件系统 B. CD_ROM和软盘必须是自动加载的 C. fstab文件中描述的文件系统不能被卸载 D. 启动时按fstab文件描述内容加载文件系统 3. ARM9和ARM7的重要区别是(A) A . ARM9带有MMU功能 B . ARM9支持Thumb指令集 C . ARM9带有Cache功能 D . ARM9是哈佛结构 4. 如果数据的存储格式是大端模式,32bit宽的数0x12345678在大端模式下的CPU 内存中的存放(假设从地址0x4000开始)。内存地址为0x4001的内容是(A) A.0x34 B.0x56 C.0x23 D.0x78 5. 文件exer1的访问权限为rw-r--r--,现要增加所有用户的执行权限和同组用户的 写权限,下列命令正确的是(A) A.c h m o d a+x g+w e x e r1 B.c h m o d765e x e r1 C.c h m o d o+x e x e r1 D.c h m o d g+w e x e r1 6. NAND FLASH和NOR FLASH的区别正确的是(D) A. NOR的读速度比NAND稍慢一些 B.NAND 的擦除速度远比NOR的慢 C.NAND的写入速度比NOR慢很多 D.大多数写入操作需要先进行擦除操作。 7. gcc使用下列哪个选项可以查看编译的详细过程(B) A. -o B. -v C.-E D. -g 8. Boot Loader 的stage2通常使用C语言实现,以完成复杂的功能,并增加可读性 和可移植性,以下哪一步骤属于stage2的内容(D) A.为加载?Boot?Loader?的?stage2?准备?RAM?空间 B.设置好堆栈 C.硬件设备初始化 D.将?kernel?映像和根文件系统映像从?flash?上读到?RAM?空间中 9. 怎样新建一个新文件:(A) A.touch hello.c B.mk hello.c C.rm hello.c D.new hello.c 10. 在vi编辑器的命令模式中,删除一行的命令是:(B) A.yy B.dd C.pp D.xx

嵌入式系统基础作业

一、简要说明嵌入式系统产品的基本组成、嵌入式系统特点、嵌入式系统开发流程; 答:基本组成:可分为硬件和软件两个组成部分。其中硬件组成结构以嵌入式微处理机为中心,配置存储器I/O设备、通信模块以及电源等必要的辅助借口;软件组成结构包括应用层、OS层、BSP等。 特点:“专用”计算机系统;运行环境差异大;比通用PC系统资源少;功耗低、体积小、集成度高、成本低;具有完整的系统测试和可靠性评估体系;具有较长的生命周期;需要专用开发工具和方法进行设计;包含专用调试电路;多科学知识集成系统。 开发流程:(1)系统定义与需求分析阶段。(2)方案设计阶段。(3)详细设计阶段。(4)软硬件集成测试阶段。(5)系统功能性及可靠性测试阶段。 二、写出教材图1-1嵌入式系统的组成结构中各英文缩写的中文释义; 答:.OS:操作系统 API:应用程序接口 BSP:板级支持包 Boot:启用装载 HAL:硬件抽象层 SoC/SoPC:片上系统/片上可编程系统 GPIO:控制处理器输出接口 USB:通用串行总线 LCD:液晶显示器 ADC/DAC:模数转换和数模转换 FPGA/CPLD:现场可编程门阵列/复杂可编程逻辑器件 UART/IrDA:通用异步收发传输器/红外线接口 DMA:直接内存访问 CAN:控制器局域网络 Timer/RTC:定时器/实时时钟 MMU/Cache:内存管理单元/高速缓冲存储器

三、比较说明FLASH存储器中NOR型和NAND型FLASH的主要区别;比较说明RAM 存储器中SRAM和SDRAM的主要区别; 答:NORFlash的读取和我们常见的SDRAM的读取是一样,用户可以直接运行装载在NORFLASH里面的代码,这样可以减少SRAM的容量从而节约了成本。NANDFlash没有采取内存的随机读取技术,它的读取是以一次读取一块的形式来进行的,通常是一次读取512个字节,采用这种技术的Flash比较廉价。SRAM是靠双稳态触发器来记忆信息的;SDRAM是靠MOS电路中的栅极电容来记忆信息的。由于电容上的电荷会泄漏,需要定时给与补充,所以动态RAM需要设置刷新电路。但动态RAM比静态RAM集成度高、功耗低,从而成本也低,适于作大容量存储器。所以主内存通常采用SDRAM,而高速缓冲存储器(Cache)则使用SRAM,在存取速度上,SRAM>SDRAM。 四、说明嵌入式系统常见硬件平台种类、典型处理器型号; 答:典型的型号有MIPS处理器、PowerPC处理器、Sparc处理器、ARM处理器、Xtensa系列可配置处理器。 五、嵌入式系统中常用的接口或通信方式有RS232、RS485、BlueTooth、CAN、IrDA、GPRS、SPI、GSM、802.11、SPI、IIC、Ethernet、JTAG等,请根据通信介质是否无线或有线对其进行分类;请根据通信距离从近至远依次排序;请根据通信速度从慢至快依次排序; 答:无线:RS485、BlueTooth、CAN、IrDA、GPRS、GSM、802.11、Ethernet 有线:RS232、SPI、IIC、JTAG 传输距离:RS232、SPI、IIC、JTAG、BlueTooTh、IrDA、RS485、CAN、802.11、GSM、GPRS、Ethernet 传输速度:GSM、GPRS、Blueteeth、IrDA、802.11、CAN、RS232、RS485、Ethernet、IIC、SPI、JTAG 六、列举常见嵌入式操作系统及其特点; 答:源代码公开并且遵循GPL协议 有大量的免费的优秀的开发工具,且都遵从GPL,是开放源代码的。

周立功-ARM嵌入式系统基础教程课后习题答案11

第一章 思考与练习 1、举出3个书本中未提到的嵌入式系统的例子。 答:红绿灯控制,数字空调,机顶盒 2、什么叫嵌入式系统 嵌入式系统:以应用为中心、以计算机技术为基础、软件硬件可裁剪、适应应用系 统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。 3、什么叫嵌入式处理器?嵌入式处理器分为哪几类? 嵌入式处理器是为完成特殊的应用而设计的特殊目的的处理器。 嵌入式微处理器(Embedded Microprocessor Unit, EMPU) 嵌入式微控制器(Microcontroller Unit, MCU) 嵌入式DSP 处理器(Embedded Digital Signal Processor, EDSP) 嵌入式片上系统(System On Chip) 4、什么是嵌入式操作系统?为何要使用嵌入式操作系统? 是一段在嵌入式系统启动后首先执行的背景程序,首先,嵌入式实时操作系统提高了系统的可靠性。 其次,提高了开发效率,缩短了开发周期。再次,嵌入式实时操作系统充分发挥了32 位CPU 的多任务潜力。 第二章 1、嵌入式系统项目开发的生命周期分哪几个阶段?各自的具体任务是什么? 项目的生命周期一般分为识别需求、提出解决方案、执行项目和结束项目4 个阶段。 识别需求阶段的主要任务是确认需求,分析投资收益比,研究项目的可行性,分析厂商所应具备的条件。 提出解决方案阶段由各厂商向客户提交标书、介绍解决方案。 执行项目阶段细化目标,制定工作计划,协调人力和其他资源;定期监控进展, 分析项目偏差,采取必要措施以实现目标。 结束项目阶段主要包括移交工作成果,帮助客户实现商务目标;系统交接给维护人员;结清各种款项。 2、为何要进行风险分析?嵌入式项目主要有哪些方面的风险? 在一个项目中,有许多的因素会影响到项目进行,因此在项目进行的初期,在客户和开发团队都还未投入大量资源之前,风险的评估可以用来预估项目进行可能会遭遇的难题。 需求风险;时间风险;资金风险;项目管理风险 3、何谓系统规范?制定系统规范的目的是什么? 规格制定阶段的目的在于将客户的需求,由模糊的描述,转换成有意义的量化数据。 4、何谓系统规划?为何要做系统规划 系统规划就是拟定一个开发进程,使项目在合理的进程范围中逐渐建构完成。其目地是让客户可以进一步地掌握系统开发的进程,并确定检查点,以让双方确定项目是否如预期中的进度完成。 5、为什么在项目结束前需要进行项目讨论? 项目的讨论一个项目进行的反馈机制。通过这一个程序,项目团队的经验才可以被记录 下来,也就是说,这是一个撰写项目历史的过程。 第三章 1、ARM7TDMI中的T、D、M、I的含义是什么? 64 位乘法指令(带M 后缀的)、支持片上调试(带D 后缀的)、高密度16 位的Thumb 指令机扩展(带T 后缀的)和EmbededICE 观察点硬件(带I 后缀的) 2、ARM7TDMI采用几级流水线?使用何种存储器编址方式? 三级流水线(取指译码执行);使用了冯·诺依曼(V on Neumann )结构,指令和数据共用一条 32 位总线。 3、ARM处理器模式和ARM处理器状态有何区别? 处理器模式指的是处理器在执行程序时在不同时刻所处的不同状态,处理器状态指的是处理器当前所执行的指令集。 4、分别列举ARM的处理器模式和状态。 状态: ARM 状态32 位,这种状态下执行的是字方式的ARM 指令

相关文档
相关文档 最新文档