嵌入式系统重点整理汇编

嵌入式系统重点整理汇编
嵌入式系统重点整理汇编

1.嵌入式系统:定义:以应用为中心、以计算机技术为基础,软、硬件可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗等严格要求的专用计算机系统。嵌入式系统是应用于特定环境下执行面对专业领域的应用系统,其特点为:系统内核小,可裁剪;专业性强;系统精简;通常要求有高实时性的操作系统;嵌入式系统开发需要专门的开发工具和环境;一旦进入市场,就具有较长的生命周期。

嵌入式系统的典型组成:

按模块:中央处理器、外设、操作系统、应用

按体系结构:硬件层、中间层、操作系统、功能层

早期的嵌入式系统包含3个部分:硬件平台、嵌入式实时操作系统和应用程序;经过不断发展,在硬件平台和操作系统之间演化出了新的一层——硬件抽象层;硬件抽象层屏蔽了底层硬件的多样性,操作系统不再直接面对具体的硬件环境,而是由硬件抽象层代表的、逻辑上的硬件环境。板级支持包是大多数商用嵌入式操作系统实现可移植性所采用的一种方案,是硬件抽象层的一种实现。

2.嵌入式系统软件体系结构:早期的嵌入式系统包含3个部分:硬件平台、嵌入式实时操作系统和应用程序;经过不断发展,在硬件平台和操作系统之间演化出了新的一层——硬件抽象层;硬件抽象层屏蔽了底层硬件的多样性,操作系统不再直接面对具体的硬件环境,而是由硬件抽象层代表的、逻辑上的硬件环境。板级支持包是大多数商用嵌入式操作系统实现可移植性所采用的一种方案,是硬件抽象层的一种实现。

3.嵌入式系统的分类:按表现形式分(硬件范畴):芯片级嵌入(含程序或算法的处理器),模块级嵌入(系统中的某个核心模块),系统级嵌入。按实时性要求分(软件范畴):非实时系统(PDA),软实时系统,硬实时系统。嵌入式系统软件一般由嵌入式操作系统和应用软件组成;操作系统是连接计算机硬件与应用程序的系统程序,可分为:顺序执行系统(单任务系统,如DOS),分时操作系统:其特点包括多路性、交互性、“独占性”和及时性(UNIX),实时操作系统(RTOS):计算的正确性不仅取决于程序的逻辑正确性,更取决于结果产生的时间,根据对产生时间要求的严格程度又可分为:硬实时操作系统,软实时操作系统。

4.嵌入式操作系统有RTOS和DTOS之分,说明RTOS的实时性含义

答:RTOS意指实时操作系统,RTOS的实时性并非是简单的要求嵌入式操作系统响应速度快,而是要求嵌入式操作系统对外部事件和软件任务请求的响应事件具有严格的确定性。

5.实时操作系统的特点:计算的正确性不仅取决于程序的逻辑正确性,更取决于结果产生的时间。

6.冯·诺伊曼与哈佛结构:冯·诺依曼结构:采用二进制代码表示数据和指令;采用存储程序工作方式,数据和程序都存储在存储器中;由存储器、运算器、控制器、I/O设备组成计算机硬件系统;总结:程序存储,程序执行。哈佛结构:采用分别用于存储数据和程序的两个存储器,两条总线的系统结构;各个部件有专用的数据、地址与控制总线;CPU和外设DMA的操作引入了某种并行度;区别:地址空间和数据空间分开与否。哈佛结构与冯·诺依曼结构的区别:使用两个独立的存储器模块,分别存储指令和数据,每个存储模块都不允许指令和数据并存,以便实现并行处理;使用独立的两条总线,分别作为CPU与每个存储器之间的专用通信路径,这两条总线之间毫无关联;冯·诺依曼体系结构的特点:数据与指令都存储在存储器中,被大多数计算机所采用,ARM7——冯·诺依曼体系。哈佛体系结构的特点:程序存储器与数据存储器分开,指令和数据可有不同的数据宽度,提供了较大的数据存储器带宽,适合于数字信号处理,大多数DSP都是哈佛结构,ARM9是哈佛结构。

7.中断的重要性:响应突发事件(异步事件)。对计算机发展的影响:使得计算机能解决客观世界的突发事情,如实时系统。使轮询系统到事件驱动系统成为可能。

8.编址方式:独立编址(I/O具有与内存不同的地址空间),统一编址(I/O与内存在同一地址空间)

9.指令:面向程序员(软件)。微指令:复杂指令由微指令有序序列实现(在CPU中实现)。区别:每条微指令所代表的都是很简单的基本操作;所有微指令的格式都很规则、简单、易于解码;取微指令的速度很快;微指令的执行速度很快。

10.机器码是是计算机能理解和执行的唯一语言.机器码的有序集合对应于高级语言的语句.机器码是指令的二进制表示形式.

11.CISC:复杂指令集(Complex Instruction Set Computer):具有大量的指令和寻址方式;大多数程序只使用少量的指令就能够运行。CISC的缺点:20%与80%的问题(20%的简单指令利用率达到80%,80%的复杂指令的使用概率只有20%)指令复杂度对处理器VLSI实现性能的影响(CISC中指令长度不统一,高性能的VLSI实现难度大)软硬件的协同设计问题(CISC多采用微指令技术,增强指令系统的功能,简化了目标软件的设计,但增加了硬件(微程序)复杂度,程序执行时间不一定短)。

RISC:精简指令集(Reduced Instruction Set Computer) :只包含最有用的指令,确保数据通道快速执行每一条指令,使CPU硬件结构设计变得更为简单。RISC的特点:硬连线的指令译码逻辑(RISC指令格式和长度固定,指令类型少,功能简单,寻址方式少,译码控制器可采用规则的硬布线逻辑(组合逻辑型),CISC大多使用微码ROM进行指令译码(存储逻辑型));减少指令和寻址方式的种类;大多数指令单周期执行;分开的Load/Store结构的存取指令;固定指令格式。RISC的优势:处理器管芯面积小,开发时间少,开发成本低,容易实现高性能。RISC的缺点:与CISC比代码密度低,不能执行X86代码,给优化编译程序带来了困难。

12.ARM嵌入式处理器的指令系统采用RISC体系,RISC有何主要特点:

答:1.采用固定长度的指令格式,指令规整,简单; 2.使用单周期指令; 3.大量使用寄存器。

13.ARM的特点:小体积、低功耗、低成本、高性能,Load/Store体系结构,16位/32位双指令集,3地址指令格式,全球众多的合作伙伴(自己只设计高性能的IP核,授权给别人生产)

14.体系结构的演变:T变种:16位压缩指令集;M变种:增强型乘法器,产生全64位结果:(32X32?64or32X32+64 ?64);E变种:增强型DSP指令集,包括全部算法操作和16位乘法操作;J变种:支持新的JAVA,提供字节代码执行的硬件和优化软件加速功能;SIMD变种:媒体功能扩展;D变种:支持片上Debug;I变种:EmbededICE硬件,以支持片上断点和观察点;S:表示可综合的“软”IP核

15.在ARM嵌入式处理器系列中有ARM7TDMIMI,ARM9TDMI的CPU核,解释其中“TDMI”的含义。

答:T:支持16位的Thumb指令集; D:支持片上Debug; M:片内嵌有硬件乘法器; I:嵌入式在线仿真ICE。

16.ARM微处理器的两种工作状态:第一种为ARM状态:此时处理器执行32位的字对齐的ARM指令;第二种为Thumb状态:此时处理器执行16位的、半字对齐的 Thumb 指令;在程序的执行过中,可随时在两种工作状态之间切换

17.ARM七种工作模式:用户模式(usr):ARM处理器正常的程序执行状态;快速中断模式(fiq):用于高速数据传输或通道处理;外部中断模式(irq):用于通用的中断处理;管理模式(svc):操作系统使用的保护模式;指令终止模式(abt):当指令预取终止时进入该模式;数据访问终止模式(abt):当数据访问终止时进入该模式,可用于虚拟存储及存储保护;系统模式(sys):运行具有特权的操作系统任务;注:除了用户模式外,其它模式都是特权模式。

18.ARM异常类型:当正常的程序执行流程发生暂时的停止时,称之为异常。复位:当处理器的复位电平有效时,产生复位异常,程序跳转到复位异常处理程序处执行;未定义指令:当ARM处理器或协处理器遇到不能处理的指令时,产生未定义指令异常。可使用该异常机制进行软件仿真;软件中断:该异常由执行SWI 指令产生,可用于用户模式下的程序调用特权操作指令。可使用该异常机制实现系统功能调用;指令预取中止:若处理器预取指令的地址不存在,或该地址不允许当前指令访问,存储器会向处理器发出中止信号,但当预取的指令被执行时,才会产生指令预取中止异常;数据中止:若处理器数据访问指令的地址不存在,或该地址不允许当前指令访问时,产生数据中止异常;IRQ(外部中断请求):当处理器的外部中断请求引脚有效,且CPSR中的I位为0时,产生IRQ异常。系统的外设可通过该异常请求中断服务;FIQ(快速中断请求):当处理器的快速中断请求引脚有效,且CPSR中的F位为0时,产生FIQ异常.

异常向量表:(地址,异常,进入模式):(0x0000,0000, 复位,管理模式)(0x0000,0004,未定义指令,未定义模式)(0x0000,0008,软件中断,管理模式)(0x0000,000C,中止(预取指令),中止模式)(0x0000,0010,中止(数据),中止模式)(0x0000,0014,保留,保留)(0x0000,0018,IRQ)(0x0000,001C,FIQ,FIQ)异常优先级:1(最高):复位;2:数据中止;3:FIQ;4:IRQ;5:预取指令中止;6(最低):未定义指

令,SWI。

19.ARM嵌入式处理器支持7种一场,对于复位(Reset)异常,ARM嵌入式处理器是如何处理的,复位异常向量地址是什么?

答:复位异常通常是由系统加电或硬件强制使处理器的复位引脚出现负跳变而产生的,当处理器复位引脚出现负跳变时,当前程序运行程序跳转到复位处理程序处执行,并将复位向量地址是0x0000 0000开始的连续4个字节。

20.ARM微处理器共有37个32bit寄存器,其中R13(SP),LR(R14),R15(PC),R16(CPSR)的有何用途,SPSR有何用途?

答:R13是一个32位的通用寄存器,通常用作堆栈指针寄存器; R14是一个32位的通用寄存器,亦称连接寄存器,用于保存子程序的返回地址; R15程序计数器,控制程序的执行顺序; CPSR:是当前程序状态寄存器,用于保存条件码标志,中断标志和运行模式控制位; SPSR:是CPSR的备份寄存器,用于保存CPSR的值。

21. LDR R0, [R1]; 压栈指令:[R1]→R0; STR R0, [R1]; 出栈指令:R0→[R1];

LDR R0, [R1, #4]; 前变址寻址:[R1+4]→R0,不影响R1的值

LDR R0, [R1,#4]!; 自动变址模式:[R1+4]→R0, R1+4

LDR R0, [R1],#4; 后变址模式:[R1]→R0,然后R1+4

ARM存储器访问指令:单寄存器存取指令(LDR,STR)(字32位,半字16位,字节8位),多寄存器存取指令(LDM,STM)。存储器和寄存器交换指令:SWP

跳转指令:B:跳转到指定的地址执行程序; BL:将下一条指令的地址拷贝到R14(即LR)链接寄存器中然后跳转到制定地址运行程序;BX:带状态切换的跳转指令(ARM→Thumb,Thumb→ARM); BLX:带链接和状态切换的跳转指令。跳转的范围是+-32MB。

RSB:逆向减法指令:RSB R0,R1,R2:R2-R1→R0

RSC:带进位的逆向减法指令:

BIC:清楚操作数1中在操作数2中为1的那些位:BIC R0, R0, #0x0b:将0,1,3位置0

CMN:将操作数2取反后再与操作数1比较:CMN R1, R0

MLA:操作数1*操作数2+操作数3→目的寄存器:MLA R0,R1,R2,R3;R1*R2+R3→R0

22.常见的嵌入式系统存储设备:

(1).随机存取存储器:SRAM静态RAM;DRAM动态RAM:ASDRAM 异步动态RAM,SDRAM同步动态RAM (2).只读存储器:掩膜式ROM ;PROM可编程ROM;EPROM可擦除、可编程;EEPROM电可擦除可编程;Flash Memory (闪速存储器) (3).静态RAM:数据存入静态RAM后,只要电源维持不变,其中存储的数据就能够一直维持不变;读写速度快;由触发器构成基本单元,接口简单;存储单元结构复杂,集成度较低;常常用作高速缓冲存储器 (4).DRAM动态RAM:依靠电容存储信息,需要不断刷新;读写速度慢;集成度高,成本底;地址引脚少,地址总线采用多路技术,接口复杂 (5).Flash memory:保密性好。分类:Nor Flash,Nand Flash (6).Nor Flash:芯片内执行;读速度快(比较Nand Flash);写入与擦除速度很低;擦除按块进行,写入前必须先擦除;带有SRAM接口,有足够的地址引脚来寻址,可以很容易地存取其内部的每一个字节;常用来存储代码。Nand Flash:NAND读和写操作按512字节的块进行;写入与擦除速度比Nor Flash 快;擦除按块进行,写入前必须先擦除;NAND的擦除单元更小,相应的擦除电路更少;NAND器件使用复杂的I/O口来串行地存取数据;常用来存储数据

23.液晶显示:液晶显示器(Liquid Crystal Display)LCD具有省电、体积小、低成本、低功率等特点,被广泛应用于嵌入式系统中.液晶:以液态形式存在的晶体.有电流流过,液晶分子会以电流的方向进行排列;没有电流时,平行排列。如果提供带有细小沟槽的外层,液晶会顺着槽排列。液晶能使光线发生扭转. 液晶的这些特点使得它可以被用来当作一种开关。液晶单元的底层是由细小的脊构成的,这些脊的作用是让分子呈平行排列,上表面也是如此,在这两侧之间的分子平行排列;不过当上下两个表面之间呈一定的角度时,液晶成了随着两个不同方向的表面进行排列,就会发生扭曲。结果便是这个扭曲了的螺旋层使通

过的光线也发生扭曲。

24.触摸屏由触摸检测部件和触摸屏控制器组成:触摸检测部件安装在显示器屏幕前面,用于检测用户触摸位置,接受后送触摸屏控制器;触摸屏控制器的主要作用是从触摸点检测装置上接收触摸信息,并将它转换成触点坐标,再送给CPU 。按照触摸屏的工作原理和传输信息的介质,我们把触摸屏分为四种:1.电阻式:利用压力感应进行控制。 2.电容感应式:利用人体的电流感应进行工作的。 3.红外线式:利用X、Y 方向上密布的红外线矩阵来检测并定位用户的触摸。 4.表面声波式:表面声波是超声波的一种,在介质(例如玻璃或金属等刚性材料)表面浅层传播的机械能量波。通过两个方向上声波能量缺口来定位,并可检测压力.

25.实时操作系统:采用实时操作系统(Real Time Operation System)的计算机系统为实时系统.它是一个能够在指定或确定的时间内完成系统功能及对外部事件在同步或异步时间内作出响应的系统.一般只有最高优先级的任务才能占有CPU的控制权。

26.实时操作系统分类:具有强实时特点的嵌入式操作系统:强实时系统,其系统响应时间在毫秒或微秒级(数控机床);具有一般实特点的嵌入式操作系统:一般实时系统,其系统响应时间在毫秒-几秒的数量级上,其实时性的要求比强实时系统要差一些(电子菜谱的查询);具有弱实特点的嵌入式操作系统:弱实时系统,其系统响应时间约为数十秒或更长(工程机械)。

27.任务的基本状态:运行状态:该任务已获得运行所必需的资源,它的程序正在处理机上执行;阻塞状态:任务正等待着某一事件的发生而暂时停止执行。这时,即使给它CPU控制权,它也无法执行,则称该任务处于阻塞态;就绪状态:任务已获得除CPU之外的运行所必需的资源,一旦得到CPU控制权,立即可以运行。任务状态转换:在任务运行过程中,由于任务自身进展情况及外界环境的变化,这三种基本状态可以依据一定的条件相互转换:就绪—运行:调度程序选择一个新的进程运行;运行—就绪:运行进程用完了时间片或运行进程被中断,因为一高优先级进程处于就绪状态;运行—等待:当一进程必须等待某个事件时(OS尚未完成服务,对一资源的访问尚不能进行,初始化I/O 且必须等待结果);等待—就绪:当所等待的事件发生时。

28.可重入型函数:可以被一个以上的任务调用,而不必担心数据的破坏。可重入型函数任何时候都可以被中断,一段时间以后又可以运行,而相应数据不会丢失。可重入型函数或者只使用局部变量,即变量保存在CPU寄存器中或堆栈中。一个不可重入型函数的例子:

int Temp;

Void swap (int *x,int*y)

{ Temp=*x; *x=*y; *y=Temp; } 一个可重入型函数的例子:

Void swap (int *x,int*y)

{ int Temp; Temp=*x; *x=*y; *y=Temp; }

29.代码的临界区:代码的临界区也称为临界区,指处理时不可分割的代码。一旦这部分代码开始执行,则不允许任何中断打入。在进入临界区之前要关中断,而临界区代码执行完以后要立即开中断(在任务切换时,地址、指令、数据等寄存器堆栈保护)。

30.临界段:同其它内核一样,μC/OS-II为了处理临界段代码,必须关中断,处理完毕后,再开中断。微处理器一般都有关中断/开中断的指令。μC/OS-II定义了2个宏来关中断和开中断:OS_ENTER_CRITICAL(),OS_EXIT_CRITICAL()。

31.实时操作系统(RTOS)特征:一,高效的任务管理(1.支持多任务,2.优先级管理,3.任务调度:基于优先级的抢占式调度、时间片轮转调度的算法,4.支持快速而确定的上下文切换);二,快速灵活的任务间通信(1.信号量:二进制、互斥、计数器,2.通信机制:消息队列、管道等);三, 高度的可剪裁性;四,动态链接与部件增量加载;快速有效的中断和异常事件处理;五,优化的浮点支持;六,动态内存管理;七,系统时钟和定时器。

32.任务状态

休眠态:任务仅驻留在程序空间,还没有交给μC/OS-II管理;就绪态:任务一旦建立,这个任务就进入就绪态,准备运行;运行态:任何时刻只能有一个任务处于运行态;等待状态:正在运行的任务可能需要等待某一事件的发生或将自己延迟一段时间;中断服务态:正在运行的任务是可以被中断的,除非该任务将中断关闭;被中断了的任务进入了中断服务态。

33.OS_ENTER_CRITICAL():关中断;

OS_EXIT_CRITICAL():开中断

OSTaskDel(OS_PRIO_SELF); 当任务结束时删除自己

使任务进入就绪态:prio是任务是优先级:OSRdyGrp |=OSMapTbl[prio>>3];

OSRdyTbl[prio>>3] |=OSMapTbl[prio & 0x07];

使任务脱离就绪态:If((OSRdyTbl[prio>>3] &= ~ OSMapTbl[prio & 0x07])== 0)

OSRdyGrp &= ~ OSMapTbl[prio>>3];

任务的调度:任务级的调度由函数OSSched()完成,中断级的调度有函数OSIntExt()完成

OS_TASK_SW():任务的切换

OSSchedlock():给调度器上锁,OSLockNesting跟踪该函数被调用的次数

OSSchedUnlock():给调度器解锁,给OSLockNesting值减1

OSIntNesting:中断嵌套计数器

OSIntEnter():将OSIntNesting加1

OSIntExit():中断结束返回函数,将OSIntNesting减1

OS_TaskIdle:创建空闲任务

OSTaskStat():统计任务,统计运行时间,运行1次/秒,计算当前的CPU利用率

OSInit():系统初始化函数

OSStart():μC/OS-II的启动,多任务的启动/多任务调度

OSTaskcreat( ):任务建立函数/OSTaskCreateExt()

OSTaskCtr:任务计数器

OSTaskChangePrio():改变任务优先级

OSTaskSuspend():挂起任务

OSTaskResume():恢复任务

OSTaskQuery():获取任务的信息

OSTimeDLY():时间延迟函数

OSTimeDlyResmue():延时恢复函数

OS_EventWaitListInit(OS_EVENT *pevent): 初始化一个事件控制块,只初始化等待事件任务列表

OS_EventTaskWait():使一个任务进入等待某事件的状态

OS_EventTaskRdy():使一个任务就绪

OS_EventTO():因为等待超时而使一个任务进入就绪态

OSSemCreate():建立一个信号量

OSSemDel():删除一个信号量

OSSemPend:P操作

OSSemPost:V操作

OSSemAccept:无等待的请求一个信号量

OSSemQuery:查询信号量当前状态

34. 将任务置于等待事件任务列表:pevent->OSEventGrp|=OSMapTbl[prio>>3];

pevent->OSEventTbl[prio>>3]|=OSMapTbl[prio&0x07];

使任务脱离等待状态:if((pevent->OSEvent[prio>>3]&=~OSMapTbl[prio&0x07])==0)

{ pevent->OSEventGrp&=~OSMapTbl[prio>>3]; }

查找优先级最高的任务:y=OSUnMapTbl[pevent->OSEventGrp];

x=OSUnMapTbl[pevent->OSEventTbl[y]];

prio=(y<<3)+x;

35.嵌入式系统实验中用的硬件平台是以EP7312微处理器为核心的实验系统,EP7312是ARM7微处理器家族中的一种,其内嵌JTAG,ICE,MMU,Cache,说明其含义与用途

答:JTAG是一种国际标准测试协议,主要用于芯片内部测试及系统仿真测试 MMU意指存储单元管理,用于实现虚拟地址空间到物理存储空间的映射,存储器访问权限的控制,设置虚拟存储空间的缓冲特性 CACHE 称高速缓冲存储器,主要用来提高存储系统的性能,数据的高速读写

36.以ARM处理器为核心的嵌入式系统的程序设计中要遵守ATPCS,解释ATPCS

答:ATPCS 最早是为方便ARM程序与Thumb程序之间调用规定的一些规则,而ATPCS的扩充班还规定了C 语言与汇编语言的相互调用规则

37.在嵌入式系统的软硬件构架中,硬件抽象层(HAL)或板级支持包(BSP)的作用是什么?

答:硬件抽象层(HAL)或板级支持包(BSP)的作用是什麽硬件抽象层位于操作系统内核与硬件电路之间的接口,其主要目的是将硬件抽象话,即通过程序来控制所有硬件电路操作,这就使得系统的设备驱动程序与硬件设备无关,提高系统可移植性板级支持包是介于主板硬件和操作系统中驱动层程序之间的一层,一般认为它属于操作系统的一部分,主要是实现对操作系统的支持,为上层驱动程序提供访问硬件寄存器的函数包,使之能够更好的运行于硬件主板

38.什么是函数的可重入特性?它对多任务调度有何影响?如何将非重入函数改写为重入函数?

答:如果一个函数任何时候都可被中断,一段时间后又可以运行而相应的数据不会丢失该函数具有可重入性可重入函数可被一个以上的函数调用,而不必担心数据被破坏对非重入函数,将其中的全部变量改为局部变量或使用信号量技术,可是其具有可重入性

39.在嵌入式系统运行中,为何要设置临界段,Uc/OSII中实现临界段设置的两个函数是什么?

答:为了保护某些代码在运行中不被中断,需要将其设置为临界段,系统在进入临界段之前要关中断,而临界段代码执行完后要立即开中断, Uc/OSII中实现临界段设置的两个函数是OS-ENTER-CRITICAL()和OS-EXIT-CRITICAL()

40.什么是ATPCS

答:arm-thumb procedure call standard,PCS规定了应用程序的函数可以如何分开地写,分开地编译,最后将它们连接在一起

PCS规范强制实现如下约定:调用函数如何传参;被调用函数如何获取参数,以何种方式传递函数返回值寄存器的使用规则:子程序间通过寄存器R0~R3来传递参数和结果;在子程序中,使用寄存器R4~R11来保存局部变量(Thumb用R4~R7 );寄存器R12用作子程序间scratch寄存器(用于保存SP,在函数返

回时使用该寄存器出栈),记作ip;寄存器R13用作数据栈指针,记作sp;寄存器R14称为连接寄存器,记作lr;寄存器R15是程序计数器,记作pc。它不能用作其他用途

数据栈使用规则:ATPCS规定数据栈为FD(Full Descending )类型,并且对数据栈的操作是8字节对齐的

参数传递规则:参数个数可变的子程序参数传递规则:参数不超过4个时,使用R0~R3来传递,参数超过4个时,可以使用数据栈来传递;参数个数固定的子程序参数传递规则:有关浮点运算;子程序结果返回规则:结果为一个32位整数时,可以通过寄存器R0返回,结果为一个64位整数时,可以通过寄存器R0和R1返回,依次类推。

C和汇编混合编程中需遵循一定的ATPCS规则:

汇编程序的设计要遵守ATPCS,保证程序调用时参数的正确传递。

在汇编程序中使用EXPORT伪操作声明本程序,使得本程序可以被别的程序调用。

在汇编程序中使用IMPORT伪操作声明将要调用C程序。

在C语言程序中使用extern关键词声明该汇编程序。

41.μc/OS-II的移植

答:1、设置OS_CPU.H中与处理器和编译器有关的代码:与编译器有关的数据类型;中断屏蔽OS_ENTER_CRITICAL()和退出中断屏蔽的宏定义OS_EXIT_CRITICAL();栈增长方向标志OS_STK_GROWTH 2、用汇编在OS_CPU_A.S文件中编写与微处理器相关的函数:调用优先级最高的就绪任务函数OSStartHighRdy();任务级的任务切换函数OSCtxSw();中断级的任务切换函数OSIntCtxSw() 3、用C语言编写6个和操作系统有关的函数(OS_CPU_C.C中)OSTaskStkInit()(这个必须移植,初始化任务堆栈用),OSTaskCreateHook(),OSTaskDelHook(),OSTaskSwHook(),OSTaskStatHook(),OSTimeTickHook()

1.程序示例:数据块复制: 本程序将数据从源数据区src复制到目标数据区dst。复制时,以8个字为单位进行。对于最后所剩不足8个字的数据,以字为单位进行复制。(这时程序跳转到Copywords处执行)在进行以8个字为单位的数据复制时,保存了所用的8个工作寄存器。

AREA Block,CODE,READONLY ;设置本段程序的名称(Block)及属性

unm EQU 20 ;设置将要复制的字数

ENTRY ;标识程序入口点

start

LDR r0,=src ;r0寄存器指向源数据区src

LDR r1,=dst ;rl寄存器指向目标数据区dst

MOV r2;#unm ;r2指定将要复制的字数

MOV sp,#0x400 ;设置数据栈指针(r13),用于保存工作寄存器数值

Blockcopy ;进行以8个字为单位的数据复制

MOVS r3,r2,LSR #3 ;需要进行的以8个字为单位的复制次数

BEQ copywords ;对于剩下不足8个字的数据,跳转到copywords,以字为单位复制

STMFD sp!,{r4-r11};保存工作寄存器

Octcopy

LDMIA r0!,{r4-r11};从源数据区读取8个字的数据,放到8个寄存器中,并更新目标数据区指针r0 STMIA r1!,{r4-r11};将这8个字数据写入到目标数据区中,并更新目标数据区指针r1

SUBS r3,r3,#1 ;将块复制次数减1

BNE Octcopy ;循环,直到完成以8个字为单位的块复制

LDMFD sp!,{r4-r11} ;恢复工作寄存器值

Copywords

ANDS r2,r2,#7 ;剩下不足8个字的数据的字数

BEQ Stop ;数据复制完成

Wordcopy

LDR r3,[r0],#4 ;从源数据区读取1个字的数据,放到r3寄存器中并更新目标数据区指针r0 STR r3,[r1],#4 ;将这r3中数据写入到目标数据区中,并更新目标数据区指针r1

SUBS r2,r2,#l ;将字数减l

BNE Wordcopy ;循环,直到完成以字为单位的数据复制

Stop ;程序退出

MOV r0, #0x18

AREA BlockData ,DATA,READWRITE ;定义数据区

Src DCD 1, 2, 3, 4, 5, 6, 7, 8, 1, 2, 3, 4, 5, 6, 7, 8, 1, 2, 3, 4 ;定义源数据区src Dst DCD 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ;定义目标数据区dst

END ;结束汇编

2. 利用跳转表实现程序跳转: 跳转表中存放的是各子函数的地址,选择不同子程序的参数是该子程序在跳转表中的偏移量。r3寄存器中存放的是跳转表的基地址.r0寄存器的值用于选择不同的子程序。

AREA Jump,CODE,READONLY ;设置本段程序的名称(Jump)及属性

num EQU 2 ;跳转表中的子程序个数

ENTRY ;程序执行的入口点

Start

MOV r0,#0 ;设置3个参数,然后调用于程序arithfunc,进行算术运算

MOV r1,#3

MOV r2,#2

BL arithfunc ;调用子程序arithfunc

Stop ;程序退出

MOV r0, #0x18

LDR r1,=0x20026

SWI 0x123456

Arithfunc ;子程序arithfunc入口点

CMP r0,#unm ;判断选择子程序的参数是否在有效范围之内

MOVHS pc,lr ;若不在,则直接返回

ADR r3,JumpTable ;读取跳转表的基地址

LDR pc,[r3,r0,LSL #2] ;根据参数r0的值跳转到相应的子程序

JumpTable

DCD DoAdd

DCD DoSub

DoAdd ;子程序DoAdd执行加法操作

ADD r0,r1,r2

MOV pc,lr

DoSub ;子程序DoSub执行减法操作

SUB r0,r1,r2

MOV pc,lr

END ;结束汇编

3.进行状态切换的程序示例, ARM到Thubm状态;Thumb到ARM状态

AREA AddReg,CODE,READONLY

ENTRY

Main

ADR r0,ThumbProg+1 ;将ThumbProg+1地址值读取到r0

BX r0 ;跳到ThumbProg,程序切换到Thumb状志

CODE16 ; CODE16指示编译器后面的为Thumb指令

ThumbProg

MOV R2,#2

MOV R3,#3

ADD R2,R2,R3

ADR r0,ARMProg

BX r0 ;跳转到ARMProg,程序切换到ARM状态

CODE32 ;CODE32指示编译器后面的为ARM指令

ARMProg

MOV r4, #4

MOV r5, #5

ADD R4,R4,R5

Stop

MOV r0,#0x18

LDR R1,=0x20026

SWI 0x12345

END ;结束汇编

4. 混合编程中需遵循一定的ATPCS规则: 汇编程序的设计要遵守ATPCS,保证程序调用时参数的正确传递。在汇编程序中使用EXPORT伪操作声明本程序,使得本程序可以被别的程序调用。在C语言程序中使用extern 关键词声明该汇编程序。

#include<stdio.h>

extern void strcopy(char d,const char *s);//使用关键字extern声明strcopy

int main()

const char *srcstr=“First string - source”;char dststr[]=“second string - destination”;

printf(“Before copying:\n”); printf(“%S\n%S\n” srcstr,dststr);

strcopy(dststr,srcstr);//调用汇编,将源串和目标串地址传递给 strcopy,dststr是第1参数,srcstr是第2参数 ATPCS规则 printf(“After copying:\n”);Printf(“%s\n%s\n”,srcstr,dststr);return(0);}

AREA scopy CODE, READONLY

EXPORT strcopy ;使用EXPORT伪操作声明本汇编程序

Strcopy ;寄存器RO中存放第1个参数,即dststr, 寄存器R1中存放第2个参数,即srcstr LDRB R2,[R1],#1 ;读一个源字符

STRB R2,[R0],#1 ;写一个字符于目的地

CMP R2, #0 ;0为字符串结束标志

BNE strcopy

MOV PC,LR ;返回

END

5. 汇编程序调用C程序示例:汇编程序的设计要遵守ATPCS,保证程序调用时参数的正确传递 ,在汇编程

序中使用IMPORT伪操作声明将要调用C程序。

//c程序g()返回5个整数的和

int g(int a, int b, int c, int d ,int e) //5个参数

{ return a + b + c + d + e; }

EXPORT f ;声明符号f可被其他文件引用

AREA f, CODE,READONLY

IMPORT g ;使用伪操作IMPORT声明C程序g()

STR lr,[sp,#-4]!;保存返回地址

ADD r1,r0,r0 ;假设进入程序f时,r0中值为i,r1值设为2×i

ADD r2,r1,r0 ;r2值设为3×i

ADD r3,r1,r2 ;r3值先设为5×i

STR r3,[sp,#-4]!;第五个参数通过数据栈传递

ADD r3,r1,r1 ;r3值设为4×i

BL g ;调用C程序g()

ADD sp,sp,#4 ;调整数据栈指针,准备返回

LDR pc,[sp],#4 ;返回

END

6.用ARM汇编语言指令和C语言编写一个完成64位二进制数相加的程序(加法子程序用汇编语言编写,主程序用C语言编写)

#include

#include

Extern void add-asmsub(int a, int b, int c,int d);

Void main()

{

Char *as, *bs, *cs;

Long int a=111111;

Long int b=12222;

Long int c=211111;

Long int d=22222;

Add-asmsub(a,b,c,d);

As=isalnum(a);

Bs=isalnum(b);

Stacat(as, bs);

Printf(“%s\n”,as);

}

AERA add-asm, CODE ,READONLY

EXPORT add=asmsub

Add-asmsub

ADDS R1,R1,R3 ;低32bit相加,和送往R1

ADCS R0,R0,R2 ;高32bit带进位相加,和送往R0

MOV PC,LR

END

7. EXAMPLE 求两个整数的最大公约数

; int gcd (int a ,int b)

; {

; while (a!=b)

; {

; if (a>b)

; a=a-b;

; else

; b=b-a;

; }

; return a;

; }

AREA gcd, CODE, READONLY ALIGN=3

ENTRY

start CMP R0,R1

BEQ stop

BLT less

SUB R0,R0,R1

B start

less SUB R1,R1,R0

B start

stop NOP

END

AREA gcd, CODE, READONLY ALIGN=3

ENTRY

start CMP R0,R1

SUBGT R0,R0,R1

SUBLT R1,R1,R0

BNE start

END

BL SUB1 /*调用子程序SUB1*/

reAdd: /*返回地址*

SUB1: STMFD SP!, {, LR}/*将寄存器列表和R14存入堆栈*

LDMFD SP, {, PC} /*完成子程序返回 */

或MOV PC, LR /*R14→R15,即LR→PC*/

或BX LR /*跳转指令LR→PC*/

8. 以下指令序列完成两个128位数的加法,第一个数存放在寄存器R7~R4,第二个数存放在寄存器R11~R8,运算结果存放在寄存器R3~R0:

ADDS R0,R4,R8 ;加低端的字

ADCS R1,R5,R9 ;加第二个字,带进位

ADCS R2,R6,R10 ;加第三个字,带进位

ADC R3,R7,R11 ;加第四个字,带进位

SUB R0,R1,R2 ; R0 = R1 - R2

SUB R0,R1,#256 ; R0 = R1 - 256

SUB R0,R2,R3,LSL#1 ; R0 = R2 - (R3 << 1)

以下指令序列实现64减法(R1,R0)-(R3,R2)

SUBS R0,R0,R2

SBC R1,R1,R3

下列指令实现64位数据的负数

RSBS R2,R0,#0

RSC R3,R1,#0

9. OSCtxSw(); //任务级的任务切换函数

Stmfd sp!, {lr} 保存pc

Stmfd sp!, {r0-r12,lr} 保存处理器寄存器

Mrs r4!, cpsr // 在当前的任务控制块中保存当前任务的堆栈指针Stmfd sp!, {r4} //

Mrs r4!, spsr //

Stmfd sp!, {r4} //

Ldr r4, =OSPrioCur 取得先前优先级任务的TCB地址

Ldr r5, =OSPrioHighRdy 取得最高优先级任务TCB的地址

Ldrb r6, [r5]

Strb r6, [r4]

Ldr r4, =OSTCBCur 取得当前优先级任务的TCB地址

Ldr r5, [r4]

Str sp, [r5]

Bl OSTaskSwHook 调用函数OSTaskSwHook

Ldr r6, = OSPrioHighRdy 取得最高优先级任务TCB的地址

Ldr r6, [r6]

Ldr sp, [r6] 得到将要开始运行任务的堆栈指针

Str r6, [r4]; 设置当前任务的TCB

Ldmfd sp!, {r4}

Msr SPSR-cxsf, r4

Ldmfd sp!, {r4}

Msr CPSR-cxsf, r4

Ldmfd sp!, {r0-r12, lr, pc}

STMFD SP!, {, LR}/*将寄存器列表和R14存入堆栈*/ LDMFD SP, {, PC} /*完成子程序返回 */

嵌入式系统知识点

嵌入式系统知识点 1.什么是嵌入式系统。 2.嵌入式系统三要素 3.嵌入式处理器的类型 4.大端存储格式的规则是______;小端存储格式的规则是。 5.ARM是______的处理器,有_____个工作状态,工作在_____状态时,执行的是32位指令集,工作在_____状态时,执行的是16位指令集。_____指令集是_____指令集的子集。 6.ARM有_____种工作模式。它们的名称和缩写分别是:()。其中特权模式是指:(),异常模式又是指:()。当前工作模式状态及设置是由_____寄存器中的M[4:0]五位决定的,每种模式对应的M[4:0]值是:()。 7.ARM的异常中断有_____种,它们的名称是:(),对应的中断入口地址是:(),默认的优先级是:()。 8.ARM核内共有_____寄存器,分_____、_____两类。按工作模式不同可分_____个寄存器组。在ARM状态时的寄存器有:所有模式下均能访问的寄存器是();除()模式外均能访问寄存器R0-R12,()模式只使用自己的专用寄存器R8-R12;在()模式中,每个模式均有自己的R13、R14、SPSR 寄存器。其中R13是作_____寄存器共_____个、R14是作_____寄存器共_____个、R15是作_____寄存器共_____个。在Thumb状态下的寄存器:通用寄存器是_____,有_____组;SP堆栈指针寄存器共有_____个,LR_____寄存器共有_____个;PC_____寄存器有_____个,CPSR_____寄存器有_____个,SPSR_____寄存器有_____个。 9.ARM7系列是_____级流水线,即_____、_____、_____。程序计数器R15(PC)总是指向取指的指令,因此PC总是指向第_____条指令。 对于ARM指令有: PC值=当前程序执行位置+_____; 对于Thumb指令有: PC值=当前程序执行位置+_____。 10.ARM的寻址方式有七种,它们是:()。 11.LDR指令 LDR R4, STSRT ;将存储地址为START的字数据读入R4

嵌入式2018年期末考试选择题.doc

单已霆一侈.习密 下面哪个咨.仗履孑嵌入式务.仗(D )o A、"夭何一号"金:K机系弦 B、IBMX200宅拓本电喧 C、联抱S10 L R本 D、Iphone多机 自嵌入式咨?仗的存僦Q徇中,存取速度最修的是(B ) o A、伪存 B、Cache Q、 Flash D、■存器向 下面(B )肘俊彳符合嵌入式春(十务核舫或。 A、宏时俊 B、彳初定韧 C、微型Q D、名纾植 ( A )宓全把务.貌就件行瘦仔都分隔篇暮来,从而;t大惺宿3专秘的可修孩佐。 A、延件抽哀龙 B、契斯碘射龙 C、瘦件瓮互/名 D、中向龙 在ARM Linux多.筒中,中断处理衿序笆入C代膨以居,ARM 的处孑(A )M 6模式。A、起偈?用户(SVC) B、中断(IRQ) C、任速中所(IRQ ) D、社笆人中昕之访的业右苟关2 自握含多 .乾的各村导铤方式中,获取蔑。浆最修的方式妥(B )o A、五谑导勾: B、立卯导以: C、窃存器导址 D、向搓导徒 在龙兮奏弦的各神导垃方式中,若藉H散的地垃包舍自充兮中,粉属孑( A )方式。A、五搓导址B、立即导必 Q、容存器导傲D、向谑导址 在笏存器向谑导徒方式中,水定窃存器中有狭的妥(B )o A、搏《散 B、修H敦函徒 C、月卷外徒 D、的址佻籍藩 向CISC如此,下而哪一招彳房孑RISC地理器的典母(D ) o

A、采用富定&度的佬合格式,握含痕餐、简单、基本寻伍:方式布2~3神

£0X0 'Q AO K 9 LLXO 、g LOXO 、V 代汨1)¥期卯本、CI (JOqV)¥ 筋:f 象、。 L 乙 EV 39 Z.8 、。 OH'idSBCir 导邪 OU c ids 多邪 'V 冬导郭纱ox 修导乎穿舞毋引衅 °( W )晋米岩茧早分LLXO 以.LXO (J3SC ) ¥ 耕 4 街 V v °¥爵£)£纱琵狄R 琴勇衫争身K @*¥爵(v )*2?'中¥辫林茗维繇私DiAfHV 1 V 貉鸟修再吝'Q 好身修的郭导 '。 器乡修葬翳'a 籍穿杪iz 毂'V ° ( O )别刁‘*警乡修街研列£^£LH 繇切修 OH FLH 、。 GLH "LH V O GLH 沱LH V H 切LH ‘08 'V (9)。。邪舞分杪切特。少琵私N 必纱琵妙修一 W)色刃耕Od 妙幻*街 级印纱 坐堵乡妙貉私存皋辛何斯吉¥£、 倒果'貉乡&群员必£)貉乡&一’本呼咨?多*)穴己v 孑 L8 39 07 L 乙 V O 8A 9S VE SL 'V ° ( 9 ) 晋%馈}纱段财本乡尊9舞肄澎岁土琵潞龄QXV 孑俩‘£辛¥斜躬,厂街8Z.99VESLX0辞*花 乙3 +08 =(l ? £H)?Q (L ? 乙H) +0H =£U e O £U + (L 〉〉乙8 )= QU *S (L ? £U) + 乙H = OH *V (V )晋国纽粉 “L#rsr ,乙B'OB QQV,,兮燮缪卫 W^dV 勇窍切别但彦坪嫌弑书OSIH 'Q 杪於缈繇私妙印⑥'孝葬粉饥 #郭罗群K '彩将少⑥窍K 案物乡/够学%不'以都/ 倒纺身软倨'3导邪粉导郡券、。 留£粉订封4 '乃旦砂俱陶弈衫‘¥多再幺咚券导郭石剃、已

3级嵌入式重点

1、嵌入式系统的定义 (1)定义:以应用为中心,以计算机技术为基础,软硬件可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。 (2)嵌入式系统发展的4个阶段:无操作系统阶段、简单操作系统阶段、实时操作系统阶段、面向Internet阶段。 (3)知识产权核(IP核):具有知识产权的、功能具体、接口规范、可在多个集成电路设计中重复使用的功能模块,是实现系统芯片(SOC)的基本构件。 (4)IP核模块有行为、结构和物理3级不同程度的设计,对应描述功能行为的不同可以分为三类:软核、固核、硬核。 2、嵌入式系统的组成:硬件层、中间层、系统软件层和应用软件层 (1)硬件层:嵌入式微处理器、存储器、通用设备接口和I/O接口。 嵌入式核心模块=微处理器+电源电路+时钟电路+存储器Cache:位于主存和嵌入式微处理器内核之间,存放的是最近一段时间 微处理器使用最多的程序代码和数据。它的主要目标是减小存储器给微处理器内核造成的存储器访问瓶颈,使处理速度更快。 (2)中间层(也称为硬件抽象层HAL或者板级支持包BSP):它将系统上层软件和底层硬件分离开来,使系统上层软件开发人员无需关系底层硬件的具体情况,根据BSP层提供的接口开发即可。 BSP有两个特点:硬件相关性和操作系统相关性。设计一个完整的BSP需要完成两部分工作: A、嵌入式系统的硬件初始化和BSP功能。 片级初始化:纯硬件的初始化过程,把嵌入式微处理器从上电的默认状态逐步设置成系统所要求的工作状态。 板级初始化:包含软硬件两部分在内的初始化过程,为随后的系统初始化和应用程序建立硬件和软件的运行环境。 系统级初始化:以软件为主的初始化过程,进行操作系统的初始化。 B、设计硬件相关的设备驱动。 (3)系统软件层:由RTOS、文件系统、GUI、网络系统及通用组件模块组成。 RTOS是嵌入式应用软件的基础和开发平台。 (4)应用软件:由基于实时系统开发的应用程序组成。

嵌入式系统复习资料

第1章嵌入式系统导论 1.嵌入式系统的概念: 是以现代计算机技术为基础,以应用为中心,可以根据系统或用户需求(功能、可靠性、成本、体积、功耗、环境等),灵活裁剪软硬件模块的专用计算机系统。 2.嵌入式系统的分类及分类依据: 嵌入式系统由硬件和软件两大部分组成,用于实现对其他设备的控制、监视或管理等功能。前者是整个系统的物理基础,它提供软件运行平台和通信接口;后者实际控制系统的运行。 硬件:嵌入式微处理器、外围电路、外围硬件设备。 软件:BootLoader 、嵌入式操作系统、用户的应用程序等。 3.几种典型嵌入式操作系统:(1) uC/OS II (2)uCLinux (3)Windows CE (4)嵌入式Linux 等 4.任务调度: 任务的调度有三种方式:可抢占式、不可抢占式和时间片轮转。 【不可抢占式调度是指一个任务一旦获得CPU就独占其运行,除非由于某种原因使它决定放弃CPU的使用权; 可抢占式调度是基于任务优先级的,当前正在运行的任务可以随时让位给优先级更高的处于就绪态的其他任务; 当两个或两个以上任务有同样的优先级时,不同任务轮转使用CPU,直到系统分配的CPU时间片用完,这就是时间片轮转调度。】 目前,大多数嵌入式操作系统对不同优先级的任务采用基于优先级的可抢占式调度法,对相同优先级的任务则采用时间片轮转调度法。 5.针对有内存管理单元(MMU,Memory Management Unit)的处理器而设计的一些桌面操作系统,如Windows、Linux,使用了虚拟存储器的概念。 6.计算机的发展: 冯诺依曼架构:将指令和数据存放在同一存储空间中,统一编址,指令和数据通过同一总线访问。 哈佛结构(冯诺依曼架构的扩展):主要特点是程序和数据存储在不同的存储空间中,即程序存储器和数据存储器是两个相互独立的存储器,每个存储器独立编制、独立访问。CortexM3

嵌入式系统原理与接口复习要点及思考题答案(计)

嵌入式系统原理与接口复习要点及思考题答案(计)

各位:根据掌握要点认真复习,后面附有作业题答案。 第1章掌握要点 1.1.1节嵌入式系统的概念 1.1.3节嵌入式系统的特点 1.3节嵌入式处理器 1.4节嵌入式系统的组成(看课件,有补充的内容) 补:1.嵌入式系统开发过程? 2.嵌入式系统调试常用的基本方法 3.交叉编译和交叉调试 4.嵌入式操作系统 第2章掌握要点 2.1节计算机体系结构分类 2.3.1节 ARM和Thumb状态 2.3.2节 RISC技术 2.3.3节流水线技术 2.4.1 ARM存储系统 2.4.2 Cache:写通、写回、读操作分配cache、写操作分配cache、工作原理、地址映像 2.4.3节 ARM存储系统 补充: (见课件) 1. ARM简介:ARM的命名方式、5种变形

2.理解片内Flash的3种编程方法。 3.理解ARM7芯片存储器存储空间分布。(8个bank,每个bank32MB)第3章掌握要点 3.1节ARM编程模式:处理器模式、处理器工作状态、寄存器组织、 异常中断 3.2节指令格式和寻址方式 3.3节指令系统:掌握和熟练应用课件所讲的指令、可编程序段 第5章掌握要点 5.1节键盘接口:行扫描法原理、掌握编写驱动程序 5.2节 LED显示器接口:理解工作原理,掌握编写驱动程序 5.5.1节 UART异步串行接口:异步通信格式、接收的4种错误类型、初始化、发送程序、接收程序 第1章作业题答案: 1.什么是嵌入式系统? ?第一种,根据IEEE(国际电气和电子工程师协会)的定义:嵌入式系统是“用于控制、监视或者辅助操作机器和设备的装置”(原文为devices used to control, monitor, or assist the operation of equipment, machinery or plants)。 ?第二种,嵌入式系统是以应用为中心、以计算机技术为基础、软件硬件可裁剪、功能、可靠性、成本、体积、功耗严格要求的专 用计算机系统。

整理版 嵌入式 题目

3、RISC的英文全称是Reduced Instruction Set Computer,中文是精简指令集计算机。特点是所有指 令的格式都是一致的,所有指令的指令周期也是相同的,并且采用流水线技术。在中高档服务器中采用 RISC指令的CPU主要有Compaq(康柏,即新惠普)公司的Alpha、HP公司的PA-RISC、IBM公司的PowerPC、 MIPS公司的MIPS和SUN公司的Sparc。 简答 1、简述ARM的7种模式及寄存器划分,如此划分的优点。 1、用户模式(usr) 2、快速中断模式(fiq) 3、中断模式(irq) 4、管理模式(svc):操作系统使用的保护模式 5、系统模式(sys):运行具有特权的操作系统任务 6、数据访问终止模式(abt):数据或指令预取终止时进入该模式 7、未定义指令终止模式(und):未定义的指令执行时进入该模式 ARM有31个通用的32位寄存器,6个程序状态寄存器,共分为7组,有些寄存器是所有工作模式共用的,还有一些寄存器专属于每一种工作模式 2、 cpsr和spsr寄存器作用,在异常处理时其中的内容是如何变化的? CPSR:程序状态寄存器(current program status register) (当前程序状态寄存器),在任何处理器模式下被访问。它包含了条件标志位、中断禁止位、当前处理器模式标志以及其他的一些控制和状态位。CPSR在用户级编程时用于存储条件码。SPSR:程序状态保存寄存器(saved program status register),每一种处理器模式下都有一个状态寄存器SPSR,SPSR用于保存CPSR的状态,以便异常返回后恢复异常发生时的工作状态。当特定的异常中断发生时,这个寄存器用于存放当前程序状态寄存器的内容。在异常中断退出时,可以用SPSR来恢复CPSR。由于用户模式和系统模式不是异常中断模式,所以他没有SPSR。当用户在用户模式或系统模式访问SPSR,将产生不可预知的后果。 3、简述冯?诺依曼结构与哈佛结构. 冯·诺依曼结构也称普林斯顿结构,是一种将程序指令存储器和数据存储器合并在一起的存储器结 构。程序指令存储地址和数据存储地址指向同一个存储器的不同物理位置,因此程序指令和数据的宽度 相同,如英特尔公司的8086中央处理器的程序指令和数据都是16位宽。 哈佛结构是一种存储器结构。使用哈佛结构的处理器有:A VR、ARM9、ARM10、ARM11等 冯诺依曼结构是一种程序指令存储器和数据存储器合并在一起的存储器结构。 哈佛体系结构是一种将程序指令存储和数据存储分开的存储器结构。 Intel处理器采用冯诺依曼结构,ARM属于哈佛结构处理器。 4、ARM状态和THUMB状态有什么不同?写出相互切换程序。 ARM状态此时处理器执行32位的字对齐的ARM指令,Thumb状态此时处理器执行16位的,半字对齐的THUMB指令。切换程序:从ARM到Thumb: LDR R0,=lable+1 BX R0 从ARM到Thumb: LDR R0,=lable BX R0 5. 存储器映射作用。 通过赋予每个任务不同的虚拟–物理地址转换映射,支持不同任务之间的保护。地址转换函数在每一个任务中定义,在一个任务中的虚拟地址空间映射到物理内存的一个部分,而另一个任务的虚拟地址空间映射到物理存储器中的另外区域。就是把一个地址连接到另一个地址。 6. WATCHDOG的作用及实现机理。 在由单片机构成的微型计算机系统中,由于单片机的工作常常会受到来自外界电磁场的干扰,造成程序的跑飞,而陷入死循环,程序的正常运行被打断,由单片机控制的系统无法继续工作,会造成整个系统的陷入停滞状态,发生不可预料的后果,所以出于对单片机运行状态进行实时监测的考虑,便产生了一种专门用于监测单片机程序运行状态的芯片 7. 交叉编译。

南京工程学院嵌入式系统复习提纲

嵌入式系统复习 选择10’;填空20’;判断10’;5个简答30’;3大题:指令使用(LDMIA),组变量表变量; 1、ARM的寄存器 P32 通用寄存器:包括程序计数器PC、堆栈指针、其他通用寄存器 (1)不分组寄存器R0~R7:每种状态下都统一,注意不同模式下使用时的数据保护; (2)分组寄存器R8~R14: R8~R14为分组寄存器,对应的物理寄存器取决于当前的处理器模式; R8~R12有两个分组的物理寄存器。除FIQ模式之外的所有模式(R8~R12),FIQ模式 (R8_fiq~R12_fiq),有利于加快FIQ的处理速度; R13、R14分别有6个分组的物理寄存器。用于用户和系统描述,其余五组用于五种异常模式; R13堆栈指针(SP),要初始化,指向该异常向量专用的栈地址;保护现场; R14子程序链接寄存器(LR),功能:保存子程序返回地、设置为异常返回地址其他情况下R14 可作为通用寄存器使用。 (3)程序计数器R15(PC),指向当前指令的下两条指令的地址。 程序状态寄存器:任何模式下被访问,包含条件标志位、中断使能位、当前处理器模式标志、其他控制和状态位。 (1)标志域: 条件标志位:N符号、Z结果为0、C进位或借位、V溢出; Q标志位:用于指示增强的DSP指令是否发生溢出; J标志位:Jazelle状态。 (2)控制域:CPSR的低8位称为控制位,异常时变化。 运行模式控制位M[4:0]:控制处理器模式; 中断禁止位I、F:I=1时,禁止IRQ中断;F=1禁止FIQ中断; T控制位:说明指令是ARM指令还是Thumb指令。 2、进程状态变换图 P178 3、C语言参数传递的是数组,实质传递的是什么P135 地址;(好像是,我蒙的) 4、堆栈的增长方向(两种),满堆栈和空堆栈 P52 堆栈:数据结构,先进后出堆栈指针总指向栈顶。 (按生成方式)递增堆栈:低地址向高地址生成; 递减堆栈:高地址向低地址生成; (按指向位置)满堆栈:当堆栈指针指向最后压入堆栈的数据时; 空堆栈:当堆栈指针指向下一个将要放入数据的空位置时。 5、内存容量和地址总线、数据总线的关系。 存储器的容量= 2M × N M=地址线根数 N=数据线根数 6、操作系统的常用调度算法 P178 (翻书看具体什么意思) 最短周期优先SBF、优先级法、轮转法、多队列轮转法和多级反馈队列法、实时调度算法。

嵌入式系统原理与应用复习知识点总结

第一章 1、嵌入式系统的应用范围:军事国防、消费电子、信息家电、网络通信、工业 控制。 2、嵌入式系统定义:嵌入式系统是以应用为中心,以计算机技术为基础,软件 与硬件可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专 用计算机系统。(嵌入式的三要素:嵌入型、专用性与计算机系统)。 3、嵌入式系统的特点:1)专用性强;2)实时约束;3)RTOS;4)高可靠性;5) 低功耗;6)专用的开发工具和开发环境;7)系统精简; 4、嵌入式系统的组成: (1)处理器:MCU、MPU、DSP、SOC; (2)外围接口及设备:存储器、通信接口、I/O 接口、输入输出设备、电源等;(3)嵌入式操作系统:windows CE、UCLinux、Vxworks、UC/OS; (4)应用软件:Bootloader 5、嵌入式系统的硬件:嵌入式微处理器(MCU、MPU、DSP、SOC),外围电路, 外部设备; 嵌入式系统的软件:无操作系统(NOSES),小型操作系统软件(SOSE)S,大型 操作系统软件(LOSES)注:ARM 处理器三大部件:ALU、控制器、寄存器。 6、嵌入式处理器特点:(1)实时多任务;(2)结构可扩展;(3)很强的存储区 保护功能;(4)低功耗; 7、DSP处理器两种工作方式:(1)经过单片机的DSP可单独构成处理器;(2) 作为协处理器,具有单片机功能和数字处理功能; 第二章 1、IP核分类:软核、固核、硬核; 2、ARM 处理器系列:(1)ARM7系列(三级流水,thumb 指令集,ARM7TDMI); (2)ARM9系列(DSP处理能力,ARM920T)(3)ARM/OE(增强DSP)(4)SecurCone 系列(提供解密安全方案);(5)StrongARM系列(Zntle 产权);(6)XScale系列(Intel 产权);(7)Cortex 系列(A:性能密集型;R:要求实时性;M:要求低 成本) 3、ARM 系列的变量后缀:(1)T:thumb 指令集;(2)D:JTAG调试器;(3)快

嵌入式考试选择题共六十个

嵌入式考试选择题(共六十个) 二.选择题(分数=1*60) 1.对一个字,存储时先存放低字节,再存放高字节(即低字节占低地址,高字节占高地址)。 则该种存储格式为__A__________ A,小端方式 B,大端方式 C,低端方式 D,高端方式 2.ARM公司是专门从事___B________ A,基于RISC技术芯片设计开发 B,ARM芯片生产 C,软件设计 D,ARM芯片销售 3.哪个不是ARM微处理器的特点_____D_______ A,体积小,低功耗,低成本,高性能 B,大多数数据操作都在寄存器中完成 C,寻址方式灵活简单,执行效率高 D,指令长度不固定 4.ARM微处理器为_____________C____ A, 16位RISC架构 B, 32位CISC架构 C, 32位RISC架构 D, 64位RISC架构 5.ARM7系列微处理器是_____A______ A, 三级流水线结构 B, 四级流水线结构 C, 三级流水线结构 D, 三级流水线结构 6.ARM9系列微处理器是________C_____ A, 三级流水线结构 B, 四级流水线结构 C, 五级流水线结构 D, 三级流水线结构 7.对于ARM7TDMI系列微处理器,下列叙述哪个是错误的__D___ A, 支持片上Debug B, 支持压缩指令集Thumb C, 内嵌硬件乘法器 D, 嵌入式ICE,但不支持片上断点和调试点

8.下列叙述哪个是错误的___B___ A, ARM指令为32位的长度,Thumb指令为16位长度 B,Thumb代码与等价的ARM代码相比较,用ARM指令要比Thumb指令节省30%-40% 以上的存储空间 C, 使用Thumb代码的系统,其功耗要低 D, Thumb指令的密度高 9.要使用WinCE或标准Linux嵌入式操作系统,ARM必须带有____A______功能 A MMU B MCU C MMC D MUM 10.ARM处理器支持以下______D___数据类型 A, 8位有符号和无符号字节 B, 16位有符号和无符号字节 C, 32位有符号和无符号字节 D, A,B,C都可以 11.在ARM体系结构中,字的长度为_______B_____位 A 16位 B 32位 C 64位 D 128位 12.嵌入式操作系统使用的保护模式是在ARM的___C_______模式下工作 A 系统模式 B 禁止模式 C 管理模式 D 用户模式 13.ARM处理器正常的程序执行状态是在___D________模式下 A 系统模式 B 禁止模式 C 管理模式 D 用户模式 14.可以通过____B______异常中断机制仿真浮点向量运算 A 指令预取中止 B 未定义的指令 C 软件中断(SWI) D 数据访问中止 15.在ARM状体下,异常IRQ,FIQ,预取中止的返回,使用的语句是___B______ A MOV PC,R14 B SUBS PC,R14,#4 C SUBS PC,R14,#8 D SUBS PC,R14#1 16.在所有工作模式下,___A_____都指向同一个物理寄存器,即各模式共享 A R0-R7 B R0-R12

嵌入式系统开发技术常考重点知识点汇总(2018年全国计算机等级考试三级教程)

2018年全国计算机等级考试三级教程嵌入式系统开发技术 常考重点知识点汇总 作者:LightoDeng 吉林大学2018年8月19日 第一章 嵌入式系统概论 1.1嵌入式系统的定义、特点、分类,以及嵌入式系统的逻辑组成。 定义:嵌入式系统是以应用为中心,及计算机技术为基础,软硬件可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗等多种约束的专用计算机系统。 (1)6个特点: 专用性 隐蔽性(嵌入式系统是被包装在内部) 资源受限(要求小型化、轻型化、低功耗及低成本,因此软硬件资源受到限制) 高可靠性(任何误动作都可能会产生致命的后果) 软件固化(软件都固化在只读存储器ROM中,用户不能随意更改其程序功能) 实时性 (2)逻辑组成:硬件(CPU、存储器、I/O设备及I/O接口、数据总线)+软件 1)处理器(运算器、控制器、寄存器、高速缓冲存储器Cache) 目前所有的处理器都是微处理器 嵌入式系统可包含多个处理器,中央处理器(CPU)和协助处理器(数字信号 处理器DSP、图像处理器、通信处理器) 现在嵌入式系统中使用最多的还是8位和16位的CPU,但32位和64位是技 术发展的主流 2)存储器(随机存储器RAM和只读存储器ROM) 3)I/O设备与I/O接口 4)数据总线 5)软件 (3)分类 按嵌入式系统的软硬件技术复杂程度进行分类: 低端系统 采用4位或8位单片机,在工控领域和白色家电领域占主导地位,如计算器、遥控器、充电器、空调、传真机、BP机等。

中端系统 采用8位/16位/32位单片机,主要用于普通手机、摄像机、录像机、电子游戏机等。 高端系统 采用32位/64位单片机,主要用于智能手机、调制解调器、掌上计算机、路由器、数码相机等。 1.2嵌入式处理芯片 嵌入式处理芯片有4种产品类型:微处理器、数字信号处理器、微控制器、片上系统 微处理器 比较笨重,常用于工业控制领域 数字信号处理器(DSP):专用于数字信号处理的微处理器,使用哈佛结构存储器,支持单指令多数据并行处理(SIMD)的特殊指令 微控制器(单片机MCU):相比于微处理器,集成度更高,体积小,功耗低 片上系统(SoC):系统级芯片,半导体加工工艺进入深微纳米时代。SoC将嵌入式系统的几乎全部功能都集中到一块芯片上,单个芯片就能实现数据的采集、转换、存储、处理和输入输出等多种功能。 1.3S O C芯片 (1)微电子技术 1)集成电路的分类: 大规模集成电路LSI,超大规模集成电路VLSI,极大规模集成电路ULS 嵌入式处理芯片大多属于VLSI和ULSI 2)集成电路制作工艺 集成电路的制造大约需要几百道工序,工艺复杂且技术难度非常高。集成电路是在硅衬底上制作而成的。硅衬底是将单晶硅锭经切割、研磨和抛光后制成的像镜面一样光滑的圆形薄片,它的厚度不足1mm,其直径可以是6、8、12英寸甚至更大这种硅片称为硅抛光片,用于集成电路的制造。 制造集成电路的工艺技术称为硅平面工艺,包括氧化、光刻、掺杂等多项工序。把这些工序反复交叉使用,最终在硅片上制成包含多层电路及电子元件的集成电路。 集成电路的特点:体积小、重量轻、可靠性高。其工作速度主要取决于逻辑门电路的晶体管的尺寸。尺寸越小,工作频率就越高,门电路的开关速度就越快。 摩尔定律:单块集成电路的集成度平均每18~24个月翻一番 (2)通用SoC和专用SoC 通用SoC 半导体企业通过自主开发处理器内核或购买其他企业的处理器内核的IP授权,按照目标领域功能要求所开发的SoC芯片系列 专用SoC 嵌入式系统开发商依据待开发产品的特殊要求,向半导体企业定制的SoC芯片。为委托方所专有,无法在市场采购到。如苹果公司的系列芯片。 (3)开发流程 1)总体设计可以采用系统设计语言System C(或称IEEE 1666,它是C++的扩充)或System Vetilog语言对SoC芯片的软硬件作统一的描述,按照系统需求说明书确定SoC的性能能参数,并据此进行系统全局的设计。

嵌入式系统原理与设计知识点整理

第一章嵌入式处理器 1嵌入式系统的概念组成: 定义:以应用为主,以计算机技术为基础,软硬件可裁剪,满足系统对功能、性能、可靠性、体积和功耗有严格要求的计算机系统。 组成:硬件:处理器、存储器、I / O设备、传感器 软件:①系统软件, ②应用软件。 2.嵌入式处理器分类特点: 分类:①MPU(Micro Processor Unit)微处理器。一块芯片,没有集成外设接口。部主要由运算器,控制器,寄存器组成。 ②MCU(Micro Controller Unit)微控制器(单片机)。一块芯片集成整个计算机系统。 ③EDSP(Embled Digital Signal Processor)数字信号处理器。运算速度快,擅长于大量重复数据处理 ④SOC(System On Chip)偏上系统。一块芯片,部集成了MPU和某一应用常用的功能模块 3.嵌入式处理器与通用计算机处理器的区别: ①嵌入式处理器种类繁多,功能多样 ②嵌入式处理器能力相对较弱,功耗低 ③嵌入式系统提供灵活的地址空间寻址能力 ④嵌入式系统集成了外设接口 4.①哈佛体系结构:指令和数据分开存储————————(嵌入式存储结构) 特征:在同一机器周期指令和数据同时传输 ②·诺依曼体系结构:指令和数据共用一个存储器——(通用式存数结构) 数据存储结构(多字节): 大端方式:低地址存高位;小端方式:高地址存高位 6.ARM指令集命名:V1~V8 (ARMV表示的是指令集)

7.ARM核命名:. 命名规则:ARM{x}{y}{z}{T}{D}{M}{I}{E}{J}{F}{S}{x}——系列(版本) {y}——当数值为“2”时,表示MMU(存管理单元) {z}——当数值为“0”时,表示缓存Cache {T}——支持16位Thumb指令集 {D}——支持片上Debug(调试) {M}——嵌硬件乘法器 {I}——嵌ICE(在线仿真器)——支持片上断点及调试点 {E}——支持DSP指令 {J}——支持Jazzle技术 {F}——支持硬件浮点 {S}——可综合版本 8. JTAG调试接口的概念及作用: ①概念:(Joint Test Action Group)联合测试行动小组→检测PCB和IC芯片标准。(P CB→印刷电路板IC→集成芯片) ②作用(1)硬件基本功能测试读写 (2)软件下载:将运行代码下载到目标机RAM中 (3)软件调试:设置断点和调试点 (4)FLASH烧写:将运行最终代码烧写到FLASH存储器中。 9.GPIO概念:(General Purpose I/O Ports)通用输入/输出接口,即处理器引脚。 10.S3C2410/S3C2440 GPIO引脚 S3C2410共有117个引脚,可分成A——H共8个组,(GPA,GPB,…GPH组) S3C2440共有130个引脚,可分成A——J共9个组,(GPA,GPB,…,GPH,GPJ 组) 11.GPxCON寄存器,GPxDAT寄存器,GpxUP寄存器的功能,各位含义和用法 ①GPxCON寄存器(控制寄存器)——设置引脚功能 →GPACON(A组有23根引脚,一位对应一个引脚,共32位,拿出0~22位,其余没用) (若某一位是)0:(代表该位的引脚是一个)输出引脚 1:地址引脚 →GPBCON——GPH/JCON(用法一致,两位设置一个引脚) 00:输入引脚 01:输出引脚 10:特殊引脚 11:保留不用 GPBCON ②GPxDAT寄存器(数据寄存器)——设置引脚状态及读取引脚状态 若某一位对应的是输出引脚,写此寄存器相应位可令引脚输出高/低电平。 若某一位对应的是输入引脚,读取此寄存器可知相应引脚电平状态。GPBDAT

嵌入式选择题整理题库

选择题: 1、下面哪一种工作模式不属于特权模式()。 A、用户模式 B、系统模式 C、软中断模式 D、模式 3、920T的工作状态包括()。 A、测试状态和运行状态 B、挂起状态和就绪状态 C、就绪状态和运行状态 D、状态和状态 4、232串口通信中,表示逻辑1的电平是()。 A、0v B、3.3v C、+5v~+15v D、-5v~-15v 5、汇编语句“ R0, R2, R3, 1”的作用是()。 A. R0 = R2 + (R3 << 1) B. R0 =( R2<< 1) + R3 C. R3= R0+ (R2 << 1) D. (R3 << 1)= R0+ R2 6、I2C协议中有几根线() A.1 B.2 C.3 C.4 7、指令“ R0!, {R1, R2, R3, R4}”的寻址方式为()。 A、立即寻址 B、寄存器间接寻址 C、多寄存器寻址 D、堆栈寻址 9、232C串行通信总线的电气特性要求总线信号采用()。 A、正逻辑 B、负逻辑 C、高电平 D、低电平 10、下面哪种操作系统不属于商用操作系统。 ( ) A. B. C. D.

11. 下面哪点不是嵌入式操作系统的特点。 ( ) / 22 A. 内核精简 B. 专用性强 C. 功能强大 D. 高实时性 12. 下面哪种不属于嵌入式系统的调试方法。 ( ) A. 模拟调试 B. 软件调试 C. 调试 D. 单独调试 13. 在嵌入式处理器中,下面哪种中断方式优先级最高。 ( ) A. B. 数据中止 C. D. 14. 和的说法正确的是。 ( ) A. 的读速度比稍慢一些 B. 的写入速度比慢很多 C. 的擦除速度远比的慢 D.大多数写入操作需要先进行擦除操作 15. 下面哪种嵌入式操作系统很少用在手机上。 ( ) A. B. C. D. 16、0x17&0x11的运算结果是。 ( ) A.0x01 B.0x11 C.0x17 D.0x07 17、以下哪种方式不属于文件系统的格式。 ( ) 18、下面哪个特点不属于设备的特点。 ( ) A.串行通信方式 B.不可热拨插 C.分、和 D.通信速率比串口快 19、寄存器中反映处理器状态的位是() 位位位位

嵌入式系统复习题1

一、单项选择题 1、下面关于哈佛结构描述正确的是( A )。 A、程序存储空间与数据存储空间分离 B、存储空间与IO空间分离 C、程序存储空间与数据存储空间合并 D、存储空间与IO空间合并 2、下面哪一种工作模式不属于ARM特权模式( A )。 A、用户模式 B、管理模式 C、软中断模式 D、FIQ模式 3、ARM9TDMI的工作状态包括( D )。 A、测试状态和运行状态 B、挂起状态和就绪状态 C、就绪状态和运行状态 D、ARM状态和Thumb状态 4、指令“LDMIA R0!, {R1, R2, R3, R4}”的寻址方式为( C )。 A、立即寻址 B、寄存器间接寻址 C、多寄存器寻址 D、堆栈寻址 5、对寄存器R1的内容乘以4的正确指令是( C )。 A、LSR R1,#2 B、LSL R1,#2 C、MOV R1,R1, LSL #2 D、MOV R1,R1, LSR #2 6、下面指令执行后,改变R1寄存器内容的指令是( D )。 A、TST R1,#2 B、ORR R1,R1,R1 C、CMP R1,#2 D、EOR R1,R1,R1 7、下面哪一种功能单元不属于I/O接口电路。( D ) A、USB控制器 B、UART控制器 C、以太网控制器 D、LED 8、下面哪个操作系统是嵌入式操作系统。( B ) A、Red-hat Linux B、μCLinux C、Ubuntu Linux D、SUSE Linux 9、使用Host-Target联合开发嵌入式应用,( B )不是必须的。 A、宿主机 B、银河麒麟操作系统 C、目标机 D、交叉编译器 10、下面哪个系统不属于嵌入式系统( D )。 A、MP3播放器 B、GPS接收机 C、“银河玉衡”核心路由器 D、“天河一号”计算机系统 11. RS232-C串口通信中,表示逻辑1的电平是( D ) A、0V B、3.3V C、+5V~+15V D、-5V~-15V 12. 下列不属于RISC计算机特点的是(C)。 A、流水线每周期前进一步。 B、更多通用寄存器。 C、指令长度不固定,执行需要多个周期。 D、独立的Load和Store指令完成数据在寄存器和外部存储器之间的传输。 13. 存储一个32位数0x2168465到2000H~2003H四个字节单元中,若以大端模式存储,则20000H存储单元内容为(D) A、 0x21 B、 0x68 C、0x65 D、0x02 14. S3C2410 I/O口常用的控制器是(D) A、端口控制寄存器(GPACON-GPHCON) B、端口数据寄存器(GADAT-GPHDAT) C、外部中断控制寄存器(EXTINTN)。 D 、以上都不是 15. 寄存器R13除了可以做通用寄存器外,还可以做(C)

嵌入式系统原理与接口复习要点及思考题答案(计)

各位:根据掌握要点认真复习,后面附有作业题答案。 第1章掌握要点 1.1.1节嵌入式系统的概念 1.1.3节嵌入式系统的特点 1.3节嵌入式处理器 1.4节嵌入式系统的组成(看课件,有补充的内容) 补:1.嵌入式系统开发过程? 2.嵌入式系统调试常用的基本方法 3.交叉编译和交叉调试 4.嵌入式操作系统 第2章掌握要点 2.1节计算机体系结构分类 2.3.1节 ARM和Thumb状态 2.3.2节 RISC技术 2.3.3节流水线技术 2.4.1 ARM存储系统 2.4.2 Cache:写通、写回、读操作分配cache、写操作分配cache、工作原理、地址映像 2.4.3节 ARM存储系统 补充: (见课件) 1. ARM简介:ARM的命名方式、5种变形

2.理解片内Flash的3种编程方法。 3.理解ARM7芯片存储器存储空间分布。(8个bank,每个bank32MB)第3章掌握要点 3.1节ARM编程模式:处理器模式、处理器工作状态、寄存器组织、 异常中断 3.2节指令格式和寻址方式 3.3节指令系统:掌握和熟练应用课件所讲的指令、可编程序段 第5章掌握要点 5.1节键盘接口:行扫描法原理、掌握编写驱动程序 5.2节 LED显示器接口:理解工作原理,掌握编写驱动程序 5.5.1节 UART异步串行接口:异步通信格式、接收的4种错误类型、初始化、发送程序、接收程序 第1章作业题答案: 1.什么是嵌入式系统? ?第一种,根据IEEE(国际电气和电子工程师协会)的定义:嵌入式系统是“用于控制、监视或者辅助操作机器和设备的装置”(原文为devices used to control, monitor, or assist the operation of equipment, machinery or plants)。 ?第二种,嵌入式系统是以应用为中心、以计算机技术为基础、软件硬件可裁剪、功能、可靠性、成本、体积、功耗严格要求的专 用计算机系统。

(完整)嵌入式考试选择题共六十个

(完整)嵌入式考试选择题共六十个 编辑整理: 尊敬的读者朋友们: 这里是精品文档编辑中心,本文档内容是由我和我的同事精心编辑整理后发布的,发布之前我们对文中内容进行仔细校对,但是难免会有疏漏的地方,但是任然希望((完整)嵌入式考试选择题共六十个)的内容能够给您的工作和学习带来便利。同时也真诚的希望收到您的建议和反馈,这将是我们进步的源泉,前进的动力。 本文可编辑可修改,如果觉得对您有帮助请收藏以便随时查阅,最后祝您生活愉快业绩进步,以下为(完整)嵌入式考试选择题共六十个的全部内容。

嵌入式考试选择题(共六十个) 二.选择题(分数=1*60) 1.对一个字,存储时先存放低字节,再存放高字节(即低字节占低地址,高字节占高地址)。则该种存储格式为__A__________ A,小端方式 B,大端方式 C,低端方式 D,高端方式 2。ARM公司是专门从事___B________ A,基于RISC技术芯片设计开发 B,ARM芯片生产 C,软件设计 D,ARM芯片销售 3.哪个不是ARM微处理器的特点_____D_______ A,体积小,低功耗,低成本,高性能 B,大多数数据操作都在寄存器中完成 C,寻址方式灵活简单,执行效率高 D,指令长度不固定 4。ARM微处理器为_____________C____ A, 16位RISC架构 B, 32位CISC架构

C, 32位RISC架构 D, 64位RISC架构 5。ARM7系列微处理器是_____A______ A, 三级流水线结构 B,四级流水线结构 C,三级流水线结构 D,三级流水线结构 6.ARM9系列微处理器是________C_____ A, 三级流水线结构 B,四级流水线结构 C, 五级流水线结构 D,三级流水线结构 7。对于ARM7TDMI系列微处理器,下列叙述哪个是错误的__D___ A, 支持片上Debug B, 支持压缩指令集Thumb C,内嵌硬件乘法器 D, 嵌入式ICE,但不支持片上断点和调试点 8.下列叙述哪个是错误的___B___ A, ARM指令为32位的长度,Thumb指令为16位长度 B,Thumb代码与等价的ARM代码相比较,用ARM指令要比Thumb指令节省30%-40%以上的存储空间 C,使用Thumb代码的系统,其功耗要低 D, Thumb指令的密度高 9。要使用WinCE或标准Linux嵌入式操作系统,ARM必须带有____A______功能A MMU

嵌入式系统重点整理汇编

1.嵌入式系统:定义:以应用为中心、以计算机技术为基础,软、硬件可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗等严格要求的专用计算机系统。嵌入式系统是应用于特定环境下执行面对专业领域的应用系统,其特点为:系统内核小,可裁剪;专业性强;系统精简;通常要求有高实时性的操作系统;嵌入式系统开发需要专门的开发工具和环境;一旦进入市场,就具有较长的生命周期。 嵌入式系统的典型组成: 按模块:中央处理器、外设、操作系统、应用 按体系结构:硬件层、中间层、操作系统、功能层 早期的嵌入式系统包含3个部分:硬件平台、嵌入式实时操作系统和应用程序;经过不断发展,在硬件平台和操作系统之间演化出了新的一层——硬件抽象层;硬件抽象层屏蔽了底层硬件的多样性,操作系统不再直接面对具体的硬件环境,而是由硬件抽象层代表的、逻辑上的硬件环境。板级支持包是大多数商用嵌入式操作系统实现可移植性所采用的一种方案,是硬件抽象层的一种实现。 2.嵌入式系统软件体系结构:早期的嵌入式系统包含3个部分:硬件平台、嵌入式实时操作系统和应用程序;经过不断发展,在硬件平台和操作系统之间演化出了新的一层——硬件抽象层;硬件抽象层屏蔽了底层硬件的多样性,操作系统不再直接面对具体的硬件环境,而是由硬件抽象层代表的、逻辑上的硬件环境。板级支持包是大多数商用嵌入式操作系统实现可移植性所采用的一种方案,是硬件抽象层的一种实现。 3.嵌入式系统的分类:按表现形式分(硬件范畴):芯片级嵌入(含程序或算法的处理器),模块级嵌入(系统中的某个核心模块),系统级嵌入。按实时性要求分(软件范畴):非实时系统(PDA),软实时系统,硬实时系统。嵌入式系统软件一般由嵌入式操作系统和应用软件组成;操作系统是连接计算机硬件与应用程序的系统程序,可分为:顺序执行系统(单任务系统,如DOS),分时操作系统:其特点包括多路性、交互性、“独占性”和及时性(UNIX),实时操作系统(RTOS):计算的正确性不仅取决于程序的逻辑正确性,更取决于结果产生的时间,根据对产生时间要求的严格程度又可分为:硬实时操作系统,软实时操作系统。 4.嵌入式操作系统有RTOS和DTOS之分,说明RTOS的实时性含义 答:RTOS意指实时操作系统,RTOS的实时性并非是简单的要求嵌入式操作系统响应速度快,而是要求嵌入式操作系统对外部事件和软件任务请求的响应事件具有严格的确定性。 5.实时操作系统的特点:计算的正确性不仅取决于程序的逻辑正确性,更取决于结果产生的时间。 6.冯·诺伊曼与哈佛结构:冯·诺依曼结构:采用二进制代码表示数据和指令;采用存储程序工作方式,数据和程序都存储在存储器中;由存储器、运算器、控制器、I/O设备组成计算机硬件系统;总结:程序存储,程序执行。哈佛结构:采用分别用于存储数据和程序的两个存储器,两条总线的系统结构;各个部件有专用的数据、地址与控制总线;CPU和外设DMA的操作引入了某种并行度;区别:地址空间和数据空间分开与否。哈佛结构与冯·诺依曼结构的区别:使用两个独立的存储器模块,分别存储指令和数据,每个存储模块都不允许指令和数据并存,以便实现并行处理;使用独立的两条总线,分别作为CPU与每个存储器之间的专用通信路径,这两条总线之间毫无关联;冯·诺依曼体系结构的特点:数据与指令都存储在存储器中,被大多数计算机所采用,ARM7——冯·诺依曼体系。哈佛体系结构的特点:程序存储器与数据存储器分开,指令和数据可有不同的数据宽度,提供了较大的数据存储器带宽,适合于数字信号处理,大多数DSP都是哈佛结构,ARM9是哈佛结构。 7.中断的重要性:响应突发事件(异步事件)。对计算机发展的影响:使得计算机能解决客观世界的突发事情,如实时系统。使轮询系统到事件驱动系统成为可能。 8.编址方式:独立编址(I/O具有与内存不同的地址空间),统一编址(I/O与内存在同一地址空间) 9.指令:面向程序员(软件)。微指令:复杂指令由微指令有序序列实现(在CPU中实现)。区别:每条微指令所代表的都是很简单的基本操作;所有微指令的格式都很规则、简单、易于解码;取微指令的速度很快;微指令的执行速度很快。 10.机器码是是计算机能理解和执行的唯一语言.机器码的有序集合对应于高级语言的语句.机器码是指令的二进制表示形式.

相关文档
最新文档