当前位置:文档之家› 嵌入式微处理器体系结构复习资料

嵌入式微处理器体系结构复习资料

嵌入式微处理器体系结构复习资料
嵌入式微处理器体系结构复习资料

一、嵌入式微处理器体系结构

嵌入式微处理器的体系结构可以采用冯·诺依曼体系结构或哈佛体系结构,指令系统可以选用精简指令系统RISC和复杂指令集系统CISC。

1、冯·诺依曼体系结构和哈佛体系结构;

(1)冯·诺依曼结构的计算机由CPU和存储器构成,其程序和数据共用一个存储空间,程序指令存储地址和数据存储地址指向同一个存储器的不同物理位置;采用单一的地址及数据总线,程序指令和数据的宽度相同。程序计数器(PC)是CPU内部指示指令和数据的存储位置的寄存器。

(2)哈佛结构的主要特点是将程序和数据存储在不同的存储空间中,即程序存储器和数据存储器是两个相互独立的存储器,每个存储器独立编址、独立访问。提高执行速度,提高数据的吞吐率,具有较高的执行效率。

2、CISC和RISC

类别CISC RISC

指令系统指令数量很多较少,通常少于100

执行时间有些指令执行时间很长,

如整块的存储器内容拷贝;

或将多个寄存器的内容

拷贝到存贮器没有较长执行时间的指令

编码长度编码长度可变,1-15字节编码长度固定,通常为4个字节

寻址方式寻址方式多样简单寻址

操作可以对存储器和寄存器只能对寄存器对行算术和逻辑操作,

进行算术和逻辑操作Load/Store体系结构

编译难以用优化编译器生成

高效的目标代码程序采用优化编译技术,生成高效的目标代码程序

二、ARM状态各模式下的寄存器

1、所有的37个寄存器,分成两大类:

(1)31个通用32位寄存器;

(2) 6个状态寄存器。

2、R0~R7为未分组的寄存器,也就是说对于任何处理器模式,这些寄存器都对应于相同的32位物理寄存器。

3、寄存器R8~R14为分组寄存器。它们所对应的物理寄存器取决于当前的处理器模式,几乎所有允许使用通用寄存器的指令都允许使用分组寄存器

4、寄存器R8~R12有两个分组的物理寄存器。一个用于除FIQ模式之外的所有寄存器模式,另一个用于FIQ模式。这样在发生FIQ中断后,可以加速FIQ的处理速度

5、寄存器R13、R14分别有6个分组的物理寄存器。一个用于用户和系统模式,其余5个分别用于5种异常模式。

三、处理器工作模式

1、ARM处理器有7种工作模式;

●usr(用户模式):ARM处理器正常程序执行模式。

●fiq(快速中断模式):用于高速数据传输或通道处理

●irq(外部中断模式):用于通用的中断处理

●svc(管理模式):操作系统使用的保护模式

●abt (数据访问终止模式):当数据或指令预取终止时进入该模式,可用于虚拟存储及存储保护。

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

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

ARM微处理器的运行模式可以通过软件改变,也可以通过外部中断或异常处理改变。

除用户模式以外,其余的所有6种模式称之为非用户模式,或特权模式(Privileged Modes);其中除去用户模式和系统模式以外的5种又称为异常模式(Exception Modes),常用于处理中断或异常,以及需要访问受保护的系统资源等情况。

2、除用户模式外,其它模式均为特权模式。ARM内部全部系统资源和一些片内外设在硬件设计上只允许(或者可选为只允许)特权模式下访问。

3、此外,特权模式可以自由的切换处理器模式,而用户模式不能直接切换到别的模式。

四、ARM异常处理

1、当异常产生时, ARM 核:

(1)拷贝CPSR 到SPSR_

(2)设置适当的CPSR 位:

a.改变处理器状态进入ARM 态

b.改变处理器模式进入相应的异常模式

c.设置中断禁止位禁止相应中断(如需要)

(3)保存返回地址到LR_

(4)设置PC 为相应的异常向量地址

2、返回时, 异常处理程序需要:

(1)从SPSR_恢复CPSR

(2)从LR_恢复PC

(3)注意:这些操作只能在ARM 态执行.

五、ARM指令集

1、ARM寻址方式:掌握ARM微处理器9种寻址方式的特点。

(1).寄存器寻址

操作数的值在寄存器中,指令中的地址码字段给出的是寄存器编号,寄存器的内容是操作数,指令执行时直接取出寄存器值操作。

例如指令:

MOV R1,R2 ;R1←R2

SUB R0,R1,R2 ;R0←R1- R2

(2).立即寻址

在立即寻址指令中数据就包含在指令当中,立即寻址指令的操作码字段后面的地址码部分就是操作数本身,取出指令也就取出了可以立即使用的操作数(也称为立即数)。立即数要以“#”为前缀,表示16进制数值时以“0x”表示。

例如指令:

ADD R0,R0,#1 ;R0←R0 + 1

MOV R0,#0xff00 ;R0←0xff00

(3).寄存器移位寻址

寄存器移位寻址是ARM指令集特有的寻址方式。第2个寄存器操作数在与第1个操作数结合之前,先进行移位操作。

例如指令:

MOV R0,R2,LSL #3 ;R2的值左移3位,结果放入R0,即R0=R2 * 8

ANDS R1,R1,R2,LSL R3 ;R2的值左移R3位,然后和R1相与操作,结果放入R1 可采用的移位操作如下:

LSL:逻辑左移(Logical Shift Left),寄存器中字的低端空出的位补0。

LSR:逻辑右移(Logical Shift Right),寄存器中字的高端空出的位补0。

ASR:算术右移(Arithmetic Shift Right),移位过程中保持符号位不变,即如果源操作数为正数,则字的高端空出的位补0,否则补1

ROR:循环右移(Rotate Right),由字的低端移出的位填入字的高端空出的位

RRX:带扩展的循环右移(Rotate Right extended by 1 place),操作数右移一位,高端空出的位用原C 标志值填充。

(4).寄存器间接寻址

指令中的地址码给出的是一个通用寄存器编号,所需要的操作数保存在寄存器指定地址的存储单元中,即寄存器为操作数的地址指针,操作数存放在存储器中。

例如指令:

LDR R0,[R1] ;R0←[R1](将R1中的数值作为地址,取出此地址中的数据保存在R0中)STR R0,[R1] ;[R1] ←R0

(5).变址寻址

变址寻址是将基址寄存器的内容与指令中给出的偏移量相加,形成操作数的有效地址,变址寻址用于访问基址附近的存储单元,常用于查表,数组操作,功能部件寄存器访问等。例如指令:

LDR R2,[R3,#4] ;R2←[R3 + 4](将R3中的数值加4作为地址,取出此地址的

数值保存在R2 中)STR R1,[R0,#-2] ;[R0-2] ←R1(将R0中的数值减2作为地址,把R1中的内

容保存到此地址位置)(6).多寄存器寻址(LDM/STM)

LDM/STM指令可以把存储器中的一个数据块加载到多个寄存器中,也可以把多个寄存器中的内容保存到存储器中。寻址操作中的寄存器可以是R0-R15这16个寄存器的子集或是所有寄存器。采用多寄存器寻址方式,一条指令可以完成多个寄存器值的传送,这种寻址方式用一条指令最多可以完成16个寄存器值的传送。

格式为:

LDM(或STM){条件}{类型} 基址寄存器{!},寄存器列表{∧}

该指令的常见用途是将多个寄存器的内容入栈或出栈。

(7).堆栈寻址

堆栈是一种数据结构,堆栈是特定顺序进行存取的存储区,操作顺序分为“后进先出”和“先进后出”,堆栈寻址时隐含的,它使用一个专门的寄存器(堆栈指针)指向一块存储区域(堆栈),指针所指向的存储单元就是堆栈的栈顶。

(8).块复制寻址

块复制寻址用于把一块从存储器的某一位置复制到另一位置,是一个多寄存器传送指令。(9).相对寻址

相对寻址是变址寻址的一种变通,由程序计数器PC提供基准地址,指令中的地址码字段作为偏移量,两者相加后得到的地址即为操作数的有效地址。

2、堆栈寻址

满递增堆栈(FA):堆栈指针指向最后压入的数据,且由低地址向高地址生成。

满递减堆栈(FD):堆栈指针指向最后压入的数据,且由高地址向低地址生成。

空递增堆栈(EA):堆栈指针指向下一个将要放入数据的空位置,且由低地址向高地址生成。空递减堆栈(ED):堆栈指针指向下一个将要放入数据的空位置,且由高地址向低地址生成。

3、多寄存器寻址(块拷贝寻址)

(1)块拷贝寻址是多寄存器传送指令LDM/STM的寻址方式。LDM/STM指令可以把存储器中的一个数据块加载到多个寄存器中,也可以把多个寄存器中的内容保存到存储器中。寻址操作中的寄存器可以是R0-R15这16个寄存器的子集或是所有寄存器。

(2)LDM/STM指令依据其后缀名的不同其寻址的方式也有很大不同。

(3)LDMIA R1!,{R0,R2,R3}指令执行后,R1的值变为R1+12—>R1;

注:!决定Rn的值是否随着传送而改变

寻址模式描述起始地址结束地址Rn!

IA 执行后增加Rn Rn+4*N Rn+4*N

IB 执行前增加Rn+4 Rn+4*N Rn+4*N

DA 执行后减少Rn Rn-4*N Rn-4*N

DB 执行前减少Rn-4 Rn-4*N Rn-4*N

六ARM状态与Thumb状态的转换

1、实现ARM工作状态转换的指令,其句法如下:

BX 目标地址

(1)BX指令将引起处理器转移到目标地址所指向的地址处执行。

(2)目标地址的位[0]不用来作为地址的一部分。

a.若目标地址的位[0]为1,则指令将CPSR中的标志T置位,且将目标地址的代码解释为Thumb代码;

b.若目标地址的位[0]为0,则指令将CPSR中的标志T复位,且将目标地址的代码解释为ARM代码。

七、ARM的硬件系统结构

1、S3C2410的存储器系统

(1)S3C2410支持大、小端模式,可通过软件选择大小端模式;

(2)存储空间分成8个Bank,每个Bank 128Mbytes,总共1GB;

6个Bank用于控制ROM, SRAM, etc.

剩余的2个Bank用于控制ROM, SRAM, SDRAM, etc .

(3)除Bank0 (16/32-bit) 外,所有的Bank都可以通过编程选择总线宽度= (8/16/32-bit) ;(4)7个Bank固定起始地址,最后一个Bank可调整起始地址;

(5)最后两个Bank大小可编程

(6)所有Bank存储周期可编程控制;

(7)如果同时使用Bank6/ Bank7,则要求连接相同容量的存储器,而且其地址空间在物理上是连续的。

2、S3C2410的I/O口配置

S3C2410有117个多功能口,掌握如何通过软件编程对每个I/O 口进行配置。如将端口C 的最低2为设置为01,既设置成输出模式,其余位不变。

rGPCCON = rGPCCON&0xfffffffc|0x00000001; rGPCDAT= rGPCDAT |0x001; //PC0口电平输出高

表3.4.3 S3C2410A 的端口C I/O 口配置情况 表 端口C 控制寄存器

3、掌握ARM 微处理器的中断系统的特点

了解:一旦有中断发生,ARM 的中断系统将如何处理。

在ARM 系统中,支持复位、未定义指令、软中断、预取中止、数据中止、IRQ 和FIQ 7种异常,每种异常对应于不同的处理器模式,有对应的异常向量(固定的存储器地址)。 在ARM 系统中,一旦有中断发生,正在执行的程序都会停下来,通常都会执行如下的中断步骤:

(1)保存现场。保存当前的PC 值到R14,保存当前的程序运行状态到SPSR 。 (2)模式切换。根据发生的中断类型,进入IRQ 模式或FIQ 模式。

(3)获取中断服务子程序地址。PC 指针跳到异常向量表所保存的IRQ 或FIQ 地址处,

端口C

可选择的引脚端功能GPC15~GPC8输入/输出VD7 ~VD0–GPC7~GPC5

输入/输出

LCDVF2~LCDVF0

GPC4输入/输出

VM –GPC3输入/输出VFRAME –GPC2输入/输出VLINE –GPC1输入/输出VCLK –GPC0

输入/输出LEND –

寄存器

地址

读/写

描述

复位值

GPCCON 0x56000020 R/W

配置端口C 引脚端,使用位[31:0],分别对端口B 的16个引脚端进行配置。00:输入;01:输出;10:第2功能;11:保留

0x0

GPCDAT 0x56000024 R/W 端口C 数据寄存器,使用位[15:0]

未定义GPCUP 0x56000028 R/W 端口C 上拉电阻不使能寄存器,使用位[15:0] 。0:使能;1:不使能0x0 保留

0x5600002C

保留

未定义

IRQ或FIQ的异常向量地址处一般保存的是中断服务子程序的地址,PC指针跳入到中断服务子程序,进行中断处理。

(4)多个中断请求处理。在ARM系统中,可以存在多个中断请求源,比如串口中断、AD 中断、外部中断、定时器中断及DMA中断等,所以可能出现多个中断源同时请求中断的情况。为了更好地区分各个中断源,通常为这些中断定义不同的优先级别,并为每一个中断设置一个中断标志位。当发生中断时,通过判断中断优先级以及访问中断标志位的状态来识别哪一个中断发生了,进而调用相应的函数进行中断处理。

(5)中断返回,恢复现场。当完成中断服务子程序后,将SPSR中保存的程序运行状态恢复到CPSR中,R14中保存的被中断程序的地址恢复到PC中,继续执行被中断的程序。

4、了解S3C2410的DMA控制器的基本工作原理。

DMA(Direct Memory Acess,直接存储器存取)方式是指存储器与外设在DMA控制器的控制下,直接传送数据而不通过CPU,传输速率主要取决于存储器存取速度。在DMA传输过程中,DMA控制器负责管理整个操作,并且无须CPU介入,从而大大提高了CPU的工作效率。DMA方式为高速I/O设备和存储器之间的批量数据交换提供了直接的传输通道。由于I/O设备直接同内存发生成块的数据交换,可以提高I/O效率。现在大部分计算机系统均采用DMA技术。许多输入/输出设备的控制器都支持DMA方式。

采用DMA方式进行数据传输的具体过程如下。

(1)外设向DMA控制器发出DMA请求。

(2)DMA控制器向CPU发出总线请求信号。

(3)CPU执行完现行的总线周期后,向DMA控制器发出响应请求的回答信号。

(4)CPU将控制总线、地址总线及数据总线让出,由DMA控制器进行控制。

(5)DMA控制器向外部设备发出DMA请求回答信号。

(6)进行DMA传送。

(7)数据传送完毕,DMA控制器通过中断请求线发出中断信号。CPU在接收到中断信号后,转人中断处理程序进行后续处理。

(8)中断处理结束后,CPU返回到被中断的程序继续执行。CPU重新获得总线控制权。

每个DMA控制器可以处理以下4种情况:

(1)源和目的都在系统总线上;

(2)源在系统总线上,目的在外围总线上;

(3)源在外围总线上,目的在系统总线上;

(4)源和目的都在外围总线上。

5、嵌入式存储系统的特点。

(1)高速缓冲存储器原理及特点。

高速缓冲存储器(cache)用来提高存储器系统的性能,许多微处理器体系结构都把它作为其定义的一部分。cache能够减少内存平均访问时间。

Cache可以分为统一cache和独立的数据/程序cache。

(2)存储器管理单元MMU主要完成的功能。

(1)虚拟存储空间到物理存储空间的映射。采用了页式虚拟存储管理,它把虚拟地址空间分成一个个固定大小的块,每一块称为一页,把物理内存的地址空间也分成同样大小的页。MMU实现的就是从虚拟地址到物理地址的转换。

(2)存储器访问权限的控制。

(3)设置虚拟存储空间的缓冲的特性。

八、嵌入式系统I/O设备接口

1、掌握S3C2410的I/O接口的编程

要求:掌握I/O口编程,能编写实现LED1、LED2 、LED3、LED4 轮流闪烁的程序。

实现LED1和LED2轮流闪烁的程序代码

void Main(void)

int flag,i;

Target Init();//进行硬件初始化操作,包括对I/O口的初始化操作

for(;;)

if(flag = = 0){

for(i = 0;i < 1000000;i++);//延时

rGPGCON=rGPGCON&0xfff0ffff | 0x00050000;//配置第8、第

//9位为输出引脚

rGPGDA T=rGPGDA T&0xeff | 0x200;//第8位输出为低电平

//第9位输出高电平

for(i = 0;i< 10000000;i++);//延时

flag = 1;

else{

for(i = 0;i< 1000000;i++);//延时

rGPGCON=rGPGCON&0xfff0ffff(0x00050000;//配置第8、

//第9位为输出引脚

rGPGDA T=rGPGDA T&Oxdff | 0x100;//第8位输出为高电平

//第9位输出低电平

for(i = 0;i< 1000000;i++);//延时

flag = 0;

2、掌握S3C2410的A/D转换器接口的原理

要求:掌握A/D转换器接口的原理,能编写A/D转换器初始化函数和获取A/D的转换值的程序。

(1)A/D转换器(模/数转换器)完成电模拟量到数字量的转换。实现A/D转换的方法很多,常用的方法有计数法、双积分法和逐次逼近法等。

(2).对A/D转换器进行初始化

程序中的参数ch表示所选择的通道号,程序如下:

void AD_Init (unsigned char ch)

rADCDL Y=100; //ADC启动或间隔延时

rADCTSC=0; //选择ADC模式

rADCCON=(1<<14)|(49<<6)|(ch<<3)|(0<<2)|(0<<1)|(0); //使能前置分频器,设置前置分频值为49,正常模式,禁止读操作启动,不启动。

(3).获取A/D的转换值

程序中的参数ch表示所选择的通道号,程序如下:

int Get_AD(unsigned char ch){

int i;

int val= 0;

i f (ch>7)return 0; //通道不能大于7

for(i=0; i< 16; i++){//为转换准确,转换16次

rADCCON |=0x1; //启动A/D转换

rADCCON= rADCCON&0xffc7 |(ch<<3); //设置通道号

while (rADCCON&0x1); //等待启动位清零

while(!(rADCCON&0x8000)); //等待转换结束

val +=(rADCDAT0&0x03ff);

Delay(10);

}

return(val >> 4); //为转换准确,除以16取均值

}

3、掌握四线式电阻式触摸屏的工作原理,能分析触摸点的X轴坐标和Y轴坐标是如何测量出来的。

触摸屏按其工作原理可分为矢量压力传感式、电阻式、电容式、红外线式和表面声波式5类。在嵌入式系统中常用的是电阻式触摸屏。

四线式触摸屏的X工作面和Y工作面分别加在两个导电层上,共有4根引出线:X+、X-,Y+、Y-分别连到触摸屏的X电极对和Y电极对上。四线电阻屏触摸寿命小于100万次。

当给X方向的电极对施加一确定的电压,而Y方向电极对不加电压时,在x平行电压场中,触点处的电压值可以在Y+(或Y—)电极上反映出来,通过测量Y+电极对地的电压大小,通过A/D转换,便可得知触点的X坐标值。同理,当给Y电极对施加电压,而X电极对不加电压时,通过测量X+电极的电压,通过A/D转换便可得知触点的Y坐标。

四线电阻触摸屏的分辨方法是将四线电阻触摸后变化的模拟量转换成数字量,经过软件计算得出不同的屏幕上不同的X,Y坐标。此工作主要是靠S3C2440A 芯片中的模数转换器来实现的。

4、了解S3C2410的UART串行接口的工作原理,掌握S3C2410的UART发送和接收数据的程序设计。

UART(通用异步收发器)主要由数据线接口、控制逻辑、配置寄存器、波特率发生器、发送部分和接收部分组成,采用异步串行通信方式,采用RS-232C 9芯接插件(DB-9)连接,是广泛使用的串行数据传输方式.

本程序实例实现从UART0接收数据,然后分别从UART0和UART1发送出去。其功能可以把键盘敲击的字符通过PC机的串口发送给ARM系统上的UART0,ARM系统上的UART0接收到字符后,再通过UART0和UART1送给PC机,这样就完成了串口间的收发数据。要实现以上数据的收发功能,需要编写的主要代码如下。

(1)发送数据

其中whichUart为全局变量,指示当前选择的UART通道,使用串口发送一个字节的代码如下:

void Uart_SendByte(int data)

if(whichUart= =0)

if(data= =‘\n’)

while(!(rUTRSTA T0&0x2));

Delay(10);//延时,与终端速度有关

WrUTXH(‘\r’);

while(!(rUTRSTAT0&0x2));//等待,直到发送状态就绪

Delay(10);

WrUTXH0(data);

else if(whichUart= =1)

if(data==‘\n’)

while(!(rUTRSTAT1&0x2));

Delay(10);//延时,与终端速度有关

rUTXH1=‘\r’;

while(!(rUTRSTA T1&0x2));//等待,直到发送状态就绪

Delay(10);

rUTXH1=data;

else if(whichUart= =2)

if (data= =‘\n’)

while(!(rUTRSTA T2&0x2));

Delay(10);//延时,与终端速度有关

rUTXH2=‘\r’;

while(!(rUTRSTA T2&0x2));//等待,直到发送状态就绪

Delay(10);

rUTXH2=data;

(2).接收数据

如果没有接收到字符则返回0。使用串口接收一个字符的代码如下:

char Uart_GetKey(void)

if(whichUart==0){

if(rUTRSTAT0&0x1)//UARTO接收到数据

return RdURXH0();

else

return 0;

else if(whichUart= =1){

if(rUTRSTAT1&0x1)//UART1接收到数据

return RdURXH1();

else

return 0;

else if(whichUart= =2){

if(rUTRSTAT2&0x1)//UART2接收到数据

return RdURXH2();

else

return 0;

}else

return 0;

5、掌握键盘接口设计的方法。

要求:掌握矩阵式键盘的扫描原理,能设计一个与S3C2410连接的4X4的矩阵式键盘的接口电路,并编写键盘扫描程序。

(1)矩阵键盘的按键按N行M列排列,每个按键占据行列的一个交点,需要的I/O口数目是N+M,容许的最大按键数是N×M。矩阵键盘可以减少与微控制器I/O接口的连线数,是常用的一种键盘结构形式。根据矩阵键盘的识键和译键方法的不同,矩阵键盘又可以分为非编码键盘和编码键盘两种。

(2)一个用I/O口实现的键盘接口,为了识别键盘上的闭合键,常采用行扫描法。行扫描法是使键盘上某一行线为低电平,而其余行接高电平,然后读取列值,如果列值中有某位为低电平,则表明行列交点处的键被按下;否则扫描下一行,直到扫描完全部的行线为止。(3)根据行扫描法的原理,识别矩阵键盘按键闭合分两步进行:

a.识别键盘哪一行的键被按下:让所有行线均为低电平,检查各列线电平是否为低,如果有列线为低,则说明该列有键被按下,否则说明无键被按下。

b.如果某列有键被按下,识别键盘哪一行的键被按下:逐行置低电平,并置其余各行为高电平,检查各列线电平的变化,如果列电平变为低电平,则可确定此行此列交叉点处按键被按下。

1.键盘控制初始化程序

void keyboard_test(void)

{

UINT8T ucChar;

UINT8T szBuf[40];

uart_printf(“\n Keyboard Test Example\n”);

uart_printf(“Press any key to exit…\n”);

Keyboard_init();

g_nKeyPress=0xFE;

While(1)

{

f_nKeyPress=0;

while(f_nKeyPress==0)

{

if(uart_tetkey()) //Press any key from UART0 to exit

return;

else if(ucChar==7) //or press 5*4 Key-7 to exit

return;

else if(g_nKeyPress!=0xFE) //or SB1202/SB1203 to exit

return;

}

iic_read_keybd(0x70,0x1,&ucChar); //get data from ZLG7290

If(ucChar!=0)

{

ucChar-key_set(ucChar); //key map for Edukit II

if(ucChar<16)

sprintf(&szBuf,”press key %d”,ucChar);

else if(ucChar<255)

sprintf(&szBuf,”press key %d”,ucChar);

if(ucChar==0xFF)

sprintf(&szBuf,”press key %c”,ucChar);

if(ucChar==0xFF)

sprintf(&szBuf,”press key FUN”);

#ifdef BOARDTEST

print_lcd(200,170,0x1c,&szBuf);

#endif

uart_printf(szBuf);

uart_printf(“\n”)

}

}

uart_printf(“end.\n”);

}

九、嵌入式软件及操作系统

1、正确理解进程、线程的概念,掌握进程及进程的主要特点,并能说明进程和程序有什么区别。

(1) 进程(process)是在描述多道系统中并发活动过程引入的一个概念。进程和程序是两个既有联系又有区别的概念,两者不能混为一谈。而进程则是一次执行过程,它是暂时的,是动态地产生和终止的。

一个进程通常包含有以下几个方面的内容:

①相应的程序;②CPU上下文;③一组系统资源。

进程的特点:

①进程具有动态性;②进程具有独立性;③进程具有并发性。

(2)线程(thread)是一个比进程更小的能独立运行的基本单位。所谓的线程,就是进程当中的一条执行流程。包括运行上下文、内存地址空间、打开的文件等。

可以用线程来作为CPU的基本调度单位,使得各个线程之间可以并发执行。对于同一个进程当中的各个线程来说,运行在相同的资源平台上,可以共享该进程的大部分资源,但也有一小部分资源是不能共享的,每个线程都必须拥有各自独立的一份。

2、任务的实现

(1).任务的层次结构;(2).任务的创建与终止;(3).任务的状态;(4).任务控制块;(5).任务切换;(6).任务队列.

任务的状态:了解任务的状态是如何转换的,转换的过程。

一般来说,任务具有运行(running)、就绪(ready)和阻塞(blocked)三种基本状态。任务会在不同的状态之间来回转换,存在:运行阻塞、运行就绪、就绪运行、阻塞就绪这四种转换关系。

当一个任务已具备运行条件,但由于CPU正在运行其他的任务,暂时不能运行该任务时,称为就绪状态。不过,只要把CPU分给该任务,它就能够立刻执行。

任务因为正在等待某种事件的发生而暂时不能运行称为阻塞状态,也叫等待状态(waiting)。此时,即使CPU已经空闲下来了,该任务也还是不能运行。

什么是任务控制块TCB,任务控制块包括哪些主要内容。

TCB(Task Control Block,任务控制块)是在操作系统当中用来描述和管理一个任务的数据结构。TCB主要包括任务的管理信息、CPU上下文信息、资源管理信息等内容。

3、实时系统调度:解实时系统的任务是如何调度的。

基于优先级的调度算法给每个进程分配一个优先级,在每次进程调度时,调度器总是调度那个具有最高优先级的任务来执行。

许多嵌入式操作系统都是实时操作系统(RTOS),实时系统的调度追求的是实时性,RTOS调度器要让每个任务都在其最终时间期限(deadline)之前完成,而各任务之间的公平性并不是最重要的指标。RTOS调度器多采用基于优先级的可抢占调度算法。

在RTOS任务模型中,每一个任务用一个三元组来表示(执行时间、周期、时间期限)。其中:执行时间(execution time)E(i)是指对于第i个任务,当它所需要的资源都己具备时,它的执行所需要的最长时间。周期(period)P(i)是指第i个任务的连续两次运行之间的最小时间间隔。时间期限(deadline)是指D(i)第i个任务所允许的最大响应时间(从任务启动到运行结束所需的时间)。

4、嵌入式系统的存储管理方式的特点。

嵌入式系统的存储管理方式与系统的实际应用领域及硬件环境密切相关,不同的嵌入式系统采用不同的存储管理方式,需要考虑硬件条件、实时性要求、系统规模、可靠性要求等因素。系统的实时性要求直接影响到存储管理的实现方式,为了确保系统的实时性,快速和确定是内存管理的基本要求,即在存储管理方面的开销不能太大,对于每一项工作都要有明确的实时约束,即必须在某个限定的时刻之前完成。在实时系统中,存储管理方法就比较简单,甚至不提供存储管理功能。

在嵌入式微处理器中,MMU(Memory Management Unit, 存储管理单元)提供了一种内存保护的硬件机制。内存保护用来防止地址越界和防止操作越权。

MMU通常只在一些对安全性和可靠性的要求比较高、系统比较复杂的嵌入式系统中存在。

嵌入式系统期末考试题库及答案

嵌入式系统期末考试题库及答案 《嵌入式系统》试题库 《嵌入式系统》试题库 一、填空题 1、嵌入式系统的基本定义为:以应用中心,以计算机技术为基础,软件硬件可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。 2、从模块结构来看,嵌入式系统由三大部分组成,分别是:硬件、软件和开发平台。 3、从层次角度来看,嵌入式系统由四大部分组成,分别是:应用软件层、操作系统层、板级支持包(或硬件抽象层)和硬件层。 4、嵌入式产品的主要度量指标包括:上市时间、设计成本和产品质量。 5、嵌入式系统的设计过程包括:需求分析、规格说明、体系结构设计、构件设计、系统集成和系统测试。 6、需求分析包括:功能性需求分析和非功能性需求分析。 7、确定输入信号是数字信号还是模拟信号属于功能性需求。 8、确定系统的物理尺寸和重量属于非功能性需求。 9、在嵌入式系统的设计过程中,其中规格说明解决“做什么”。 10、在嵌入式系统的设计过程中,其中体系结构设计解决“如何做”。 11、在嵌入式系统的设计过程中,软硬件划分应该在体系结构设计阶段完成。12、在嵌入式系统的设计过程中,处理器的选择应该在体系结构设计阶段完成。13、在嵌入式系统的设计过程中,嵌入式操作系统的选择应该在体系结构设计阶段完成。14、在嵌入式系统的设计过程中,完成原理图设计应在构件设计阶段完成。15、在嵌入式系统的设计过程中,完成版图设计应在构件设计阶段完成。16、在嵌入式系统的设计过程中,完成软件设计应在构件设计阶段完成。 17、反映嵌入式系统设计人员的水平能力主要在于总体设计(需

求分析、规格说明和体系结构设计)和系统调试。 18、设计流程指的是设计过程中所经历的过程步骤。 19、设计重用技术主要分为基于IP 核的模块级重用和基于平台的系统级重用。20、软硬件协同设计由系统描述、软硬件划分、软硬件协同综合以及软硬件协同模拟与验证几个阶段组成。 21、嵌入式处理器的分类包括三种,分别是:嵌入式微处理器、微控制器(或单片机)和 第1 页共44 页 1 《嵌入式系统》试题库 数字信号处理器(DSP)。 22、列举常见的ARM 系列处理器:ARM7 系列、ARM9 系列、ARM11 系列、Cortex-M 系列、Cortex-R 系列、Cortex-A 系列等。 23、ARM 系列微处理器支持的数据类型有:字节、半字和字等三种类型。24、ARM 系列微处理器支持的字数据存储格式有:大端格式和小端格式。25、ARM 系列处理器通过执行BX 或者BLX 指令来实现工作状态的切换。26、列举常见的存储器类型:SRAM、DRAM、Flash、EEPROM 等。27、对于RAM 存储器主要有两种,分别是:SRAM 和DRAM。 28、在时钟信号边沿到来之前的一段时间内,数据信号必须保持稳定,这段时间称为器件的建立时间;在时钟信号边沿到来之后的一段时间内,数据信号必须保持稳定,这段时间称为器件的保持时间。 29、总线是在多于两个模块(设备、子系统)之间传送信息的公共通路。30、总线的功能是信息共享和交换。 31、总线由传输信息的物理介质和管理信息传输的协议组成。 32、挂接在总线上的设备依据启动总线事务的能力可以分为主设备和从设备。33、总线协议依据同步方式可分为同步时序协议和异步时序协议。34、总线仲裁方式可分为集中式仲裁和分布式仲裁。

嵌入式系统综合实验一

嵌入式系统综合实验一

学号: 装 订 线 实验报告 课程名称: 嵌入式系统设计 指导老师:马永昌 成绩:________________ 实验名称:综合实验一dht11和人体感应传感器 实验类型:验证型 同组学生姓名:孙凡原 三、主要仪器设备(必填) 四、操作方法和实验步骤 五、实验数据记录和处理 六、实验结果与分析(必填) 七、讨论、心得 一、实验目的和要求 1.掌握字符设备驱动程序的基本结构和开发方法 2.掌握用户空间调用设备驱动的方法 3.掌握用户和内核的交互 二、实验内容和原理 专业:测控技术与仪器 姓名:颜睿

装订 线1.编写温湿度传感器DHT11驱动,传输打印温湿度信息 2.编写人体感应传感器驱动,控制LED灯亮灭 原理: 温湿度传感器DHT11: 1.引脚图 实际使用传感器没有NC引脚 2.数据采集 a.数据总时序 用户主机发送一次开始信号后,DHT11 从低功耗模式转换到高速模式,待主机开始信号结束后,DHT11 发送响应信号,送出40bit 的数据,幵触发一次信采集。

b.主机发送起始信号 连接DHT11的DATA引脚的I/O口输出低电平,且低 电平保持时间不能小于18ms,然后等待DHT11 作出 应答信号。 装 线 订 c.检测从机应答信号 DHT11 的DATA 引脚检测到外部信号有低电平时, 等待外部信号低电平结束,延迟后DHT11 的DATA 引脚处于输出状态,输出80 微秒的低电平作为应答信 号,紧接着输出80 微秒的高电平通知外设准备接收数 据。

装 订线 d.接收数据 (1)数据判定规则 位数据“0”的格式为:50 微秒的低电平和26-28 微秒的高电平,位数据“1”的格式为:50 微秒的低电平加70微秒的高电平。 接收数据时可以先等待低电平过去,即等待数据线拉高,再延时60us,因为60us大于28us且小于70us,再检测此时数据线是否为高,如果为高,则数据判定为1,否则为0。 (2)数据格式 一次传送40 位数据,高位先出 8bit 湿度整数数据+ 8bit 湿度小数数据+8bit 温度整

嵌入式系统期末考试试卷 习题

1.下面哪一种工作模式不属于ARM特权模式(A)。 A.用户模式B.系统模式C.软中断模式D.FIQ模式 2.ARM7TDMI的工作状态包括( D )。 A.测试状态和运行状态B.挂起状态和就绪状态 C.就绪状态和运行状态D.ARM状态和Thumb状态 3.下面哪个Linux操作系统是嵌入式操作系统( B )。 A.Red-hat Linux B.uclinux C.Ubuntu Linux D.SUSE Linux 4.使用Host-Target联合开发嵌入式应用,( B )不是必须的。 A.宿主机B.银河麒麟操作系统 C.目标机D.交叉编译器 5.下面哪个不属于Linux下的一个进程在内存里的三部分的数据之一(A)。 A.寄存器段B.代码段 C.堆栈段D.数据段 选择题(共5小题,每题2分,共10分) 1.下面哪个系统属于嵌入式系统( D )。 A.“天河一号”计算机系统B.IBMX200笔记本电脑 C.联想S10上网本D.Iphone手机 2.在Makefile中的命令必须要以(A)键开始。 A.Tab键B.#号键 C.空格键D.&键 3.Linux支持多种文件系统,下面哪种不属于Linux的文件系统格式( B )。 A.Ext B.FA T32 C.NFS D.Ext3 4.下面哪种不属于VI三种工作模式之一( D )。 A.命令行模式B.插入模式 C.底行模式D.工作模式 5.下面哪一项不属于Linux内核的配置系统的三个组成部分之一( C )。 A.Makefile B.配置文件(config.in) C.make menuconfig D.配置工具 1.人们生活中常用的嵌入式设备有哪些?列举4个以上(1) 手机,(2) 机顶盒,(3) MP3,(4) GPS。(交换机、打印机、投影仪、无线路由器、车载媒体、PDA、GPS、智能家电等等。) 2.ARM9处理器使用了五级流水线,五级流水具体指哪五级:(5) 取指,(6) 译码,(7) 执行,(8) 缓冲/数据,(9) 回写。 3.在Makefile中的命令必须要以(10) Tab 键开始。 4.Linux支持多种文件系统,主要包括哪些(写出其中4中就行)(11) Ext,(12) VFA T,(13) JFS,(14) NFS。(JFS、ReiserFS、Ext、Ext2、Ext3、ISO9660、XFS、Minx、MSDOS、UMSDOS、VFAT、NTFS、HPFS、NFS、SMB、SysV、PROC等) 5.VI的工作模式有哪三种:(15) 命令行模式,(16) 插入模式,(17) 底行模式。

华为经典嵌入式面试题集资料

(1)什么是预编译,何时需要预编译: 答案: 1、总是使用不经常改动的大型代码体。 2、程序由多个模块组成,所有模块都使用一组标准的包含文件和相同的编译选项。在这种情况下,可以将所有包含文件预编译为一个预编译头。 (2)char * const p char const * p const char *p 上述三个有什么区别? 答案: char * const p; //常量指针,p的值不可以修改 char const * p;//指向常量的指针,指向的常量值不可以改const char *p;//和char const *p (3)char str1[] = "abc"; char str2[] = "abc"; const char str3[] = "abc"; const char str4[] = "abc"; const char *str5 = "abc"; const char *str6 = "abc"; char *str7 = "abc"; char *str8 = "abc"; cout < < ( str1 == str2 ) < < endl; cout < < ( str3 == str4 ) < < endl; cout < < ( str5 == str6 ) < < endl; cout < < ( str7 == str8 ) < < endl; 结果是:0 0 1 1 str1,str2,str3,str4是数组变量,它们有各自的内存空间;而str5,str6,str7,str8是指针,它们指向相同的常量区域。 (4)以下代码中的两个sizeof用法有问题吗? [C易] void UpperCase( char str[] ) // 将str 中的小写字母转换成大写字母{ for( size_t i=0; i

嵌入式系统设计实训报告

上海海洋大学 嵌入式系统设计项目实训报告 (2016- 2017第_1_学期) 专业:______计算机科学与技术_________________ 实训项目:____嵌入式应用——电子相册______ __ 实训时间:__2016_______年__12___月___26___日 实训成员:_________孙嘉晨1351127____________ _________周力1351137______________ __________________________________ __________________________________ 指导老师:________池涛_____________________ 计算机科学技术系 2015年11月制

一、实训目的 通过电子相册的制作,了解S3C2440芯片的构造,了解外围SDRAM及NANDFLASH 的存储结构。学会运用定时器中断及通过LCD显示图片,加强自身对嵌入式的理解,提升自身的实践能力。 二、实训内容 以S3C2440芯片为核心,通过外围SDRAM及NANDFLASH存储实现照片的存储,结合定时器中断,实现LCD显示图片,完成简易电子相册的设计。 三、实训设备 硬件:mini2440硬件平台 软件:bmp2h.exe软件进行图片转换 CodeWarrior for ARM Developer Suite软件 四、实训设计方案 (包括项目功能需求分析,方案设计,完成时间规划) 需求分析: 在上世纪末本世纪初,电子相册呈现迅速发展的势头,普及型数码相机的分辨率由200万象素增长到现在的800—1500万象素,价格也由300美元左右下降到现在的120美元左右。随着数码相机的日益普及,作为一种以数字照片的保存、回放和浏览为核心功能的产品——电子相册自然迎合了消费者的需求。 方案设计: 软件设计:代码包含2个模块,LCD模块包含两个文件,进行图片的显示与编辑;Timer 模块包含6个文件,其中timer.c和timer.h文件完成定时器的初始化,interrupt.h和interrupt.c 文件完成定时器中断函数的初始化,isrservice.h和isrservice.c文件完成定时器中断处理,pic.c 和pic.h等文件是由图片生产的C语言数组文件 硬件方面选择了S3C2440为核心的架构。基于ARM的微处理器具有低功耗、低成本、高性能等特点,ARM采用RISC(精简指令集计算机)架构和流水线结构,使用了大量的寄存器,具有极高的工作效率。其中,RISC架构具有如下特点:固定长度的指令格式,指令归整、简单,基本寻址方式只有2~3种,使用单周期指令,便于流水线操作。因此选择此硬件方案的优势有如下: (1)系统芯片功能强大,实现的功能多,对于新的多媒体格式支持性好,只需要安装更新的软件; (2)硬件电路简单,可采用标准电路,不需耗费过多的资源(人力,资金等); (3)可以在硬件上增加模块,留作二次开发使用,极为方便; (4)S3C2440是一个比较成熟的芯片,技术积累齐全; (5)S3C2440支持丰富的存储卡接口。 完成时间规划:第一天分析实训项目实现过程,完成软件方面内容,编写代码。 第二天实现硬件分析,完成硬件连接,对项目进行测试。 第三天完成实训内容,提交报告。 五、实训项目实现

嵌入式系统复习资料一

一、嵌入式系统定义、由来及特点 1.1.1 嵌入式系统的定义 ?E mbedded System Dictionary: 一种计算机硬件和软件的组合,也许还有机械装置,用于实现一个特定功能。 在某些特定情况下,嵌入式系统是一个大系统或产品的一部分。 通用计算机定义是:计算机硬件和软件的组合,用做通用计算平台。 国内普遍被认同的定义: “以应用为中心、以计算机技术为基础,软件硬件可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗等严格要求的专用计算机系统。” 从这个定义可以看出嵌入式系统是与应用紧密结合的,它具有很强的专用性,必须结合实际系统需求进行合理的裁剪利用。 因此有人把嵌入式系统比作是一个针对特定的应用而“量身定做”的专用计算机系统。 1.1. 2 嵌入式系统的由来及其与微控制器的关系 1. 单片机(微控制器)的基本含义 Single-chip Microcomputer Microcontroller MCU MCU的基本含义是:在一块芯片上集成了中央处理单元(CPU)、存储器(RAM/ROM 等)、定时器/计数器及多种输入输出(I/O)接口的比较完整的数字处理系统。下图给出了典型的MCU组成框图。 MCU是在计算机制造技术发展到一定阶段的背景下出现的,它使计算机技术从科学计算领域进入到智能化控制领域。 2. 嵌入式系统的由来 通俗地说,计算机是因科学家需要一个高速的计算工具而产生的。直到二十世纪七十年代,电子计算机在数字计算、逻辑推理及信息处理等方面表现出非凡的能力. 在通信、测控与数据传输等领域,人们对计算机技术给予了更大的期待。 这些领域的应用与单纯的高速计算要求不同,主要表现在: ①直接面向控制对象; ②嵌入到具体的应用体中,而非计算机的面貌出现; ③能在现场连续可靠地运行; ④体积小,应用灵活; ⑤突出控制功能,特别是对外部信息的捕捉与丰富的输入输出功能等。

嵌入式期末考试题库大全

1. Linux文件权限一共10位长度,分成四段,第三段表示的内容是。 A 文件类型 B 文件所有者的权限 C 文件所有者所在组的权限 D 其他用户的权限 2. 终止一个前台进程可能用到的命令和操作。 A kill B + C C shut down D halt 3.在使用mkdir命令创建新的目录时,在其父目录不存在时先创建父目录的选项是。 A -m B -d C -f D -p 4.Linux有三个查看文件的命令,若希望在查看文件内容过程中可以用光标上下移动来查看文件内容,应使用命令。 A cat B more C less D menu 5.对名为fido的文件用chmod 551 fido进行了修改,则它的许可权是。 A -rwxr-xr-x B -rwxr--r-- C -r--r--r-- D -r-xr-x—x 6.用ls –al命令列出下面的文件列表,文件是符号连接文件。 A -rw-rw-rw- 2 hel-s users 56 Sep 09 11:05 hello B -rwxrwxrwx 2 hel-s users 56 Sep 09 11:05 goodbye C drwxr--r-- 1 hel users 1024 Sep 10 08:10 zhang D lrwxr--r-- 1 hel users 2024 Sep 12 08:12 cheng 7.Linux文件系统的文件都按其作用分门别类地放在相关的目录中,对于外部设备文件,一般应将其放在目录中。 A /bin B /etc C /dev D /lib 8.在vi编辑器中的命令模式下,键入可在光标当前所在行下添加一新行。 A a B o C I D A 9.在vi编辑器中的命令模式下,删除当前光标处的字符使用命令。 A x B dw C D D dd 10.在vi编辑器中的命令模式下,重复上一次对编辑的文本进行的操作,可使用命令。 A 上箭头 B 下箭头 C . D * 11.用命令ls -al显示出文件ff的描述如下所示,由此可知文件ff的类型为A 。-rwxr-xr-- 1 root root 599 Cec 10 17:12 ff A 普通文件 B 硬链接 C 目录 D 符号链接 12.删除文件命令为: A mkdir B rmdir C mv D rm 13.对文件进行归档的命令为D 。 A dd B cpio C gzip D tar

嵌入式系统期末考试题库及答案

《嵌入式系统》试题库 《嵌入式系统》试题库 一、填空题 嵌入式系统的基本定义为:以应用中心,以计算机技术为基础,软件硬件可裁剪,适、 1应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。从模块结构来看,嵌入式系统由三大部分组成,分别是:硬件、软件和开发平台。、 2从层次角度来看,嵌入式

系统由四大部分组成,分别是:应用软件层、操作系统层、、 3板级支持包(或硬件抽象层) 和硬件层。嵌入式产品的主要度量指标包括:上市时间、设计成本和产品质量。、 4嵌入式系统的设计过程包括:需求分析、规格说明、体系结构设计、构件设计、系统、 5集成和系统测试。需求分析包括:功能性需求分析和非功能性需求分析。 6、确定输入信号是数字信号还 是模拟信号属于功能性需求。 7、确定系统的物理尺寸和重量属于非功能性需求。 8、在嵌 入式系统的设计过程中,其中规格说明解决“做什么”。 9、在嵌入式系统的设计过程中,其 中体系结构设计解决“如何做”。 10、在嵌入式系统的设计过程中,软硬件划分应该在体系结构设计阶段完成。 11、在嵌入式系统的设计过程中,处理器的选择应该在体系结构设计阶段 完成。、 12在嵌入式系统的设计过程中,嵌入式操作系统的选择应该在体系结构设计阶段完成。、13在嵌入式系统的设计过程中,完成原理图设计应在构件设计阶段完成。、 14在嵌入式系统 的设计过程中,完成版图设计应在构件设计阶段完成。、15在嵌入式系统的设计过程中,完 成软件设计应在构件设计阶段完成。 16、反映嵌入式系统设计人员的水平能力主要在于总体 设计(需求分析、规格说明和体系 17、结构设计)和系统调试。设计流程指的是设计过程中所经历的过程步骤。、 18核的模块级重用和基于平台的系统级重用。 IP 设计重用技术主要分为基于19、 软硬件协同设计由系统描述、软硬件划分、软硬件协同综合以及软硬件协同模拟与验 20、证几个阶段组成。嵌入式处理器的分类包括三种,分别是:嵌入式微处理器、微控制器(或单片机)和、21页共页第 1 44 《嵌入式系统》试题库

(整理)嵌入式系统考试试题.

精品文档 10个小题,每小题1分,共10分)Array 1、以下说法不正确的是()。 A、任务可以有类型说明 B、任务可以返回一个数值 C、任务可以有形参变量 D、任务是一个无限循环 2、用图形点阵的方式显示一个16*16点阵汉字需要()字节。 A、8 B、32 C、16 D、64 3、μCOS-II操作系统中最多可以管理()个任务。 A、64 B、56 C、128 D、63 4、存储一个32位数0x2168465到2000H~2003H四个字节单元中,若以大端模式存 储,则2000H存储单元的内容为()。d A、0x21 B、0x68 C、0x65 D、0x02 5、以ARM为内核的微处理器是()位的。d A、4位 B、8位 C、16位 D、32位 6、RS232-C串口通信中,表示逻辑1的电平是()。d A、0v B、3.3v C、+5v~+15v D、-5v~-15v 7、寄存器R14除了可以做通用寄存器外,还可以做()。b A、程序计数器 B、链接寄存器 C、栈指针寄存器 D、基址寄存器 8、IRQ中断的入口地址是()。 A、0x00000000 B、0x00000008 C、0x00000018 D、0x00000014 9、采用RS232-C串行通信至少需要三根线,其中不包括()。 A、电源线 B、地线

C、发送数据线 D、接收数据线 10、Unicode编码与()编码方式兼容。 A、ASCII码 B、GBK C、GB2312 D、区位码 二、填空题(本大题共24个空,每空1分,共24分) 11、发展到现在,常用的操作系统包括三大类,分别为:批处理系统、分 时系统、和实时系统。 12、在图形操作系统中,字符通常有两种存储方式:一种是方式;一种是 方式。在嵌入式开发系统中一般使用方式。 13、ARM7指令系统采用三级流水线指令,分别包括:、、 和。 14、ARM处理器有七种工作模式,分别为、、、、 、、和状态。见第二套题的19题 15、OSTaskSuspend (self)可把正在运行的任务挂起,参数self指任务本 身。 用此函数挂起的任务可通过 OSTaskResume 函数唤醒。 16、创建信号量OSSemCreat(0)函数中,参数0表示信号量的初始值。 17、若一个优先级为35的任务就绪,则在就绪表中,OSRdyTbl[]的 2 置位, 变量OSRdyGrp的 4 置位。 18、网络通信中面向连接的协议是____tcp____,面向无连接的协议是___udp_____。 三、简答题(本大题共4个小题,每小题5分,共20分) 19、简述进程和线程有什么区别,μCOS-II操作系统中的任务属于进程还是线程?进程:包含正在运行的一个程序的所有状态信息,包括程序的代码、程序的数据、PC值、一组通用的寄存器的当前值,堆、栈,一组系统资源(如打开的文件)。进程有动态性、独立性、并发性的特点。 线程:是较进程更小的能独立运行的基本单位,是进程当中的一条执行流程,它可以满足统一进程内不通实体间的并发执行而又共享相同的地址空间。 一个进程中可以同时存在多个线程 各个线程之间可以并发地执行

嵌入式系统设计实验四

实验报告 课程名称: 嵌入式系统设计 指导老师:马永昌 成绩:________________ 实验名称:实验四C 语言裸机编程 实验类型:验证型 同组学生姓名:__孙凡原_______ 一、实验目的和要求(必填) 二、实验内容和原理(必填) 三、主要仪器设备(必填) 四、操作方法和实验步骤 五、实验数据记录和处理 六、实验结果与分析(必填) 七、讨论、心得 一、实验目的和要求 ? 初步了解C 运行库 ? 初步了解gcc arm 常用编译选项 ? 了解ARM 中断处理过程 二、实验内容和原理 ? 编写C 裸机代码实现跑马灯,通过控制Timer 中断实现 ? 通过控制uart 串口进行调试打印 三、主要仪器设备 树莓派、PC 机 四、操作方法和实验步骤 1 通过定时器产生中断,控制gpio ,实现跑马灯 2 控制uart 控制器,产生调试打印。 五、实验数据记录和处理 1.主程序arm.c 注释 //包含头文件 #include #include #include #include "rpi-aux.h" #include "rpi-armtimer.h" #include "rpi-gpio.h" #include "rpi-interrupts.h" #include "rpi-systimer.h" #include "rpi-led.h" /** Main function - we'll never return from here */ void kernel_main( unsigned int r0, unsigned int r1, unsigned int atags ) 专业:测控技术与仪器 姓名:颜睿 学号:3130103850 日期:2018.3.28 地点:创客空间

嵌入式系统考试题库

嵌入式系统复习题 ARM复习题一 一、填空。 1、cpsr寄存器的作用是___________。 2、ARM926EJ-S中的“9”表示的含义是________,“E”表示的含义是________,“J”表示的含义是________。 3、LINUX下察看当前目录的命令是________,察看文件内容的命令是 ________,删除目录的命令是________。 4、字数据的高字节存储在低地址中,而字数据的低字节则存放在高地址中,这样的存储方式我们称之为__________格式。 5、ARM9TDMI中的“T”表示的含义是_支持Thumb指令集__,“D”表示的含义是_支持片上Debug__,“M”表示的含义是__ 内嵌硬件乘法器___ ,“I”表示的含义是__支持片上断点调试___。 6、ARM指令中的第二个操作数“operand2”有_立即数__、_寄存器__、__寄存器移位__三种具体形式。 7、字数据的高字节存储在低地址中,而字数据的低字节则存放在高地址中,这样的存储方式我们称之为__大端___格式。 8、LINUX下察看当前目录的命令是__ls__,察看文件内容的命令是 __cat____,压缩与解压的命令是__tar____,磁盘、目录挂接命令是 __mount__。 9、LINUX将设备分成__块设备____和___字符设备_______两大类。 二、简答。 1、简述嵌入式系统和通用计算机的区别? 2、VFS的功能有哪些? 记录可用的文件系统的类型; 将设备同对应的文件系统联系起来; 处理一些面向文件的通用操作 3、简述硬实时操作系统和软实时操作系统的区别? 4、简述嵌入式系统的开发模式。 5、交叉编译工具(链)主要包括什么? 对目标系统的编译器 gcc、目标系统的二进制工具binutils、目标系统

嵌入式系统复习资料

第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

最新嵌入式系统考试试题

嵌入式系统2012考 试试题

(本大题共10个小题,每小题1分,共10分) 1、以下说法不正确的是()。 A、任务可以有类型说明 B、任务可以返回一个数值 C、任务可以有形参变量 D、任务是一个无限循环 2、用图形点阵的方式显示一个16*16点阵汉字需要()字节。 A、8 B、32 C、16 D、64 3、μCOS-II操作系统中最多可以管理()个任务。 A、64 B、56 C、128 D、63 4、存储一个32位数0x2168465到2000H~2003H四个字节单元中,若以大端模式 存储,则2000H存储单元的内容为()。d A、0x21 B、0x68 C、0x65 D、0x02 5、以ARM为内核的微处理器是()位的。d A、4位 B、8位 C、16位 D、32位 6、RS232-C串口通信中,表示逻辑1的电平是()。d A、0v B、3.3v C、+5v~+15v D、-5v~-15v 7、寄存器R14除了可以做通用寄存器外,还可以做()。b

A、程序计数器 B、链接寄存器 C、栈指针寄存器 D、基址寄存器 8、IRQ中断的入口地址是()。 A、0x00000000 B、0x00000008 C、0x00000018 D、0x00000014 9、采用RS232-C串行通信至少需要三根线,其中不包括()。 A、电源线 B、地线 C、发送数据线 D、接收数据线 10、Unicode编码与()编码方式兼容。 A、ASCII码 B、GBK C、GB2312 D、区位码 二、填空题(本大题共24个空,每空1分,共24分) 11、发展到现在,常用的操作系统包括三大类,分别为:批处理系统、 分时系统、和实时系统。 12、在图形操作系统中,字符通常有两种存储方式:一种是方式;一种是 方式。在嵌入式开发系统中一般使用方式。 13、ARM7指令系统采用三级流水线指令,分别包括:、、 和。 14、ARM处理器有七种工作模式,分别为、、、、 、、和状态。见第二套题的19题 15、OSTaskSuspend (self)可把正在运行的任务挂起,参数self指任务本身。

嵌入式系统——实验1

《嵌入式系统设计(实验课)》内容安排 《嵌入式系统设计(实验课)》是《嵌入式系统设计》课程的一个重要环节。通过实验,学生可以对嵌入式系统的设计与开发过程有更深地体会。实验课共八次,每次2学时,实验内容结合课程内容,介绍一般的实验开发流程和软件硬件开发环境,并辅之以典型的嵌入式程序设计实例,使学生掌握基本的嵌入式软件开发技能。大量的具有实际应用背景的实验,更将理论与实践结合起来,使实验内容更加生动。 实验报告要求 一、实验名称: 说明:本次实验的名称 二、实验目的: 说明:本次实验的主要目的,参考每次的实验指导书 三、实验环境: 说明:实验用到的硬件软件环境。 四、实验内容与步骤: 说明:实现实验目的而进行的实验内容,如果有步骤要求则简要列出步骤 五、实验报告总结: 说明:对本次实验的总结, 1.画出主函数的程序流程图, 2.重写主程序.或者:自拟一个新的应用,参照本次实验的主程序,重新设计主程序并给出详尽注释。 3.其他,本次实验得到了什么?收获是什么?有些什么别的想法? 六、建议与意见: 说明:对于此次实验内容或在实验过程中有任何问题或建议,以及对于改善实验效果有什么建议,均可提出。 在书写实验报告的过程中,主要是帮助自己回顾和总结实验。重点放在第五部分,前四项可以十分简要地列写,第六项有则提出,无则不写。

实验一嵌入式微处理器系统的开发环境 一、实验环境 PC机一台 软件: ADS 1.2集成开发环境一套 二、实验目的 1.了解嵌入式系统及其特点; 2.熟悉嵌入式系统的开发环境和基本配置并能编写简单的汇编程序 三、实验内容 1.嵌入式系统的开发环境、基本配置 2.使用汇编指令完成简单的加法实验 四、实验步骤 (1)在D:\新建一个目录,目录名为experiment。 (2)点击 WINDOWS 操作系统的“开始|程序|ARM Developer Suite v1.2 |Code Warrior for ARM Developer Suite”启动Metrowerks Code Warrior,或双击“ADS 1.2”快捷方式启动。启动ADS 1.2 如图1-1所示: 图1-1启动ADS1.2 (3) 在CodeWarrior 中新建一个工程的方法有两种,可以在工具栏中单击“New”按钮, 也可以在“File”菜单中选择“New…”菜单。这样就会打开一个如图1-2 所示的对话框。选择【File】->【New…】,使用ARM Executable Image工程模板建立一个工程,名称为ADS,目录为D:\experiment。 图1-2 新建文件 在这个对话框中为用户提供了7 种可选择的工程类型:

最新嵌入式系统期末考试题库及答案

《嵌入式系统》试题库 一、填空题 1、嵌入式系统的基本定义为:以应用中心,以计算机技术为基础,软件硬件可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。 2、从模块结构来看,嵌入式系统由三大部分组成,分别是:硬件、软件和开发平台。 3、从层次角度来看,嵌入式系统由四大部分组成,分别是:应用软件层、操作系统层、板级支持包(或硬件抽象层)和硬件层。 4、嵌入式产品的主要度量指标包括:上市时间、设计成本和产品质量。 5、嵌入式系统的设计过程包括:需求分析、规格说明、体系结构设计、构件设计、系统集成和系统测试。 6、需求分析包括:功能性需求分析和非功能性需求分析。 7、确定输入信号是数字信号还是模拟信号属于功能性需求。 8、确定系统的物理尺寸和重量属于非功能性需求。 9、在嵌入式系统的设计过程中,其中规格说明解决“做什么”。 10、在嵌入式系统的设计过程中,其中体系结构设计解决“如何做”。 11、在嵌入式系统的设计过程中,软硬件划分应该在体系结构设计阶段完成。 12、在嵌入式系统的设计过程中,处理器的选择应该在体系结构设计阶段完成。 13、在嵌入式系统的设计过程中,嵌入式操作系统的选择应该在体系结构设计阶段完成。 14、在嵌入式系统的设计过程中,完成原理图设计应在构件设计阶段完成。 15、在嵌入式系统的设计过程中,完成版图设计应在构件设计阶段完成。 16、在嵌入式系统的设计过程中,完成软件设计应在构件设计阶段完成。 17、反映嵌入式系统设计人员的水平能力主要在于总体设计(需求分析、规格说明和体系结构设计)和系统调试。 18、设计流程指的是设计过程中所经历的过程步骤。 19、设计重用技术主要分为基于IP 核的模块级重用和基于平台的系统级重用。 20、软硬件协同设计由系统描述、软硬件划分、软硬件协同综合以及软硬件协同模拟与验证几个阶段组成。 21、嵌入式处理器的分类包括三种,分别是:嵌入式微处理器、微控制器(或单片机)和

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

各位:根据掌握要点认真复习,后面附有作业题答案。 第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)。 ?第二种,嵌入式系统是以应用为中心、以计算机技术为基础、软件硬件可裁剪、功能、可靠性、成本、体积、功耗严格要求的专 用计算机系统。

嵌入式系统设计性实验报告

嵌入式系统设计性实验报告 水温控制系统 院别:控制工程学院 专业:自动 学号:5090633 姓名:邱飒飒 指导老师:孙文义 2012年6月8日

嵌入式系统设计性实验报告 作者:邱飒飒班级:50906 学号:5090633 摘要:在工业生产中,电流、电压、温度、压力、流量、流速和开关量都是常用的主要被控参数。其中,温度控制也越来越重要。在工业生产的很多领域中,人们都需要对各类加热炉、热处理炉、反应炉和锅炉中的温度进行检测和控制。采用单片机对温度进行控制不仅具有控制方便、简单和灵活性大等优点,而且可以大幅度提高被控温度的技术指标,从而大大的提高产品的质量和数量。因此,单片机对温度的控制问题是工业生产中经常会遇到的控制问题.该实验设计基于飞思卡尔MC9S12DG128开发板平台,根据实验任务要求,完成了基于单片机的水温自动控制系统的设计该实验设计基于飞思卡尔MC9S12DG128开发板平台,根据实验任务要求,完成了水温自动控制系统的设计。 关键字:水温控制单片机MC9S12DG128 一、系统设计的功能 1.1 水温控制系统设计任务和要求 该系统为一实验系统,系统设计任务: 设计并制作一个水温自动控制系统,控制对象为1升净水,容器为搪瓷器皿。 水温可以在一定范围内由人工设定,并能在环境温度降低时实现自动控制,以保持设定的温度基本不变。同时满足以下要求: (1)温度设定范围为40~90℃,最小区分度为1℃,标定温度≤1℃。 (2)环境温度降低时(例如用电风扇降温)温度控制的静态误差≤1℃。 (3)用十进制数码管显示水的实际温度保留一位小数。 (4)采用适当的控制方法(如数字PID),当设定温度突变(由40℃提高到60℃)时,减小系统的调节时间和超调量。 (5)温度控制的静态误差≤0.2℃。 (6)从串口输出水温随时间变化的数值。 1.2 水温控制系统部分 水温控制系统是一个过程控制系统,组成框图如下所示,有控制器、执行器、被控对象及其反馈作用的测量变送组成。 图1 控制系统框图 1.3 系统总体功能分析 本系统是一个简单的单回路控制系统,为了实现温度的测量及自动控制,根据任务要求及要求,系统由单片机系统,前向通道,后向通道,及人机通话四个模块构成。总体框图如图2 所示。

嵌入式系统期末考试试卷-习题

1.下面哪一种工作模式不属于ARM特权模式( A )。 A.用户模式B.系统模式C.软中断模式D.FIQ模式 2.ARM7TDMI的工作状态包括( D )。 A.测试状态和运行状态B.挂起状态和就绪状态 C.就绪状态和运行状态D.ARM状态和Thumb状态 3.下面哪个Linux操作系统是嵌入式操作系统( B )。 A.Red-hat Linux B.uclinux C.Ubuntu Linux D.SUSE Linux 4.使用Host-Target联合开发嵌入式应用,( B )不是必须的。 A.宿主机B.银河麒麟操作系统 C.目标机D.交叉编译器 5.下面哪个不属于Linux下的一个进程在内存里的三部分的数据之一( A )。 A.寄存器段B.代码段 C.堆栈段D.数据段 选择题(共5小题,每题2分,共10分) 1.下面哪个系统属于嵌入式系统( D )。 A.“天河一号”计算机系统B.IBMX200笔记本电脑 C.联想S10上网本D.Iphone手机 2.在Makefile中的命令必须要以( A )键开始。 A.Tab键B.#号键 C.空格键D.&键 3.Linux支持多种文件系统,下面哪种不属于Linux的文件系统格式( B )。 A.Ext B.FAT32 C.NFS D.Ext3 4.下面哪种不属于VI三种工作模式之一( D )。 A.命令行模式B.插入模式 C.底行模式D.工作模式 5.下面哪一项不属于Linux内核的配置系统的三个组成部分之一( C )。 A.Makefile B.配置文件(config.in) C.make menuconfig D.配置工具 1.人们生活中常用的嵌入式设备有哪些?列举4个以上(1) 手机,(2) 机顶盒,(3) MP3,(4) GPS。(交换机、打印机、投影仪、无线路由器、车载媒体、PDA、GPS、智能家电等等。) 2.ARM9处理器使用了五级流水线,五级流水具体指哪五级:(5) 取指,(6) 译码,(7) 执行,(8) 缓冲/数据,(9) 回写。 3.在Makefile中的命令必须要以(10) Tab 键开始。 4.Linux支持多种文件系统,主要包括哪些(写出其中4中就行)(11) Ext,(12) VFAT,(13) JFS,(14) NFS。(JFS、ReiserFS、Ext、Ext2、Ext3、ISO9660、XFS、Minx、MSDOS、UMSDOS、VFAT、NTFS、HPFS、NFS、SMB、SysV、PROC等) 5.VI的工作模式有哪三种:(15) 命令行模式,(16) 插入模式,(17) 底行模式。 6.Linux下的一个进程在内存里包括三部分的数据,它们是:(18) 代码段,(19) 堆栈段,(20) 数据段。 1.目前使用的嵌入式操作系统主要有哪几种(1) Linux,(2) Windows CE,(3) uc/OS II,

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