嵌入式系统原理与应用技术.docx
《嵌入式系统原理与应用技术.docx》由会员分享,可在线阅读,更多相关《嵌入式系统原理与应用技术.docx(8页珍藏版)》请在冰豆网上搜索。
嵌入式系统原理与应用技术
1.嵌入式系统的定义:
一般都认为嵌入式系统是以应用为中心,以计算机技术为基础,并且软硬件可裁剪,可满足应用系统对功能、可靠性、成本、体积和功能有严格要求的专用计算机系统。
2.嵌入式系统的特征:
(1)通常是面向特定应用的。
具有功耗低、体积小和集成度高等特点。
(2)硬件和软件都必须高效率地设计,量体裁衣,力争在同样的硅片面积上实现更高的性能,这样才能满足功能、可靠性和功耗的苛刻要求。
(3)实时系统操作支持。
(4)嵌入式系统与具体应用有机结合在一起,升级换代也同步进行。
(5)为了提高运行速度和系统可靠性,嵌入式系统中的软件一般固化在存储器芯片中。
3.ARM嵌入式微系统的应用:
工业控制、网络系统、成像和安全产品、无线通信、消费类电子产品。
4.ARM嵌入式微处理器的特点:
(1)体积小、低功耗、低成本、高性能。
(2)支持Thumb(16位)/ARM(32位)双指令集,兼容8位/16位器件。
(3)使用单周期指令,指令简洁规整。
(4)大量使用寄存器,大多数数据都在寄存器中完成,只有加载/存储指令可以访问存储器,以提高指令的执行效率。
(5)寻址方式简单灵活,执行效率高。
(6)固定长度的指令格式。
5.嵌入式系统一般由嵌入式、外围硬件设备、、用户软件构成。
2.哈佛体系结构的主要特点是将程序和数据存储在不同的存储空间。
3.嵌入式处理器主要有四种嵌入式微处理器(EMPU)、嵌入式微控制器(MCU)、嵌入式数字信号处理器(DSP)、嵌入式片上系统(SoC)
采用3级流水线结构,采用冯·诺依曼体系结构;ARM9采用5级流水线结构,采用哈佛体系结构。
处理器共有37个32bit寄存器,包括31个通用寄存器和6个状态寄存器。
体系结构可以用2种方法存储字数据,即大端格式和小端格式。
处理器既支持32位的ARM指令集又支持16位的THCMB指令集。
处理器有7种工作模式,他们分为两大类特权模式、非特权模式。
其中用户模式属于非特权模式。
处理器的两种工作状态是①ARM状态,此时处理器执行32位的字对齐的ARM指令。
②Thumb状态,此时处理器执行16位的、半字对齐的Thumb指令。
10.嵌入式系统中,堆栈访问有满递增堆栈FA、满递减堆栈FD、空递增堆栈EA、空递减堆栈ED。
11.计算机硬件架构,按照数据和指令是否分开存放可分为冯·诺依曼体系结构、哈佛体系结构,其中冯·诺依曼体系结构结构又称普林斯顿体系结构。
的含义是精简指令集计算机,而CISC的含义是复杂指令集计算机。
是AdvancedMachines的缩写。
核含义是知识产权核。
15.嵌入式系统开发和调试中需要ICE,ICE的含义是在线仿真器。
体系结构中,字的长度32位,半字对齐存储的时候是2字节对齐。
所支持的最大存储器访问空间是232字节4GB
18.若ARM的存储器格式配置为(BigEndian)格式,则对于地址0x0000001s中存储的数据4567H在地址左低右高的内存空间的存放结果是(4567)若ARM的存储器格式配置(littleEndian)格式存放结果是(6745)
1.状态寄存器SPSR的条件码标志位N/Z/C/V在(28~31)位。
指令“ADDR0,R1,R2”是典型的寄存器寻址。
指令“LDRR1,[R3,#4]”是典型的基址加变址寻址。
1)寄存器寻址ADDR0,R1,R2;R0←R1+R2
2)立即寻址
(1)ADDR0,R0,#1;R0←R0+1
(2)ADDR0,R0,#0x3f;R0←R0+0x3f
3)寄存器间接寻址
(1)LDRR0,[R1];R0←[R1]
(2)STRR0,[R1];[R1]←R0
4)基址加偏址寻址
(1)LDRR0,[R1,#4];R0←[R1+4]
(2)LDRR0,[R1,#4]!
;R0←[R1+4]、R1←R1+4
(3)LDRR0,[R1],#4;R0←[R1]、R1←R1+4
5)变址寻址LDRR0,[R1,#4];R0←[R1+4]
6)多寄存器寻址LDMIAR1,{R0,R2,R5};R0←[R1],R2←[R1+4],R5←[R1+8]
7)堆栈寻址
(1)STMFDSP!
{R1-R7,LR};
(2)LDMFDSP!
{R1-R7,LR};
8)块复制寻址
(1)LDMIAR0!
{R2-R9};
(2)、STMIAR1,{R2,R9};
9)相对寻址BL
4.堆栈随着存储器地址的增长而向上增长,基址存储器指向存储器有效数据的最高地址或指向第一个要读出的数据位置是(满递增堆栈)。
向上生长:
向高地址方向生长,称为递增堆栈;向下生长:
向低地址方向生长,称为递减堆栈。
堆栈指针指向最后压入的堆栈的有效数据项,称为满堆栈;堆栈指针指向下一个要放入的空位置,称为空堆栈。
命令通过(makefile–ffilename)方式指向特定文件作为Make脚本文件。
都包含两种不同的加载操作模式(启动加载模式、下载模式)。
7.嵌入式系统中,中断处理过程中采用(中断向量)方法查找到中断处理程序的入口地址。
8.下面多个操作系统是嵌入式操作系统的是()。
uC/OSII、RT-thread、uCLinux、FreeRTOS、RTXArm-Linux、VxWorks、RTEMS、pSOSNucleus、PalmOS、WindowsCE、WindowsXPEmbedded、WindowsVistaEmbedded、嵌入式Linux、ECOS、QNX、Lynx、Symbian、Android、Maemo、Meego
9.下面哪一种功能单元不属于I/O接口电路(D)。
控制器控制器
C.以太网控制器
10.哪种模式不能直接程序状态寄存器(用户模式)。
11.目标机上Bootloader通过串口与主机之间进行文件传输不使用传输(A)。
协议协议
协议协议
预置了一些内部宏,其中$@表示(当前目标文件)。
13.以下哪个是Linux进程状态()。
Linux内核中定义了以下几种状态:
#defineTASK_RUNNING
是就绪态,进程当前只等待CPU资源。
#defineTASK_INTERRUPTIBLE
#defineTASK_UNINTERRUPTIBLE
都是阻塞态,进程当前正在等待除CPU外的其他系统资源;前者可以被信号唤醒,后者不可以。
#defineTASK_ZOMBIE
是僵尸态,进程已经结束运行,但是进程控制块尚未注销。
#defineTASK_STOPPED
是挂起状态,主要用于调试目的。
进程接收到SIGSTOP信号后会进入该状态,在接收到SIGCONT后又会恢复运行。
14.设备驱动程序是内核的一部分,描述不正确的是(D)。
A.设备驱动完成对设备初始化和释放
B.设备驱动把数据从内核传送到硬件和从硬件读取数据
C.设备驱动读取应用程序传送给设备文件的数据和回送应用程序请求的数据
D.设备驱动可以使用户更加仔细的了解硬件的细节
15.一个设备文件都对应两个设备号,而标识该设备的种类,也标识了设备使用的驱动程序是指(主设备号)。
16以下哪个不是GDB中的命令(D)
17.以下()不是嵌入式图形用户接口(GUI)的主要特征。
GUI的主要特征:
1.运行时占用的系统资源少2.模块化结构便于移植和定制3.可靠性高
18.目前嵌入式领域中使用最广泛,市场占有率最高的实时系统是(C)。
CE
三.简答题
1.什么是嵌入式系统?
嵌入式系统的特点是什么?
嵌入式系统是“以应用为中心、以计算机技术为基础、软件硬件可裁剪、功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。
”
特点:
1)是专用的计算机系统,用于特定的任务
2)资源较少,可以裁减;
3)功耗低,体积小,集成度高,成本低;
4)使用实时操作系统;
5)可靠性要求更高,具有系统测试和可靠性评估体系;
6)运行环境差异大
7)大部分程序固化在ROM中;
8)较长的生命周期;
9)嵌入式微处理器通常包含专用调试电路
处理器的指令集分为哪几类?
指令的一般格式是什么?
分为以下6类:
1.数据处理指令2.程序状态寄存器访问指令3.分支指令4.访存指令5.异常产生指令6.协处理器指令
一般格式:
{}{s},,{<;注释>}
3.什么是交叉编译环境?
为什么嵌入式系统开发多用交叉编译环境
交叉编译是指,在某个主机平台上(比如PC上)用交叉编译器编译出可在其他平台上(比如ARM上)运行的代码的过程。
完成该过程的环境为交叉编译环境。
因为一般的编译工具链需要很大的存储空间,并需要很强的CPU运算能力。
通过交叉编译工具,我们就可以在CPU能力很强、存储控件足够的主机平台上(比如PC上)编译出针对其他平台的可执行程序。
4.简述ARM体系结构的特征?
ARM嵌入式微处理器主要有ARM7、ARM9、ARM9E、ARM10等系列。
ARM7优化了低价位和低功耗的32位核,带有:
嵌入式ICE-RT逻辑;三级流水线(取指、译码、执行)和冯?
诺依曼体系结构,提供MHz。
ARM9系列提供了高性能和低功耗的硬宏单元,带有:
五级流水线(取指、译码、执行、访存(缓冲/数据)、回写);哈佛体系结构,提供MHz。
ARM9E系列是一种可综合处理器,带有DSP扩充和紧耦合存储器(TCM)接口,使存储器以完全的处理器速度运行,可直接连接到内核上。
ARM10系列带有:
64位AHB指令和数据接口;六级流水线;MHz;与同等的ARM9器件相比,其性能提高50%。
5.什么是Bootloader?
其主要功能是什么?
答:
Bootloader是系统加电后、操作系统内核或用户应用程序运行之前,首先必须运行的一段程序代码。
通过这段程序,为最终调用操作系统内核、运行用户应用程序准备好正确的环境。
主要功能:
1、硬件设备初始化;2、建立内存空间
的映射;3、系统的下载或调试测试等
6.搭建嵌入式开发环境,连接目标版,一般使用什么通信接口连接?
在Windows主机
上使用什么软件建立连接?
在Linux主机上使用什么软件建立连接?
串口连接,网络连接,JTAG口连接。
超级终端。
Minicom
7.简述ARM处理器的7运行模式?
用户模式(usr):
ARM处理器正常执行程序时的处理。
快速中断模式(fiq):
用于高速数据传输和通道处理。
外部中断模式(irq):
用于通用的中断处理。
管理模式(svc):
操作系统使用的保护模式。
指令数据访问终端模式(abt):
当数据或指令预期终止时进入该模式,可用于虚拟存储及存储保护。
系统模式(sys):
运行具有特权的操作系统任务时的模式。
未定义指令模式(und):
当未定义的指令执行时进入该模式,可用于支持硬件协处理器的软件仿真
8.ARM系统处理器arm7Tdmi中的tdmi四个字母的含义是什么?
T-支持16位Thumb指令集
D-支持片上Debug,允许处理器响应调试请求暂停
M-支持增强型乘法器,可生成全64位的结果
I-嵌入式ICE部件,提供片上断点和调试点的支持
9.ARMLinux嵌入式系统移植的步骤?
1.开发环境的搭建2.系统引导:
bootloader3.内核引导:
内核的定制
4.设备驱动程序5.文件系统
10.嵌入式系统的交叉开发环境的作用是什么?
交叉环境是在一个平台上生成在另一个平台上运行的代码;
作用:
由于嵌入式系统资源与速度的限制,通常选用装有linux操作系统的PC机作为开发系统的主机,利用交叉编译,生成在目标板上运行的二进制代码,然后通过NFS或其它方式下载到目标板运行。
10.一般Bootloader的工作分为哪两个阶段?
各个阶段的作用是什么?
就是在操作系统内核运行之前运行的一段小程序。
通过这段小程序,我们可以初始化硬件设备、建立内存空间映射图,从而将系统的软硬件环境带到一个合适状态,以便为最终调用操作系统内核准备好正确的环境。
stage1作用为硬件设备初始化(CPU的主频,SDRAM中断,串口等)
tage2作用为1.内核启动参数;2.启动内核;3,与主机进
行交互,从串口,USB或者网络口下载映象文件,并可以对
Flash等存储设备进行管理。