ARM处理器共有37个寄存器其中包括.

合集下载

ARM题库含答案

ARM题库含答案

ARM题库含答案一、判断题(共100题,每题1分,共100分)1.Linux的特点有内核小,功能强大,运行稳定,效率高等。

A、正确B、错误正确答案:A2.数码管共阴接法是指将负极接在一起。

A、正确B、错误正确答案:A3.复位时RSET引脚直接接电源A、正确B、错误正确答案:B4.使能时钟工作步骤是:1、配置CPU主时钟的来源,以及主时钟的具体频率。

2、配置各部件时钟的具体频率,并打开各部件时钟。

A、正确B、错误正确答案:A5.在每个STM32的芯片上都有两个管脚BOOT0和BOOT1,BOOT1=0BOOT0=1从用户闪存启动,这是正常的工作模式。

A、正确B、错误正确答案:BS电路比TTL电路功耗大。

B、错误正确答案:B7.串口的发送与接受寄存器都是USART_DRA、正确B、错误正确答案:A8.储存器控制器全部寻址空间为1GBA、正确B、错误正确答案:A9.若定义任务task1的优先级为12,则不能再定义其他任务的优先级为12A、正确B、错误正确答案:A10.S3C2410X有24个外部中断源A、正确B、错误正确答案:A11.RCC_APB2PeriphClockCmd()函数是设置外设时钟。

A、正确B、错误正确答案:A12.我们通常将按键对应的引脚设置为上拉输入模式A、正确正确答案:A13.STM32F103ZET6芯片具有全球唯一A、正确B、错误正确答案:A14.MicroSD卡是一种常用的闪存卡,掉电保存,用于存储大量数据。

A、正确B、错误正确答案:A15.DS18B20是常用的数字温度传感器,其输出的是数字信号,具有体积小,硬件开销低、抗干扰能力强,精度高的特点。

A、正确B、错误正确答案:A16.寄存器r15作为程序计数器。

A、正确B、错误正确答案:A17.STM32开发板LED指示灯的阳极接CPU的PC0-PC7。

A、正确B、错误正确答案:B18.HSI是高速内部时钟,频率为8MHzA、正确B、错误正确答案:A19.VxWorks操作系统是美国WindRiver公司于1983年设计开发的一种嵌入式实时操作系统(RTOS),是嵌入式开发环境的关键组成部分。

嵌入式操作系统精彩试题集61374

嵌入式操作系统精彩试题集61374

第一章嵌入式系统概论一.填空1. 嵌入式系统是以嵌入式应用为目的、以计算机技术为基础的计算机系统。

2. 计算机系统按应用可以分为通用计算机系统和嵌入式计算机系统。

3. 嵌入式系统按软件结构可分为嵌入式单线程系统和嵌入式事件驱动系统。

4. 嵌入式系统按是否具有实时性能可分为嵌入式非实时系统和嵌入式实时系统。

5. 嵌入式实时系统除具有嵌入式系统的基本特征外,还具实时性和可靠性的重要特点。

6. 嵌入式系统的硬件架构是以嵌入式处理器为中心,由存储器,I/O设备,通信模块以及电源等必要的辅助接口组成。

7. 嵌入式系统的软件通常固态化存储在ROM、FLASH或NVRAM中。

8. 嵌入式系统的开发由于受到系统资源开销的限制,通常采用交叉开发环境。

9. 嵌入式系统开发采用的交叉开发环境是由宿主机和目标机组成的。

10. 嵌入式系统的设计是使用一组物理硬件和软件来完成所需功能的过程。

二.选择1. 以下哪一项不属于嵌入式操作系统(C)A.VxWorks B. WinCE C. BSD D. uClinux2. 以下关于嵌入式系统说确的是(A)A.以开发为中心 B 对实时,成本,功耗要求严格C.软硬件协同 D 软件可剪裁3. 以下关于嵌入式系统说确的是(A)A.嵌入的系统中可以共存多个嵌入式系统B.对高性能要求严格C.软硬件缺乏协同D.不要时性4. 对响应时间有严格要求的嵌入式系统是(A)A.嵌入式实时系统B.嵌入式多线程系统C.嵌入式多核系统D.嵌入式轮转询问系统5. 以下哪一项属于嵌入式系统不具备的特点(B)A.采用专用处理器B. 跨平台可移植C.软硬件协同一体化D.小型化与有限资源6. 嵌入式系统硬件的核心是(B)A.存储器B.嵌入式微处理器C.嵌入式微控制器D.BSP7. 嵌入式系统的软件部分不包括(A)A.DSP B.嵌入式操作系统 C.设备驱动程序D.应用程序8. 对性能要求高的嵌入式系统是(C)A.嵌入式实时系统B.嵌入式多线程系统C.嵌入式多核系统D.嵌入式轮转询问系统9. 嵌入式应用软件的开发阶段不包括(D)A.交叉编译和 B.开发环境的建立C.联机调试 D.应用程序模块加载10. 为了提高执行速度和系统可靠性,嵌入式系统中的软件一般都保存在(A)A.存储器芯片 B.磁盘 C.cache D.CDROM五.简答题1. 给出嵌入式系统的一般定义和基本特征。

嵌入式系统习题集

嵌入式系统习题集

一、填空1. 嵌入式系统在硬件设计、操作系统的选择、以及软件的设计上都要遵循―面向应用、量体裁衣、够用为度‖的原则。

2. 嵌入式处理器是嵌入式系统的核心部件,是控制、辅助系统运行的硬件单元。

3. 试列举三种以上主流的通用处理器:ARM/StrongARM、MIPS、PowerPC、X86、68K/Coldfire。

4. ARM处理器共有37个寄存器,其中包括31个通用寄存器和6个状态寄存器。

5. ARM处理器有7种不同的处理器模式,在每一种处理器模式下均有一组相应的寄存器与之对应。

即在任意一种处理器模式下,可访问的寄存器包括15个通用寄存器(R0~R14)、一至二个状态寄存器和程序计数器。

6. 寄存器R13在ARM指令中常用作堆栈指针。

R14也称作子程序连接寄存器或连接寄存器LR,当发生中断或异常时,对应的分组寄存器R14_svc、R14_irq、R14_fiq、R14_abt和R14_und用来保存R15的返回值。

7. ARM微处理器的在较新的体系结构中支持两种指令集:ARM指令集(指令长度为32位)和Thumb指令集(指令长度为16位)。

8. 寄存器R15用作程序计数器(PC)。

该寄存器在ARM状态下,位[1:0]为0,位[31:2]用于保存PC;在Thumb状态下,位[0]为0,位[31:1]用于保存PC。

9. 寄存器R16用作CPSR(当前程序状态寄存器),CPSR可在任何运行模式下被访问。

每一种运行模式下又都有一个专用的物理状态寄存器,称为SPSR (备份的程序状态寄存器)。

10. Thumb状态下的寄存器集是ARM状态下寄存器集的一个子集,程序可以直接访问8个通用寄存器(R7~R0)、程序计数器(PC)、堆栈指针(SP)、连接寄存器(LR)和CPSR。

11. 每一条ARM指令包含的条件码位于指令的最高4([31:28])位,每种条件码可用两个字符表示,可以添加在指令助记符的后面和指令同时使用。

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

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

1.8 练习题P141.选择题(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 ARM112 精简指令集计算机3 Samsung ARM920T IIC总线4 BGA 显卡布线5 1.8V 3.3V6 8 128 17 S3C2410 64MB 64MB2. 选择题1 D 2C 3A 4B 5B6C 7D 8C 9C 10B3. 简答题1ARM和S3C2410X有什么关系S3C2410是韩国三星公司生产的嵌入式处理器;它采用了ARM公司的ARM920T即ARM9内核2ARM7是32位RISC处理器;使用3级流水线;采用冯诺依曼体系结构;不支持MMU..3ARM8是32位RISC处理器;使用5级流水线;采用哈佛体系结构;支持MMU..4S3C2410X芯片有27根地址线;8根片选线nGCS;32根数据线..5S3C2410X芯片内部集成了一个LCD控制器;SDRAM控制器;3个通道UART;4个通道DMA;4个具有PWM功能的计时器和一个内部时钟;8通道的10位ADC..6ARM体系结构有哪几种工作状态又有哪几种运行模式其中哪些为特权模式哪些为异常模式并指出处理器在什么情况下进入相应模式工作状态:第1种:ARM状态..处理器执行32位的字对齐的ARM指令..第2种:Thumb状态..处理器执行16位的半字对齐的Thumb指令.. 运行模式:用户模式usr 快速中断模式fiq 外部中断模式irq管理模式svc 数据访问中止模式abt 系统模式sys未定义指令中止模式und在这7种运行模式;除了用户模式外;其他6种处理器模式都为特权模式..在这6种特权模式中;除了系统模式外的其他5种特权模式又称为异常模式..用户模式:非特权模式;也就是正常程序执行的模式;大部分任务在这种模式下执行..在用户模式下;如果没异常发生;不允许应用程序自行切换果没异常发生;不允许应用程序自行改变处理器的工作模式;如果有异常发生;处理器会自动切换工作模式..快速中断模式:支持高速数据传输和通道处理;当一个高优fast中断产生时将会进入这种模式..外部中断模式:也称为普通中断模式;当一个低优先级中断产生时将会进入这种模式..在这模式下按中断的处理器方式又分为向量中断和非向量中断两种..通常的中断处理都在IRQ模式下进行..管理模式:是一种操作系统保护模式;当复位或软中断指令执行时处理器将进入这种模式..数据访问中止模式:当存取异常时将会进入这种模式;用来处理存储器故障、实现虚拟存储或存储保护..系统模式:使用和user模式相同寄存器组的特权模式;用来运行特权级的操作系统任务..未定义指令中止模式:当执行未定义指令时会进入这种模式;主要是用来处理未定义的指令陷阱;支持硬件协处理器的软件仿真;因为未定义指令多发生在对协处理器的操作上..7ARM体系结构支持的数据类型有多少寄存器如何组织支持的数据类型:1.字节byte;各种处理器体系结构中;字节的长度均为8位..2.半字half-word;在ARM体系结构中;半字的长度为16位..3.字word;在ARM体系结构中;字的长度为32位..ARM处理器共有37个寄存器;其中31个通用寄存器;6个状态寄存器.. 8S3C2410的存储控制器如何对内存空间进行管理S3C2410X存储控制器为片外存储器提供控制信号..它将系统的存储空间分成8组Bank;每组的大小为128MB;共1GB..9分析程序状态寄存器各位的功能描述;并说明C、Z、N、V在什么情况下进行置1和清0状态寄存器PSR的具体格式为V—溢出标志位对于加/减法运算指令;当操作数和运算结果为二进制补码表示的带符号数时;V=1表示符号位溢出;其它指令通常不影响V位..例如:两个正数最高位为0相加;运算结果为一个负数最高位为1;则符号位溢出;相应V=1.C--进位或借位标志位对于加法指令包括比较指令CMN;结果产生进位;则C=1;表示无符号数运算发生上溢出;其他情况下C=0;在减法指令中包括比较指令CMP;结果产生借位;则C=0;表示无符号数运算发生下溢出;其他情况下C=1;对于包含移位操作的非加/减法运算指令;C中包含最后一次溢出位的数值;对于其他非加/减法运算指令;C位的值通常不受影响..Z--结果为0标志位Z=1表示运算结果是0;Z=0表示运算结果不是零;对于CMP指令;Z=1表示进行比较的两个数大小相等..N--符号标志位本位设置成当前指令运算结果的bit31的值..当两个补码表示有符号整数运算时;N=1表示运算的结果为负数;N=0表示结果为正数或零..10ARM指令可分为哪几类说出哪几条指令是无条件执行的..ARM指令可分为:数据处理指令;跳转指令;程序状态寄存器处理指令;加载/存储指令;协处理器指令;异常产生指令..无条件执行指令:BLX指令;BKPT指令产生软件断点中断11如何实现两个64位数的加法操作;如何实现两个64位的减法操作;如何求一个64位数的负数实现64位数据加法运算:假设R0和R1存放了一个64位数据作为被加数;R0存放数据的低32位;R2和R3中存放了另一个64位数据作为加数;R2中存放低32位数据..运算结果送回到R1:R0中R0中存放低32位..ADDSR0;R0;R2;低32位相加并影响标志位ADCR1;R1;R3;高32位相加再加上C标志位进位值实现64位数据减法运算:如果寄存器R0和R1中放置一个64位的被减数;其中R0中放置低32位数值;寄存器R2和R3中放置一个64位的减数;其中R2中放置低32位数值..运算结果送回到R1:R0中R0中存放低32位..SUBSR0;R0;R2;低32位相减并影响标志位SBCR1;R1;R3;高32位相减再减去C标志位的反码求一个64位数的负数:如果寄存器R0和R1中放置一个64位数;其中R0中放置低32位数值;寄存器R4和R5中放置其负数;其中R4中放置低32位数值.. RSBSR4;R0;#00减去低32位并影响标志位RSCR5;R1;#00减去高32位再减去C标志位的反码4.程序题(1)分析下列每条语句;并说明程序实现的功能..CMP R0; #0 //判断R0是否等于0MOVEQ R1; #0 //当R0等于0;则R1等于0MOVGT R1;#1 //当R0为正数时;则R1等于1此功能码段可以判别R0中的值为正数还是0..(2)写一条ARM指令;分别完成下列操作..R0 = 16 MOV RO; #16R0 = R1 / 16 MOVRO;R1;LSR#4R1 = R2 * 4R0 = - R0 RSBRO;RO;#0(3)写出实现下列操作的ARM指令..当Z=1时;将存储器地址为R1的字数据读入寄存器R0.. MOVEQR0;R1当Z=1时;将存储器地址为R1+R2的字数据读入寄存器R0.. LDREQR0;R1;R2将存储器地址为R1-4的字数据读入寄存器R0..LDRR0;R1;#-4将存储器地址为R1+R6的字数据读入寄存器R0;并将新地址R1+R6写入R1..LDRR0;R1;R6(4)写出下列指令所实现的操作..LDRR2;R3;#-2将存储器地址为R3-2的字数据读入R2;并将地址R3-2写入R3 LDRR0;R0;R1将存储器地址为R0的字数据读入R0;并将地址R0+R1写入R0 LDRR1;R0;R2;LSL #2将存储器地址为R0+R2*4的字数据读入R1;并将地址R0+R2*4写入R0STRBR1;R2;#0xB0R0的低8位存入存储器地址为R2+0xB0字节中LDMIAR0;{R1;R2;R8}将内存单元R0所指向的地址单元以字为单位递减方式读取到R1;R2;R8中;低地址编号的字数据内存单元对应低编号寄存器STMDBR0;{R1~R5;R8;R9}R1~R5;R8;R9存储到以R0为起始地址的递减内存中;最终R0指向存放R9的地址单元5.计算题某设备的接口电路如图所示;请计算出该设备的地址..3.5 练习题1.选择题(1)B 2 A 3 C 4 D 5 A2.填空题(1).so .a 程序运行过程中编译过程中(2)L I o(3)$(4)$@ $^ $< CC、CFLAGS等(5)目标文件的完整名称所有不重复的依赖文件;以空格隔开第一个依赖文件的名称、3.简答题(1)m ake和Makefile之间的关系答:make是一种命令;是根据Makefile文件的规则决定如何编译和连接程序或其他的动作..2Makefile的普通变量与预定义变量有什么不同预定义变量有哪些它们分别表示什么意思答:普通变量:引用变量时;只需在变量前面加上$符;预定义变量:已经定义好;直接引用即可..预定义变量有:$@、$^、$<..$@:表示完整的目标文件名;$^:表示所有的依赖文件;$<:表示依赖文件列表中的第一个文件..3GCC编译器的常用参数有哪些它们的功能分别是什么答:gcc编译器的常用参数:-o;-I;-L;-E;-S;-c功能:-o表示编译成一个可执行程序;-I表示指定头文件目录;-L 表示指定库文件目录选项;-E表示对源代码进行预编译;-S表示编译成汇编代码;-c表示把.c文件转换为以.o为扩展名的目标文件.. 4.编程及调试题1根据要求编写Makefile文件..有5个文件分别是main.c、visit.h、study.h、visit.c、study.c;具体代码如下..//main.c文件//visit.h文件//study.h文件//visit.c文件//study.c1如果上述文件在同一目录;请编写Makefile文件;用于生成可执行程序zhs..//Makefile 文件2 如果按照下面的目录结构存放文件;请改写Makefile文件.. bin:存放生成的可执行文件obj:存放.o文件include:存放visit.h、study.hsrc:存放main.c、visit.c、study.c和Makefile.3 如果按照下面的目录结构存放文件;请改写Makefile文件.. bin:存放生成的可执行文件obj:存放.o文件include:存放visit.h、study.hsrc:存放main.c和Makefilesrc/src1:存放visit.csrc/src2:存放study.c说明:这可能只是其中一种方法;方法不唯一..我这种做法有一个缺点就是需要修改visit.c和study.c文件的内容;如修改#include “../include/visit.h”..(2)按要求完成以下操作..①vi编辑test.c文件;其内容如下..②用gcc –o test.o test.c编译;生成test.o③用gcc –g –o test1.o test.c编译;生成test1.o④比较test.o和test1.o文件的大小;思考为什么带调试选项-g的目标文件test1.o比较大..因为在gcc编译源代码时指定-g选项可以产生带有调试信息的目标代码..(3)使用GDB调试上面的程序①调试参数-g进行编译#gcc –g test.c –o test②启动GDB调试;开始调试#gdb Gtest③使用gdb命令进行调试..略..4编写一个程序;将系统时间以year-month-day hour:minute:second 格式显示在屏幕上;并将它保存在time.txt文件..4.4 练习题1.填空题1 串口2 115200 8 1 无无3 编程器串口网络接口4 Bootloader5 程序仿真调试程序的烧写6 zImage root.cramfs7启动加载模式下载模式8 汇编语言C语言9 U-Boot Blob ARMBoot 或者RedBoot vivi10 BusyBox11启动加载模式说明:按回车进入启动加载模式;按回车外的任意键进入vivi的下载模式..2. 选择题1 A2 C3 A4 A5 A3. 简答题1简述嵌入式开发环境的搭建过程答:1、交叉编译工具链的安装;2、安装配置TFTP服务;3、安装配置NFS服务;4、C-Kermit的安装配置;5、minicom的安装配置;6、windows下超级终端的配置..2 BootLoader的结构分两部分;简述各部分的功能答:两部分:Stage1:用汇编语言编写;主要进行设备的初始化;Stage2:用C语言编写;增强程序的移植性和可读性..(2)ARM常用的Bootloader程序有哪些答:U-Boot;Blob;RedBoot;vivi(3)简述生成内核映像文件zImage的步骤..答:1、make config 进入命令行;2、make menuconfig 内核裁剪;3、make clean 清理以前已生成的目标文件;4、make dep 编译变量的依赖关系;5、make zImage 生成内核镜像文件zImage..4 BusyBox工具的功能是什么答:BusyBox工具用来精简基本用户命令和程序;它将数以百计的常用UNIX/Linux命令集成到一个可执行文件中..5简述根文件系统的创建过程..答:1、建立基本的目录结构;2、交叉编译BusyBox;3、创建配置文件;4、利用cramfs工具创建根文件系统映像文件..5.4 练习题1.选择题1B 2D 3C 4A 5C 6D2.填空题1 内核态2 字符设备块设备3 主设备号次设备号4 静态编译动态编译5 insmod说明:用于加载模块化驱动程序的命令是insmod;用于卸载已安装模块化驱动程序的命令是rmmod;用于查看已安装的模块化驱动程序的命令是lsmod..3.简答题(1)简述驱动程序的主要功能..答:1、对设备初始化和释放;2、数据传送;3、检测和处理设备出现的错误..(2)简述驱动程序的组成..答:1、自动配置和初始化子程序;2、服务于I/O请求的子程序;3、中断服务子程序..(3)简述设备驱动程序与应用程序的区别..答:1、设备驱动程序工作在内核态下;而应用程序工作在用户态下;2、设备驱动程序从module_init开始;将初始化函数加入内核初始化函数列表中;在内核初始化时执行驱动的初始化函数;从而完成驱动的初始化和注册;之后驱动便停止工作;等待应用程序的调用;而应用程序从main函数开始执行..3、应用程序可以和GLIBC库连接;因此可以包含标准的头文件;驱动程序不能使用标准的C库;因此不能调用所有的C库函数..4简述设备文件、驱动文件、主设备号和次设备号之间的关系..答:驱动程序加载到内核后有一个主设备号..在Linux内核中;主设备号标识设备对应的驱动程序;告诉Linux内核使用哪一个驱动程序为该设备也就是/dev下的设备文件服务;而次设备号则用来标识具体且唯一的某个设备..5简述字符设备驱动程序提供的常用入口点及各自的功能.. 答:open入口点:对将要进行的I/O操作做好必要的准备工作;如清除缓冲区等..如果设备是独占的;即同一时刻只能有一个程序访问此设备;则open子程序必须设置一些标志以表示设备处于忙状态.. close入口点:当设备操作结束时;需要调用close子程序关闭设备..独占设备必须标记设备可再次使用..read入口点:当从设备上读取数据时;需要调用read子程序..write入口点:向设备上写数据时;需要调用write子程序..ioctl入口点:主要用于对设备进行读写之外的其他操作;比如配置设备、进入或退出某种操作模式等;这些操作一般无法通过read或write 子函数完成操作..(6)简述逐次逼近型ADC的结构及工作原理..答:逐次逼近型ADC通常由比较器;数模转换器DAC;寄存器和控制逻辑电路组成..工作原理:初始化时;先将寄存器各位清空..转换时;先将寄存器的最高位置1;再将寄存器的数值送入DAC;经D/A转换后生成模拟量送入比较器中与输入的模拟量进行比较;若Vs<Vi;则该位的1被保留;否则被清除;然后再将次高位置1;再将寄存器的数值送入DAC;经D/A转换后生成的模拟量送入比较器中与输入模拟量进行比较;若Vs<Vi;则该位的1被保留;否则被清除;重复上述过程;知道最低位;最后寄存器中的内容即为输入模拟值转换成的数字量..5.编程题S3C2410X通过GPG3端口来控制LED的亮和灭;具体电路如图;请为该字符设备设计一个驱动程序和应用程序;应用程序能够根据用户需要来控制LED的//驱动程序//应用程序6.7 练习题1.选择题1C2D说明:TinyOS是UC Berkeley加州大学伯克利分校开发的开放源代码操作系统3C2.填空题1X Windows;Micro Windows;MiniGUI或者Qtopia Core;Qt/Embedded;OpenGUI2X Window Server;Xlib;帧缓存3.问答题1简述嵌入式GUI的特点..答:1、轻型;占用资源少..嵌入式GUI要求是轻量型的;这主要是受限于嵌入式硬件资源..2、可配置..由于嵌入式设备的可定制性;要求相应的GUI系统也是可以定制的;所以嵌入式GUI一般都具有可裁剪性..3、高性能..耗用系统资源较少;能在硬件性能受限的情况下、尤其是CPU资源较少的情况下达到相对较快的系统响应速度;同时减少能源消耗..4、高可靠性..系统独立;能适用于不同的硬件;在高性能的同时保证高可靠性..2简述Qt/X11和Qtopia Core的异同点..答:相同点:都是嵌入式GUI;也就是在嵌入式系统中为特定的硬件设备或环境而设计的图形用户界面系统..Qt/X11与Qtopia Core最大的区别在于Qt/X11依赖于X Window Server或Xlib;而Qtopia Core是直接访问帧缓存..它们所依赖的底层显示基础是不同的;从而导致了体系结构上的差异..3简述信号与槽的作用..答:信号:当某个信号对其客户或所有者发生的内部状态发生改变;信号被一个对象发射..只有定义过这个信号的类及其派生类能够发射这个信号;当一个信号被发射时;与其相关联的槽将会被立刻执行..槽:槽是普通的C++成员函数;可以被正常调用;它们唯一的特殊性就是很多信号可以与其相关联..当与其相关联的信号被发射时;这个槽就会被调用..槽可以有参数;但槽的参数不能有缺省值..4.编程题编写Qtopia Core程序:在窗口建立两个按钮;单击Show Te xt按钮时在单行文本框中显示Hello World;单击Quit按钮时关闭窗口..7.4 练习题1.选择题1A 2B 3A2.填空题1可定制性好支持SQL查询语句提供接口函数;供高级语言调用实时性好2自包含跨平台无数据类型3.问答题1常见的嵌入式数据库有哪些嵌入式数据库和其他数据库的主要区别是什么答:常见的嵌入式数据库有mSQL;Berkeley DB;SQLite..数据处理方式的不同;嵌入式数据库属于程序驱动式;其他数据库属于引擎响应式..逻辑模式的不同;其他数据库基本上采用关系模型;而嵌入式数据库除采用关系模型外;还会采用网状模型或两者的结合体..优化重点不同;其他数据库由于面向通用的应用;优化的重点是:高吞吐量、高效的索引机制、详尽的查询优化策略..而嵌入式数据库是面向特定应用的;并且资源有限;优化的重点是:实时性、开销大小、系统性能、可靠性、可预知性和底层控制能力..关键技术不同;嵌入式数据库的很多关键技术与其他数据库不同;如备份恢复、复制与同步、事务和安全性等..2简述SQLite数据库的特点..答:SQLite的特点包括:无需安装和管理配置;存储在单一磁盘文件中的一个完整的数据库;数据库文件可以再不同字节顺序的机器间自由地共享;支持数据库大小最大为2TB;包括TCL绑定;同时通过Wrapper支持其他语言的绑定;独立;没有额外依赖;支持多种开发语言;支持事件;不需要配置、安装..(4)在SQLite中有哪些数据类型答:SQLite支持NULL;INTERGER;REAL;TEXT和BLOB数据类型..4.编程题。

嵌入式Linux系统开发教程参考答案

嵌入式Linux系统开发教程参考答案

参考答案第一章p20一、填空题。

1、嵌入式系统主要融合了计算机软硬件技术、通信技术和微电子技术,它是将计算机直接嵌入到应用系统中,利用计算机的高速处理能力以实现某些特定的功能。

2、目前国内对嵌入式系统普遍认同的定义是:以应用为中心、以计算机技术为基础、内核可裁剪、适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。

3、嵌入式系统一般由嵌入式计算机和执行部件组成,其中嵌入式计算机主要由四个部分组成,它们分别是:硬件层、中间层、系统软件层以及应用软件层。

4、嵌入式处理器目前主要有ARM、MIPS、Power PC、68K等,其中arm处理器有三大特点:体积小、低功耗、的成本和高性能,16/32位双指令集,全球合作伙伴众多。

5、常见的嵌入式操作系统有:Linux、Vxworks、WinCE、Palm、uc/OS-II和eCOS。

6、嵌入式系统开发的一般流程主要包括系统需求分析、体系结构设计、软硬件及机械系统设计、系统集成、系统测试,最后得到最终产品。

二、选择题1、嵌入式系统中硬件层主要包含了嵌入式系统重要的硬件设备:、存储器(SDRAM、ROM等)、设备I/O接口等。

(A)A、嵌入式处理器B、嵌入式控制器C、单片机D、集成芯片2、20世纪90年代以后,随着系统应用对实时性要求的提高,系统软件规模不断上升,实时核逐渐发展为,并作为一种软件平台逐步成为目前国际嵌入式系统的主流。

(D)A、分时多任务操作系统B、多任务操作系统C、实时操作系统D、实时多任务操作系统3、由于其高可靠性,在美国的火星表面登陆的火星探测器上也使用的嵌入式操作系统是。

(B)A、PalmB、VxWorksC、LinuxD、WinCE4、嵌入式系统设计过程中一般需要考虑的因素不包括:()A、性能B、功耗C、价格D、大小5、在嵌入式系统中比较流行的主流程序有:()A、AngelB、BlobC、Red BootD、U-BootA DB ?A三、叙述题1、举例说明身边常用的嵌入式系统。

ARM模拟考试题(附答案)

ARM模拟考试题(附答案)

ARM模拟考试题(附答案)一、判断题(共100题,每题1分,共100分)1.集成32位的ARM Cortex_M3内核,最高频率为72MHZA、正确B、错误正确答案:A2.μC/OS II是一个可以基于ROM运行的、可裁剪的、抢占式、实时多任务内核,具有高度可移植性,特别适合于微处理器和控制器。

A、正确B、错误正确答案:A3.输入模式是指将MCU的信号输入到引脚之中。

A、正确B、错误正确答案:B4.DS18B2使用的是单总线A、正确B、错误正确答案:A5.通信电路核心为CH340G芯片A、正确B、错误正确答案:A6.GPIO_Mode用以设置选中管脚的速率。

A、正确B、错误正确答案:B7.无损检测就是在不损坏试件的前提下,以物理方法对试件进行检查和测试的方法。

A、正确B、错误正确答案:A8.EEPROM存储掉电后不保存数据()A、正确B、错误正确答案:B9.ARM内含37个寄存器,包括31个通用32位计算机和6个状态计算器A、正确B、错误正确答案:A10.RISC又称精简指令集计算机A、正确B、错误正确答案:A11.几乎全部高速通用输入输出口(GPIO)可承受5V输入A、正确B、错误正确答案:A12.带操作系统的都比无操作系统的好()A、正确B、错误正确答案:B13.STM32F103芯片有5个串口。

A、正确B、错误正确答案:A14.STM32F103ZET6芯片有2个12位的DAC和2个12位的ADCA、正确B、错误正确答案:B15.STM32三种启动模式对应的存储介质均是芯片内置的,包括:用户闪存flash、DRAM内存、系统存储器。

A、正确B、错误正确答案:B16.AFIO重映射的操作是对使能被重新映射到的I/O端口时钟使能被重新映射的外设时钟使能AFIO功能的时钟进行重映射A、正确B、错误正确答案:A17.STM32F103ZET6芯片具有96位的全球唯一编号;A、正确B、错误正确答案:A18.仿真器和开发板之间通过排线连接,电脑主机和仿真器之间通过USB线连接A、正确B、错误正确答案:A19.单片机又被称为MCUA、正确B、错误正确答案:A20.N Buz蜂鸣器高电平有效A、正确B、错误正确答案:B21.STM32串口既可以工作在异步模式也可以工作在同步模式下。

嵌入式3级选择题7解读

嵌入式3级选择题7解读

1.下列产品中不属于嵌入式系统的是:A) 洗衣机B) 空调机C) 个人电脑D) 电子血压计【解析】广义上讲,凡是带有微处理器的专用软硬件系统都可称为嵌入式系统。

狭义上讲,嵌入式系统强调那些使用嵌入式微处理器构成的具有自己的操作系统和特定功能、用于特定场合的独立系统。

嵌入式系统以应用为中心、以计算机技术为基础、软硬件可裁剪、功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。

包括洗衣机、空调机等"白色家电",也包括心电计、血压计等医疗电子设备;而个人电脑(PC机)不属于嵌入式系统。

所以本题选C。

2.下面关于嵌入式系统的叙述中,错误的是A) 嵌入式系统所涉及的应用领域非常广泛B) 嵌入式系统在数量上远远超过了各种类型的通用计算机系统C) 嵌入式系统与通用计算机都是由硬件和软件两部分组成的D) 嵌入式系统正在逐步取代通用计算机系统【解析】嵌入式系统与通用计算机一样,也是由硬件和软件两部分组成,所涉及到的领域非常广泛,在应用数量上远远超过了各种类型的通用计算机系统。

尽管如此,嵌入式系统与日常使用的通用计算机系统仍有许多不同之处,它们的组成及功能都各有特点,所以各自的市场不同,谈不上取代。

所以本题选D。

3. 数码相机是一种典型的嵌入式系统,下面有关其软硬件组成的叙述中错误的是:A) 它由硬件和软件两部分组成B) 硬件部分既包括CPU,也包括存储器和输入/输出C) 使用闪存卡(如CF卡、SD卡等)作为内存,用于存储所运行的软件D) 软件部分既包括操作系统,也包括应用软件【解析】数码相机是嵌入式系统的典型应用之一。

它由前端和后端两部分组成,前端负责数字图像获取,后端负责数字图像的处理,后端通常是以嵌入式DSP作为核心的SoC芯片,DSP用于完成数字图像处理;此外,数码相机中还有一个超低功耗的8位MCU,负责进行操作控制;高端数码相机配置有实时操作系统和图像处理软件。

使用的闪存卡主要是用来存储照片而不是系统软件。

嵌入式期末复习题_(含答案)

嵌入式期末复习题_(含答案)

期末考试复习题一、填空题1. ARM微处理器有7种工作模式,它们分为两类_特权模式_、_非特权模式_其中用户模式属于_非特权模式__。

2. ARM微处理器共有__37_个__32__位寄存器,其中__31_个为通用寄存器,_6___个为状态寄存器。

3. 嵌入式系统一般哪4个部分组成( 嵌入式处理器、外围设备、嵌入式操作系统(可选)、嵌入式应用软件)4. 协处理器主要控制:___片内的MMU __、___指令和数据缓存___、___写缓冲___。

5. ARM嵌入式系统主要由___相关支撑硬件___、___ARM处理器___和__嵌入式软件系统____构成。

6. S3C2410芯片外部寻址空间是1G,被分成___8__个存储块,每块_ 128 _MB。

SDRAM 存储器应连接到第____7或8__个存储块。

7. 操作系统是联接硬件与应用程序的系统程序,其基本功能有进程管理、内存管理、文件系统管理、I/O资源管理。

8. 常用的嵌入式外围设备有存储设备_、通信设备____和___显示设备___三类。

10. 嵌入式系统是用来控制或者监视哪些设备( )11. 嵌入式系统的三个基本要素。

引导程序内核文件系统12. 链接分为:(硬链接)和( 软链接)。

13. 数据寄存器,其中控制寄存器的主要功能是设置_引脚的功能_,数据寄存器的功能是从寄存器读取数据或者向寄存器写入数据。

15. 目前流行的嵌入式操作系统主要有:_ WinCE_、_ Vxworks__、_ Linux/µCLinux_和_µC/OS-II、PalmOS____。

16. 嵌入式操作系统的调试一般包括:___操作系统__调试和___应用程序__调试。

17. ARM字数据存储格式有:大端格式和小端格式。

18. 某文件的权限为:drw-r--r--,用数值形式表示该权限,则该八进制数为:( 644 ),该文件属性是( 目录)。

19. 在宿主机上使用编译器软件将嵌入式应用。

ARM实验报告_百度文库.

ARM实验报告_百度文库.

ARM实验报告专业:计算机科学与技术班级: 080613学号: 080613309姓名:周之平实验一 ARM汇编指令一实验目的1、初步学会使用 Embest IDE for ARM 开发环境及 ARM软件模拟器;2、通过实验掌握简单 ARM汇编指令的使用方法。

二实验设备1、硬件:PC机2、软件:Embest IDE Pro 2004集成开发环境,Windows 98/2000/NT/XP。

三实验内容1、熟悉开发环境的使用,并使用ldr/str,mov等指令访问寄存器或存储单元;2、使用 add/sub/lsl/lsr/and/orr等指令,完成基本数学/逻辑运算。

四实验原理ARM处理器共有 37个寄存器:1、31个通用寄存器,包括程序计数器(PC。

这些寄存器都是 32位的。

2、6个状态寄存器。

这些寄存器也是32位的,但是只是使用了其中的12位。

4.1 ARM通用寄存器通用寄存器(R0~R15)可分为 3类:o 不分组寄存器 R0~R7;o 分组寄存器 R8~R14;o 程序计数器 R15;4.2 存储器格式ARM体系结构将存储器看作是从零地址开始的字节的线性组合。

字节零到字节三放置第一个字(WORD),字节四到字节七存储第二个字,以此类推。

ARM体系结构可以用两种方法存储字数据,分别称为大端格式和小端格式。

4.3 GNU基础知识Embest IDE集成了 GNU 汇编器 as,编译器 gcc,链接器 ld。

因此,我们写程序要符合 GNU 的语法和规则。

1 程序默认入口点为“_start”,代码段默认起始地址为 0x80002 as常用伪操作符.equ.equ伪操作为数字常量、基于寄存器的值和程序中的标号定义一个字符名称。

语法格式.equ symbol,expr其中,expr为基于寄存器的地址值、程序中的标号,32位的地址常量或者32位的常量。

Symbol为.equ伪操作为 expr定义的字符名称。

ARM寄存器的总结

ARM寄存器的总结
ARM寄存器的总结
ARM处理器共有37个寄存器:
1) 31个通用寄存器,包括程序计数器(PC)。这些寄存器都是32位的;
2)6个状态寄存器。这些寄存器也是32位的,但是只使用了其中的12位。
ARM通用寄存器
通用寄存器(R0-R15)可分为三类:不分组寄存器R0~R7;分组寄存器R8~R14;程序计数器PC。
1)不分组寄存器R0~R7
不分组寄存器R0~R7在所有处理器模式下,它们每一个都访问一样的32位寄存器。它们是真正的通用寄存器,没有体系结构所隐含的特殊用途。
2)分组寄存器R8~R14
分组寄存器R8~R14对应的物理寄存器取决于当前的处理器模式。若要访问特定的物理寄存器而不依赖当前的处理器模式,则要使用规定的名字。
寄存器R8~R12各有两组物理寄存器:一组为FIQ模式,另一组为除了FIQ以外的所有模式。寄存器R8~R12没有任何指定的特殊用途,只是在作快速中断处理时使用。寄存器R13,R14各对应6个分组的物理寄存器,1个用于用户模式和系统模式,其它5个分别用于5种异常模式。寄存器R13通常用做堆栈指针,称为SP;寄存器R14用作子程序链接寄存器,也称为LR。
中断禁止位:I置1则禁止IRQ中断;F置1则禁止FIQ中断。
T位:T=0指示ARM执行;T=1指示Thumb执行。在这些体系结构系统中,可自由地使用能在ARM和Thumb状态之间切换的指令。
模式位:M0,M1,M2,M3和M4(M[4:0])是模式位,这些位决定处理器的工作模式,如表所示。
3)其他位
程序状态寄存器的其他位保留,用作以后的扩展。
ARM核工作在用户模式,R0~R15可用。
存储器格式
ARM体系结构将存储器看作是从零地址开始的字节的线性组合。字节零到字节三放置第一个字(WORD),字节四到字节七存储第二个字,以此类推。

嵌入式复习题含全部答案

嵌入式复习题含全部答案

嵌入式系统复习题一、填空题:1、试列举三种主流的嵌入式处理器:( ARM )、( MIPS )、(PowerPC)。

2、ARM处理器共有(37)个寄存器,其中包括(31个通用寄存器)和(6个状态寄存器)。

3、寄存器R13在ARM指令中(堆栈指针SP )。

R14也称(程序连接寄存器LR)在程序里的作用是(程序计数器PC的备份)。

当发生中断或异常时,对应分组寄存器分别是(R14_svc、R14_irq、R14_fiq、R14_abt和R14_und用来保存R15的返回值)。

4、ARM微处理器支持两种指令集:(ARM)和(Thumb)。

5、寄存器R15用作(程序计数器PC)。

该寄存器在ARM状态下,(位[1:0]为00),位[31:2]用于保存PC;在Thumb状态下,(位[0]为0),位[31:1]用于保存PC。

6、CPSR用作( 状态寄存器 ),CPSR可在任何运行模式下被访问。

每一种运行模式下又都有一个专用的物理状态寄存器,称为(程序状态保存寄存器SPSR)。

7、Thumb状态下的寄存器集是ARM状态下寄存器集的一个子集,程序可以直接访问的通用寄存器是(R0—R7,PC,SP,LR,CPSR)。

8、ARM指令中条件执行功能是通过(指令中添加条件码)来实现的,包含的条件码位于指令的最高(四)位。

9、试列举五种以上常见的嵌入式操作系统:(μC/OS-II)、(Vxworks)、(WinCE)、(Linux/μCLinux)、(PalmOS)。

10、计算机结构中,哈佛结构和冯?诺依曼结构的主要区别是(指令与数据分开),ARM7采用(冯?诺依曼结构),ARM9采用(哈佛结构)。

11、ARM处理器采用(Thumb指令)操作来访问SFR。

<SFR内部寄存器>12、在ARM汇编语言程序设计中,语句一般是由(指令操作码)、(指令的条件码)、(目标寄存器编码)和(包含第一个操作数的寄存器编码)组成。

二、名词解释:1、ARM处理器:先进的RISC指令集处理器。

中北大学嵌入式习题答案第2章

中北大学嵌入式习题答案第2章

第二章 ARM体系结构一、填空1、 ARM微处理器支持7种运行模式为、、、、、、。

用户模式(usr): ARM处理器正常的程序执行状态快速中断模式(fiq):用于高速数据传输或通道处理外部中断模式(irq):用于通用的中断处理管理模式(svc):操作系统使用的保护模式数据访问终止模式(abt):当数据或指令预取终止时进入该模式,可用于虚拟存储与存储保护。

系统模式(sys):运行具有特权的操作系统任务。

未定义指令中止模式(und:当未定义的指令执行时进入该模式,可用于支持硬件协处理器的软件仿真。

2、嵌入式微处理器的体系结构可以采用或结构,指令系统可以选和。

冯·诺依曼体系结构:程序和数据共用一个存储空间,程序指令存储地址和数据存储地址指向同一个存储器的不同物理位置,采用单一的地址与数据总线,程序和数据的宽度相同。

例如:8086、ARM7、MIPS…哈佛体系结构:程序和数据是两个相互独立的存储器,每个存储器独立编址、独立访问,是一种将程序存储和数据存储分开的存储器结构。

例如:AVR、ARM9、ARM10…精简指令系统 RISC复杂指令集系统 CISC3、AMBA定义了3组总线、和。

AHB(AMBA高性能总线):用于高性能。

高数据吞吐部件,如CPU、DMA、DSP之间的连接。

ASB(AMBA系统总线):用来作处理器与外设之间的互连,将被AHB取代。

APB(AMBA外设总线):为系统的低速外部设备提供低功耗的简易互连。

系统总线和外设总线之间的桥接器提供AHB/ASB部件与APB部件之间的访问代理与缓冲。

4、ARM系列微处理器支持的边界对齐格式有:、和字对齐。

字节对齐半字对齐5、RS-232C的帧格式由四部分组成,包括:起始位、、奇偶校验位和。

数据位停止位6、ARM微处理器有种工作模式,它们分为两类、。

其中用户模式属于。

七非特权模式特权模式非特权模式7、ARM7TDMI采用级流水线结构,ARM920TDMI采用级流水线。

ARM完整复习题及答案

ARM完整复习题及答案

嵌入式系统设计复习资料注意:因为参考答案填空老师没有给电子版,只是上课听的,难免会有听错,请大家指出错误。

一填空题1.ARM内核有四个功能模块,即___T___、___D___、___M___、____I__,可供生产厂商根据不同用户的要求来配置生产ARM芯片。

3.ARM芯片主要封装有___QFP___、___TQFP___、___PQFP___、___LQFP___、___BGA___、____LBGA__等形式。

4.ARM微处理器共有___37___个___32___位寄存器,其中____31__个为通用寄存器,____6__个为状态寄存器。

5.ARM体系结构可用两种方法存储字数据,具体为___大端存储格式__、___小端存储格式___。

6.协处理器主要控制:___片内MMU___、___指令和数据缓存(IDC)___、___写缓冲(Write Buffer)___。

在逻辑上,ARM可以扩展16 个协处理器。

7.ARM微处理器在较新的体系结构中支持两种指令集:___ARM指令___、___Thumb指令___,状态寄存器CPSR的 T 位反映了处理器运行不同指令的当前状态。

8.在CPSR中M[4:0]表示模式位,其中10111表示中止模式,在异常类型中,中止又分为预取址中止和数据中止。

9.ARM处理器有9种基本寻址方式,分别是:___寄存器寻址___、___立即寻址___、___寄存器移位寻址___、____寄存器间接寻址__、__变址寻址____、___多寄存器寻址___、___堆栈寻址___、___块复制寻址___、___相对寻址___。

10.ARM指令集可以分为6类,分别是:__跳转指令____、___数据处理指令___、___程序状态寄存器(PSR)传输指令___、___Load/Store 指令___、___协处理器指令___、___异常中断产生指令___。

ARM指令的条件码位于指令的最高4([31:28]),每种条件码可用 2 个字符来表示,可添加在指令助记符的后面和指令同时使用。

详解ARM处理器中的37个寄存器

详解ARM处理器中的37个寄存器

详解ARM处理器中的37个寄存器ARM处理器共有37个寄存器。

其中包括:31个通用寄存器,包括程序计数器(PC)在内。

这些寄存器都是32位寄存器。

6个状态寄存器。

这些寄存器都是32位寄存器。

ARM处理器共有7种不同的处理器模式,每一种模式中都有一组相应的寄存器组。

在任何时刻,可见的寄存器包括15个通用寄存器(R0-R14),一个或两个状态寄存器及程序计数器(PC)。

在所有的寄存器中,有些是各模式公用一个物理寄存器,有一些寄存器各模式拥有自己独立的物理寄存器。

通用寄存器:通用寄存器分为以下三类:备份寄存器、未备份寄存器、程序计数器PC未备份寄存器:未备份寄存器包括R0-R7。

对于每一个未备份寄存器来说,所有处理器模式下都是使用同一个物理寄存器。

未备份寄存器没有被系统用于特别的用途,任何可采用通用寄存器的场合都可以使用未备份寄存器。

备份寄存器:对于R8-R12备份寄存器来说,每个寄存器对应两个不同的物理寄存器。

系统为将备份寄存器用于任何的特殊用途,但是当中断处理非常简单,仅仅使用R8-R14寄存器时,FIQ处理程序可以不必执行保存和恢复中断现场的指令,从而可以使中断处理非常迅速。

对于R13,R14备份寄存器来说,每个寄存器对应六个不同的物理寄存器,其中的一个是系统模式和用户模式共用的;另外的五个对应于其他的五种处理器模式。

采用下面的记号来区分各个物理寄存器:R13_其中MODE可以是下面几种模式之一:usr,svc,abt,und,irq,fiq程序计数器PC可以作为一般的通用寄存器使用,但有一些指令在使用R15时有一些限制。

由于ARM采用了流水线处理器机制,当正确读取了PC的值时,该值为当前指令地址值加上8个字节。

也就是说,对于ARM指令集来说,PC指向当前指令的下两条指令的地址。

由于ARM指令是字对齐的,PC值的第0位和第一位总为0。

需要注意的是,当使用str/stm保存R15时,保存的可能是当前指令地址值加8个字节,也可能保存的是当前指令地址值加12个字节。

嵌入式复习资料及答案

嵌入式复习资料及答案

1.(C)不是常规意义上的嵌入式系统。

A.手机B.MP3C.PC机D.数码相机2.下面哪个系统不属于嵌入式系统(D)。

A、MP3播放器B、GPS接收机C、“银河玉衡”核心路由器D、“天河一号”计算机系统3.(A)完全把系统软件和硬件部分隔离开来,从而大大提高了系统的可移植性。

硬件抽象层 B. 驱动映射层 C. 硬件交互层 D. 中间层1.嵌入式开发一般采用_(交叉)开发方式,其中宿主机一般是指PC。

2.一般而言,嵌入式系统的构架可以分为4个部分:处理器、外围设备、输入/输出和软件,一般软件亦分为(操作系统)和应用软件两个主要部分。

3._(嵌入式微处理器_)是嵌入式系统的核心部件,是控制、辅助系统运行的硬件单元。

判断题:1.嵌入式系统是看不见的计算机系统,其开发环境和运行环境一致。

(错)2.ARM处理器是典型的CISC体系。

(错)填空题:1.ARM处理器共有37个寄存器,其中包括_31_个通用寄存器和_6_个状态寄存器。

2.ARM处理其每种模式下都有一组寄存器可用,其中(系统)模式和(用户)模式具有完全一样的寄存器组。

3.寄存器_R13__在ARM指令中常用作堆栈指针。

_R14__也称作子程序连接寄存器或连接寄存器LR,当发生中断或异常时,对应的分组寄存器用来保存R15的返回值。

4.寄存器R15用作程序计数器(PC)。

该寄存器在ARM状态下,位_【1:0】__为0,位[31:2]用于保存PC;在Thumb状态下,位__【0】_为0,位[31:1]用于保存PC。

5.CPSR可在_系统___运行模式下被访问。

每一种运行模式下又都有一个专用的物理状态寄存器,称为__SPSR____。

6.ARM7TDMI采用_三__级流水线结构,ARM920TDMI采用__五__级流水线。

7.A RM微处理器有七种工作模式,它们分为(两类特权模式和非特权模式)。

其中用户模式属于(非特权模式)。

8.ARM核有两个指令集,分别是_ARM指令集、Thumb指令集。

ARM汇编之寄存器

ARM汇编之寄存器

ARM汇编之寄存器在ARM处理器内部共有37个⽤户可访问的寄存器,分别为31个通⽤的32位寄存器和6个状态寄存器。

⼀.通⽤寄存器:1.在汇编语⾔中,寄存器R0-R13为保存数据或地址值的通⽤寄存器。

2.其中寄存器R0-R7为未分组的寄存器。

对于任何处理器模式,它们都共享R0~R7的通⽤寄存器。

3.寄存器R8-R12为两个分组的物理寄存器。

a.FIQ拥有⾃⼰独⽴的R8~R12的通⽤寄存器。

b.其他六种处理器模式共享R8~R12的通⽤寄存器注:寄存器R8~R12在ARM体系结构中没有特定的⽤途。

给FIQ单独的R8~R12可实现快速的中断处理(在发⽣FIQ中断后,处理器不⽤为了保护寄存器⽽浪费时间,从⽽提⾼了FIQ的处理速度)4.寄存器R13和R14a.⽤户模式和系统模式公⽤R13和R14的寄存器内容。

b.其它五个模式拥有⾃⼰独⽴的R13和r14寄存器内容。

c.R13作为堆栈指针(SP),⽤于保存待使⽤的寄存器内容。

d.寄存器R14称为链接寄存器(LR),它的作⽤有两个:当使⽤BL指令调⽤⼦程序时,系统会⾃动将 BL指令的下⼀条指令的地址存⼊R14中。

程序A指令过程中调⽤程序B程序跳转⾄标号Lable处,执⾏程序B.系统将BL Lable指令的下⼀条指令所在地址存⼊R14中程序B执⾏最后,执⾏语句MOV PC,LR将R14寄存器的内容放⼊PC处,返回⾄NEXT处继续执⾏。

●当发⽣异常时,系统⾃动将异常的返回地址放⼊R14中(有些异常有⼀个⼩的固定的偏移量)⼆.重要的寄存器1.堆栈指针R13R13作为堆栈指针SP。

在ARM指令集中,由于没有以特殊⽅式使⽤R13的指令。

(在Thumb)指令集中存在使⽤R13的指令)每个异常模式都有其⾃⾝的R13分组版本,它通常指向由异常模式所专⽤的堆栈。

在⼊⼝处,异常处理程序通常将其他要使⽤的寄存器值保存到这个堆栈。

通过返回时将这些值重装到寄存器中。

异常处理程序可确保异常发⽣时的程序状态不会被破坏。

嵌入式填空

嵌入式填空

1.嵌入式系统的组成结构:①硬件层②中间层③软件层④功能层2.嵌入式按照软件结构分类:①循环轮询系统②前后台系统③多功能系统3.嵌入式三级流水线:取值译码执行4.ARM处理器支持的数据类型:Byte字节8位Halfword半字16位word字32位5.处理器的模式:ARM体系结构支持7种处理模式,分为用户模式和特权模式,特权模式又分为系统模式和异常模式。

6.处理器的工作状态:①ARM状态:32位,执行字对准的ARM准备②Thumb状态:16位,执行半字对准的Thumb指令7.寄存器组织:ARM处理器共有37个寄存器:①31个通用寄存器,32位,含程序计数器PC ②6个状态寄存器,32位,只使用了其中的12位③R13通常用作堆载指针SP④R14通常用作子程序链接寄存器LR ⑤R15通常被用作程序计数器PC8. 握手线用两根连线enq(查询)和ACR(应答)来表示。

9.DMA要求CPU提供两个附加的总线信号:总线请求和总线授权。

10.存储设备:存储系统分为四级,寄存器组,高速缓冲存储器,内存和外存。

他们在存取速度上一次递减在存储容量上连级递减。

11.以太网协议...IEEE.802.3媒体的存取规则采用CSMA/CD(载波检测多路存取/冲突检测)12.嵌入式软件的体系结构包括:驱动层,操作系统层,中间件层,和应用层。

13.驱动层软件分为三种类型:①板级初始化程序,②与系统软件相关驱动程序,③与应用软件相关的驱动程序。

14.设备驱动层软件中有两个重要概念:硬件抽象层(HAL)和板级支持包(BSP)。

硬件抽象层与硬件更加紧密的相关性。

而板级支持包与操作系统具有更加紧密的相关性15.嵌入式每一个任务都是一个无限的循环,可以处在五种状态之下:①体眼态②就绪态③运行态④挂起态⑤被中断态16.基于优先级调度法的内核有两种:占先式内核和非占先式内核17.嵌入式程序优化::①执行时间的优化②能量优化③长度优化18.嵌入式系统广泛使用了两种不同类型程序的设计范型:状态机和循环缓冲区。

ARM期末考点

ARM期末考点

《ARM体系结构与编程》复习题1、ARM920T支持7种运行模式,分别为_用户模式_ ,快速中断模式(FIQ),_普通中断模式(IRQ),数据访问中止模式,_管理模式_,_系统模式_,未定义指令模式2、ARM处理器支持2种指令集,32位的ARM指令集和16 位的Thumb集。

3、ARM920T内核支持___ARM__ ,__Thumb__ 指令集,分别为_32___ ,_16___ 位的指令系统。

4、ARM处理器共有37 个寄存器,31 个通用寄存器, 6 个状态寄存器,其中的(R0-R7) 8个可以在任何模式下看到。

5、ARM920T体系结构所支持的最大寻址空间4G B。

6、当ARM处理器发生异常时,其优先级最高的异常是_复位异常_。

7、当处理器发生快速中断FIQ异常时,异常向量地址为0x0000001C,当处理器在复位后,异常向量地址为0x00000000 ,且处理器进入管理模式。

8、ARM920T中支持字节(8位),_半字(16位)_ ,_字(32位) 3种数据类型。

9、ARM内核有__37__ 个寄存器,__用户和系统___模式使用寄存器最少。

10、ATPCS规定数据栈为_满递减(FD)_类型,并且对数据栈的操作是__8__字节对齐的。

11、局部变量的存储方式一般是_动态__存储,全局变量一般是__静态__存储。

12、ARM920T体系结构支持两种方法存储字数据,即_大端存储模式_ ,_小端存储模式_。

13、在复位后,ARM处理器处于___管理__ 模式__ARM__ 状态。

14、ARM920T体系结构支持两种方法存储字数据,即大端存储格式和小端存储格式,其中在小端存储格式中,字数据的高字节存放在高地址单元中,而字数据的低字节存放在低地址单元中。

15、CPSR中的低8位控制位中,当T= 1 时,处理器工作在Thumb状态,当T=_0_时,处理器工作在ARM状态。

16、ARM微处理器采用的是RISC(精简指令集)体系结构。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

ARM处理器共有37个寄存器。

其中包括:**31个通用寄存器,包括程序计数器(PC)在内。

这些寄存器都是32位寄存器。

**6个状态寄存器。

这些寄存器都是32位寄存器。

ARM处理器共有7种不同的处理器模式,每一种模式中都有一组相应的寄存器组。

在任何时刻,可见的寄存器包括15个通用寄存器(R0-R14),一个或两个状态寄存器及程序计数器(PC)。

在所有的寄存器中,有些是各模式公用一个物理寄存器,有一些寄存器各模式拥有自己独立的物理寄存器。

****************************************************通用寄存器***************************************************8通用寄存器分为以下三类:备份寄存器、未备份寄存器、程序计数器PC未备份寄存器未备份寄存器包括R0-R7。

对于每一个未备份寄存器来说,所有处理器模式下都是使用同一个物理寄存器。

未备份寄存器没有被系统用于特别的用途,任何可采用通用寄存器的场合都可以使用未备份寄存器。

备份寄存器对于R8-R12备份寄存器来说,每个寄存器对应两个不同的物理寄存器。

系统为将备份寄存器用于任何的特殊用途,但是当中断处理非常简单,仅仅使用R8-R14寄存器时,FIQ处理程序可以不必执行保存和恢复中断现场的指令,从而可以使中断处理非常迅速。

对于R13,R14备份寄存器来说,每个寄存器对应六个不同的物理寄存器,其中的一个是系统模式和用户模式共用的;另外的五个对应于其他的五种处理器模式。

采用下面的记号来区分各个物理寄存器:R13_<MODE>其中MODE可以是下面几种模式之一:usr,svc,abt,und,irq,fiq程序计数器PC可以作为一般的通用寄存器使用,但有一些指令在使用R15时有一些限制。

由于ARM采用了流水线处理器机制,当正确读取了PC的值时,该值为当前指令地址值加上8个字节。

也就是说,对于ARM指令集来说,PC指向当前指令的下两条指令的地址。

由于ARM指令是字对齐的,PC值的第0位和第一位总为0。

需要注意的是,当使用str/stm保存R15时,保存的可能是当前指令地址值加8个字节,也可能保存的是当前指令地址值加12个字节。

到底哪种方式取决于芯片的具体设计。

对于用户来说,尽量避免使用STR/STM指令来保存R15的值。

当成功的向R15写入一个数值时,程序将跳转到该地址执行。

由于ARM指令是字对齐的,写入R15的值应满足bits[1:0]为0b00,具体要求arm个版本有所不同:**对于arm3以及更低的版本,写入R15的地址值bits[1:0]被忽略,即写入r15的地址值将与0xFFFF FFFC做与操作。

**对于ARM4以及更高的版本,程序必须保证写入R15的地址值bits[1:0]为0b00,否则将产生不可预知的后果。

对于Thumb指令集来说,指令是班子对齐的,处理器将忽略bit[0]。

***************************************************************程序状态寄存器***************************************************************CPSR(当前程序状态寄存器)在任何处理器模式下被访问。

它包含了条件标志位、中断禁止位、当前处理器模式标志以及其他的一些控制和状态位。

每一种处理器模式下都有一个专用的物理状态寄存器,称为SPSR(备份程序状态寄存器)。

当特定的异常中断发生时,这个寄存器用于存放当前程序状态寄存器的内容。

在异常中断退出时,可以用SPSR来恢复CPSR。

由于用户模式和系统模式不是异常中断模式,所以他没有SPSR。

当用户在用户模式或系统模式访问SPSR,将产生不可预知的后果。

CPSR格式如下所示。

SPSR和CPSR格式相同。

31 30 29 28 27 26 7 6 5 4 3 2 1 0N Z C V Q DNM(RAZ) I F T M4 M3 M2 M1 M0***条件标志位***N——本位设置成当前指令运算结果的bit[31]的值。

当两个表示的有符号整数运算时,n=1表示运算结果为负数,n=0表示结果为正书或零。

z——z=1表示运算的结果为零;z=0表示运算的结果不为零。

对于CMP指令,Z=1表示进行比较的两个数大小相等。

C——下面分四种情况讨论C的设置方法:在加法指令中(包括比较指令CMP),当结果产生了进位,则C=1,表示无符号运算发生上溢出;其他情况C=0。

在减法指令中(包括减法指令CMP),当运算中发生错位,则C=0,表示无符号运算数发生下溢出;其他情况下C=1。

对于包含移位操作的非加碱运算指令,C中包含最后一次溢出的的位的数值对于其他非加减运算指令,C位的值通常不受影响V——对于加减运算指令,当操作数和运算结果为二进制的补码表示的带符号数时,V=1表示符号为溢出;通常其他指令不影响V位。

***Q标识位***在ARM V5的E系列处理器中,CPSR的bit[27]称为q标识位,主要用于指示增强的dsp指令是否发生了溢出。

同样的spsr的bit[27]位也称为q标识位,用于在异常中断发生时保存和恢复CPSR中的Q标识位。

在ARM V5以前的版本及ARM V5的非E系列的处理器中,Q标识位没有被定义。

***CPSR中的控制位***CPSR的低八位I、F、T、M[4:0]统称为控制位。

当异常中断发生时这些位发生变化。

在特权级的处理器模式下,软件可以修改这些控制位。

**中断禁止位:当I=1时禁止IRQ中断,当F=1时禁止FIQ中断**T控制位:T控制位用于控制指令执行的状态,即说明本指令是ARM指令还是Thumb指令。

对于AR M V4以更高版本的T系列ARM处理器,T控制位含义如下:T=0表示执行ARM指令T=1表示执行Thumb指令对于ARM V5以及更高版本的非T系列处理器,T控制位的含义如下T=0表示执行ARM指令T=1表示强制下一条执行的指令产生未定指令中断***M控制位***M控制位控制处理器模式,具体含义如下:M[4:0] 处理器模式可访问的寄存器ob10000 user pc,r14~r0,CPSR0b10001 FIQ PC,R14_FIQ-R8_FIQ,R7~R0,CPSR,SPSR_FIQ0b10010 IRQ PC,R14_IRQ-R13_IRQ,R12~R0,CPSR,SPSR_IRQ0B10011 SUPERVISOR PC,R14_SVC-R13_SVC,R12~R0,CPSR,SPSR_SVC0b10111 ABORT PC,R14_ABT-R13_ABT,R12~R0,CPSR,SPSR_ABT0b11011 UNDEFINEED PC,R14_UND-R8_UND,R12~R0,CPSR,SPSR_UND0b11111 SYSTEM PC,R14-R0,CPSR(ARM V4以及更高版本)***CPSR中的其他位***这些位用于将来扩展。

应用软件不要操作这些位。

在ARM体系中通常有以下3种方式控制程序的执行流程:**在正常执行过程中,每执行一条ARM指令,程序计数器(PC)的值加4个字节;每执行一条Thumb指令,程序计数器寄存器(PC)加2个字节。

整个过程是按顺序执行。

**跳转指令,程序可以跳转到特定的地址标号处执行,或者跳转到特定的子程序处执行。

其中,B指令用于执行跳转操作;BL指令在执行跳转操作同时,保存子程序的返回地址;BX指令在执行跳转操作同时,根据目标地址为可以将程序切换到Thumb状态;BLX指令执行3个操作,跳转到目标地址处执行,保存子程序的返回地址,根据目标地址为可以将程序切换到Thumb状态。

**当异常中断发生时,系统执行完当前指令后,将跳转到相应的异常中断处理程序处执行。

当异常中断处理程序执行完成后,程序返回到发生中断指令的下条指令处执行。

在进入异常中断处理程序时,要保存被中断程序的执行现场,从异常中断处理程序退出时,要恢复被中断程序的执行现场。

ARM中异常中断的种类**复位(RESET)**当处理器复位引脚有效时,系统产生复位异常中断,程序跳转到复位异常中断处理程序处执行。

复位异常中断通常用在下面几种情况下:系统加电时;系统复位时;跳转到复位中断向量处执行成为软复位。

**未定义的指令**当ARM处理器或者是系统中的协处理器认为当前指令未定义时,产生未定义的指令异常中断,可以通过改异常中断机制仿真浮点向量运算。

**软件中断**这是一个由用户定义的中断指令。

可用于用户模式下的程序调用特权操作指令。

在实时操作系统中可以通过该机制西线系统功能调用。

**指令与取终止(PrefechAbort)**如果处理器预取的指令的地址不存在,或者该地址不允许当前指令访问,当被预取的指令执行时,处理器产生指令预取终止异常中断。

**数据访问终止(DATAABORT)如果数据访问指令的目标地址不存在,,或者该地址不允许当前指令访问,处理器产生数据访问终止异常中断**外部中断请求(IRQ)**当处理器的外部中断请求引脚有效,而且CPSR的寄存器的I控制位被清除时,处理器产生外部中断请求异常中断。

系统中个外设通过该异常中断请求处理服务。

**快速中断请求(FIQ)**当处理器的外部快速中断请求引脚有效,而且CPSR的F控制位被清除时,处理器产生外部中断请求异常中断异常中断向量表及异常中断优先级中断向量表指定了个异常中断及其处理程序的对应关系。

他通常存放在存储地址的低端。

在ARM体系中,异常中断向量表的大小为32字节,其中每个异常中断占据4个字节大小,保留了4个字节空间。

每个异常中断对应的中断向量表中的4个字节的空间中存放了一个跳转指令或者一个向PC寄存器中赋值的数据访问指令。

通过这两种指令,程序将跳转到相应的异常中断处理程序处执行。

当几个异常中断同时发生时,就必须按照一定的次序来处理这些异常中断。

各个异常中断的中断向量地址以及中断的处理优先级中断向量地址异常中断类型异常中断模式优先级(6最低)0x00 复位特权模式 10x04 未定义的指令未定义指令终止模式 60x08 软件中断特权模式 60x0C 指令预取终止终止模式 50x10 数据访问终止终止模式 20x14 保留未使用未使用0x18 外部中断请求IRQ模式 40x1C 快速中断请求FIQ模式 3。

相关文档
最新文档