电脑桌面
添加蜗牛文库到电脑桌面
安装后可以在桌面快捷访问

嵌入式系统复习总结

栏目:合同范文发布:2025-01-29浏览:1收藏

嵌入式系统复习总结

第一篇:嵌入式系统复习总结

嵌入式系统复习总结

一、嵌入式系统的概述

1.嵌入式系统的定义:嵌入到对象中的专业计算机 2.三大特点:嵌入型、专业性、计算机系统 3.组成:软件、硬件

4.结构层次:应用程序、嵌入式系统实时操作系统,硬件抽象层、嵌入式系统硬件工作平台

5.分类:MCU、EMPU、DSP、CPLDFPGA、SoC

二、51单片机

1.单片机的特点:体积小、控制功能强、可靠性高、易扩展易产品化、性能价格比高、需要开发装置

2.51单片机的组成:CPU、64KB数据存储器、4KB程序存储器、两个16位定时计数器、5个中断源、P0~P3 4个并行IO口、4个串行

3存储其结构特点:内、外数据存储器,内、外程序存储器 程序存储器,内外统一编制,地址重合区由EA决定,EA=1访问外部,EA=0访问内部,内部数据存储器:00H~20H由32个寄存器组成,每八个一组,21H~2FH位寻址区,30H~FFH用户存储区,内外存储地址有指令区分MOVSMOV SFR特殊功能寄存器:ACC、B、SP、DPTR、PSW、IO宿存器 4.CPU时序电路:振荡周期(1)、状态周期(2)、机器周期(12)、指令周期、CPU访问指令时两次读指令,访问外部程序存储器是ALE两次有效,S1P2S4P2,4.单片机的引脚功能:PSEN,ALEPROG,EA 5.输入输出口结构:p0准双向口,每位可带8个LSTTTL负载,输出需要上拉电阻(准双向原因:作为输出口,要给锁存器1,屏蔽两个二极管)

p1、p2均为准双向口,带四个负载,p1也需要上拉电阻,p2自带电阻,p2控制信号为1时输出高八位地址 p3每个位有特殊定义 6.单片机的寻址方式:

直接寻址:SFR寻址均为直接寻址

寄存器寻址:乘法指令中B寄存器为寄存器寻 立即数寻址:

寄存器间接寻址:R0,R1 变址寻址:注意PC变址不改变PC值,DPTR变址可以随意到任意位置取数

相对变址寻址:调转指令 位寻址 7.单片机指令:(1)数据传送类指令:MOVMOVXMOVC,XCHXCHDSWAP,PUSHPOP(2)数据传送类指令:

ADDADDCINC,SUBBDEC,MUL(低位A,高位B),DIV(商A,余数B)

(3)逻辑类指令:

ANL,ORL,XRL, RL,RR,RLC,RRC, CPL(按位取反),CLR(请位)

(4)转移类指令

AJMP,LJMP,SJMP,JMP.JZ.JNZ,CJNE,CJE,DJNZ(5)位转移指令

JC rel ;若CY=1,则PC ←PC+ 2 + rel ;若CY=0,则PC ←PC+ 2 JNC rel ;若CY=0,则PC ←PC+ 2 + rel ;若CY=1,则PC ←PC+ 2 JB bit,rel ;若(bit)=1,则PC ←PC+ 3 + rel ;若(bit)=0,则PC ←PC+ 3 JNB bit,rel ;若(bit)=0,则PC ←PC+ 3 + rel ;若(bit)=1,则PC ←PC+ 3 JBC bit,rel ;若(bit)=1,则PC ←PC+ 3 + rel,bit←0 ;若(bit)=0,则PC ←PC+ 3 8.程序设计:

冒泡法,BCD转2进制,2进制转BCD,ASCALL转2进制 9.伪指令:ORG,EQU 10.中断系统

两个外部中断INT0、1,两个定时器中断TI0、TI1,串口中断

中断系统的组成:TCON,SCON,IE,IP

中断响应的条件:

有中断请求; EA=1;

IE相应的中断位为1;CPU执行指令最后一个周期;

CPU没有执行同级或者更高级的中断指令; CPU不执行RET,RETI或者读取IEIP的指令

中断响应的过程:

①置位相应的优先级状态触发器,清除相应的中断请求标志(TI和RI除外);

②由硬件自动生成一条长调用指令LCALL,将断点地址(当前PC值)压入堆栈加以保护;

③将中断入口地址装入PC,使程序转向执行中断服务程序。中断响应时间为3~8个机器周期

中断相应返回时: 将优先状态触发器置0; 将返回地址送至PC返回

定时器中断自动清除标志位 外部中断:

(1)电平触发外部清除,或者软件清除(2)边缘触发自动清除 串行口中断软件清除

10.定时器中断:TCON,80H设置(T0低位,T1高位)

工作方式0:13位计数TH位高八位TL低五位表示低五位,工作方式1:16位计数

工作方式2:8位计数,TL方初值,TH计数

工作方式3: TL0不变可做定时计数,用T0的一套,TH0只能定时用T1的一套。T1为方式3时不工作 11.利用定时中断溢出编程

(1)产生方波信号(方波信号的嵌套)

①设置TMOD控制字,确定工作方式;

②计算计数初值并装入计数值寄存器TH0(1)、TL0(1); ③若使用中断系统,则开中断EA=

1、ET0或ET1=1; ④启动定时器/计数器工作(置TR0或TR1)。(2)外部中断的扩展(查询方式,将初值设置为最大)

禁止中断;JBC 12.串行口波特率的计算

方式0:固有频率的12分之一

方式1、3:与三相同与T

1fOSC2SMOD的益处时间有关 32122nx 方式2:固有频率的64分之一

三、ARM单片机

(1)两种工作状态:ARM状态(32位)、THUM状态(16位)

工作状态的切换:BX RN 寄存器最后一位是0切换ABM状态,最后一位是1切换到THUM状态

(2)七种工作模式:用户模式、系统模式、管理模式、外部中断模式、快速中断模式、未定义指令模式、数据访问中止模式

后五个属于“异常模式”,后六属于“特权模式”

(3)ARM7的流水式作业:取指——译码——执行

采用冯诺依曼存储结构 ARM9流水式作业:取指——译码——执行——访存——回写 采用哈佛结构

(4)存储其结构(37个寄存器)

31个通用寄存器、6个标志位寄存器 1.R0~R7八个通用寄存器(7种模式通用)2.R8~R12前六种公用,最后一种自己用一组 3.R13:堆栈指针

R14:子程序连接寄存器(子程序调用时自动将下一条地址送给R14),这两个寄存器用户模式、系统模式公用一组,异常模式每种各一组 4.R15,:PC计数器

5.CPSR:程序状态寄存器 N.V.C.Z.Q.I.F.T.M4~M0 6.SPSR:程序状态备用寄存器,调用子程序将当前CPSR复制给SPSR,用户模式与系统模式没有,异常模式每种一组。

(5)存储类型;

数据类型三种:8位字节、16位半字、32位字

指令类型:16位THUM、32位ARM 大端格式:与正常存储方式相反

小端格式:高字节对应高地址,低字节对应低地址(6)多级存储形式:寄存器组、片上RAM、CASHE、主存储器

(7)异常:(其中异常模式类似于中断)1.种类:按优先级排列

复位、数据中止、FIQ、IRQ、指令预取终止、未定义指令终止、SWI(软件中止)2.异常的相应过程:

保护返回地址:将下一条地址复制到LR子程序连接寄存器中;

保护当前状态寄存器的值:复制CPSR至将要执行模式的SPSR;

强行设置异常模式下CPSR的值;

强制PC从中断向量地址取出指令执行;

可以设置中断禁止位;

3.中断的返回

将返回的值写入PC中

恢复CPSR的值

清除冲断禁止位

4.异常返回地址的确定(LR 在复制时已自动减4)

(1)软件中止:直接返回(2)未定义指令:直接返回

(3)FIQ、IRQ、指令预取中止:均减四返回

(4)数据中止:减八返回

(8)寻址方式

立即寻址:MOV R0, #0xFF00(8位位图)寄存器寻址:MOV R2, R3 寄存器移位寻址:MOV R0, R1, LSL#4(6种类型的移位操作)

寄存器间接寻址:LDR R1,[R2] 变址寻址:LDR R0, [R1,#8](前变址寻址);

LDR R0, [R1,#8]!(自动变址寻址); LDR R0, [R1], #2(后变址寻址)

堆栈寻址:STMFD SP!, {R4-R7, LR}(4种类型的堆栈操作)块复制寻址:LDMIA R1!,{R2-R4,R5}(4种块复制寻址操作)

相对寻址:BL SUBR(9)指令集: 数据传送:MOV、MVN 算术运算:ADD、ADC、SUB、SBC、RSB、RSC、MUL、MLA、UMULL、UMLAL、SMULL、SMLAL 逻辑运算:AND、ORR、EOR、BIC 比较和测试:CMP、CMN ARM程序状态访问指令:MSR ARM存储器访问指令

单一数据:LDR、STR、LDRB、STRB 批量数据:LDM、STM(IA、IB、DA、DB)数据交换:SWP ARM分支指令:B、BL、BX(10)伪指令与程序设计 1.伪指令

ADR:小范围加载指令,将相对偏移量加载到某个寄存器中,只能用一条指令来实现,若不能用一条指令来实现则编译错误

ADRL:中范围加载指令,将PC的相对偏移量加载到某个寄存器中,必须用两条指令来实现,LDR:将某个32位偏移量加载到寄存器中

声明变量:

全局变量:GBLA,GBLL,GBLS 局部变量:LCLA,LCLL,LCLS 变量赋值:SETA,SETL,SETS 声明寄存器列表:RLIST 数据定义伪指令:DCB DCDU DCWU 分配一块字节内存单元伪操作SPACE(%)格式:标号 SPACE expr 或 标号 % expr 声明数据缓冲池(文字池)伪操作LTORG 格式: LTORG 段指示伪操作AREA 格式:AREA 段名 {,属性1} {,属性2}… 程序入口伪操作ENTRY 格式:ENTRY(11)基本ATPCS规则

1.子程序调用过程中寄存器的使用规则

子程序间通过寄存器R0~R3来传递参数

在子程序中,使用寄存器R4~R11来保存局部变量 寄存器R12用作子程序内部调用的scratch寄存器 寄存器R13用作数据栈指针,记作sp或SP 寄存器R14用作链接寄存器,记作lr或LR 寄存器R15是程序计数器,记作pc或PC。2.数据栈的使用规则;

数据栈为满递减FD类型,并对数据栈的操作是8字节对齐的

3.参数的传递规则。

(a)参数个数可变的子程序参数传递规则

(b)参数个数固定的子程序参数传递规则(c)子程序结果返回规则

四、存储器与接口技术

1.SRAM:静态随机访问存储

(1)组成:地址线、数据线、读写控制、片选信号线(2)工作原理:读写均先输送地址,在进行数据的输入和输出

(3)SRAM与CPU的链接: 2.DRAM:

有行地址和列地址,工作时有地址锁存器,先输送行地址在输送列地址,选中单元后输送单元,读数据时需要刷新电路

3.SDRAM:与SRAM相比多了同步时钟信号,同时增添了BLOCK,地址分行地址、列地址,也需要刷新电路,BLOCK为最大读写单元,引脚BA选择块儿 4.FLASH:

(1)NOR FLASH:存储容量绞小,读速度较快,采用线性寻址,可直接找到存储位置

(2)HAND FLASH:存储密度大,写入和擦除速度较快,有BLOCK存储单元,有块儿地址,页地址,页内地址,数据地址线复用,传送地址需要四个周期

5.MCS-51单片机

P0口作为地址线低八位和数据线,所以需要地址锁存器,p0口分时复用,由ALE管理,P2输出地址高八位,PSEN接程序存储器使能端OE 进行存储其扩展时可用与门或者先选来链接存储器片选信号进行扩展。

链接程序存储器数据存储器复用时,将PSEN 与RD相与和选通相连连 6.ARM(S3C2410)存储机制:

(1)与SRAM、DRAM相连(2)高速存储机制:CASHE(3)NMUI 接口设计:

(1)HAND FLASH启动:将地址前4KB 的代码作为启动代码

(2)ROM启动: 可选择16位或者32位的存储器,通过M1、M0进行选择 在与存储器进行连接时,注意地址线,若存储器为8位直接位位对应,16位是错开一位,32位时错开两位 7.接口 1.RS-232C 信号电平与逻辑

RS-232C信号采用负逻辑,即以+12V电平视为逻辑“0”,-12V电平视为逻辑“1”

串行接口电路中需要在TTL标准与RS-232C标准之间进行电平转换 2.SPI接口

总线定义及信号线构成 传输技术:同步、全双工

SPI采用同步、全双工串行传输技术,也称为同步串行总线接口;SPI总线(Serial Peripheral Interface)称为串行外围设备接口 3.USB 总线定义及信号线构成,半双工传输 三种设备Host、Device和HUB USB(Universal Serial Bus)即通用串行总线,主要用于PC与外围设备互连。USB的输出特性是差分驱动、支持半双工方式,接收采用差分接收 USB体系结构中包括三种设备 Host(即主控制器)Device(设备)

HUB(集线器,也是设备)4.I2C总线

总线定义及信号线构成,信号线连接方式 总线仲裁

I2C总线定义了两根传输线:SDA(串行数据)和SCL(串行时钟),都是双向传输线,通过电阻上拉到正电源,总线空闲时都是高电平5.I2S总线

总线定义及信号线构成 数据传输格式

I2S总线(Inter-IC Sound Bus集成电路内置音频总线 串行数据高位MSB在先,发送器和接收器可以有不同的字长无论有多少位有效数据,最高位MSB总是出现在IISLRCK变化后的第二个IISCLK脉冲处。MSB位置固定,LSB位置取决于字长。这就使得接收端与发送端可以不同的有效位数。如果接收端能处理的有效位数少于发送端的,则可以放弃数据帧中多余的低位数据;如果接收端能处理的有效位数多于发送端的,则剩余低位自行补0。这种同步机制使得数字音频设备的互连更加方便,而且不会造成数据错位

第二篇:嵌入式系统复习总结

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

二、硬件设计的步骤:1需求和功能分析,这是系统设计的首要任务和依据。2设计方案的规划,主要操作有构造系统体系结构;软硬件功能划分;性能指标评估;可维护性;3核心部件选型,核心部件通常指系统的处理器、微控制器或DSP等;4主要部件选型,主要部件有存储器、测试接口、外设接口等;5 基础部件选型,基础部件指系统设计所需的电源电路、时钟电路、复位电路、低功耗电路等;6 原理图设计;7 PCB设计;8 系统调试;9产品维护和升级。

三、嵌入式操作系统EOS(Embedded Operating System):嵌入式应用软件的基础和开发平台,它是一段嵌入在目标硬件中的软件,用户的其他应用程序都建立在嵌入式操作系统之上。目前有:linux、uClinux、WinCE、Uc/OS-II、VxWorks等,它们具有实时性高、可靠性好、可裁剪、体积小等特性。实时系统是指一个能够在指定或者确定的时间内完成系统功能以及对外部或内部、同步或异步时间作出响应的系统。嵌入式实时操作系统(Real Time Embedded Operating System)是一种实时的、支持嵌入式系统应用的操作系统,是嵌入式系统(包括硬、软件系统)极为重要的组成部分。

四、S3C44B0X:功能:

 2.5V ARM7TDMI内核,带有8K高速缓存器(SAMBAII 1通道多主IIC-BUS控制器;

总线体系结构);  1通道IIS-BUS控制器;

 外部存储器控制器(FP/EDO/SDRAM控制,片选逻 5个PWM定时器核1通道内部定时器;

辑);  看门狗定时器;

 LCD控制器(最大支持256色STN,LCD具有专用 71个通用I/O口8通道外部中断源;

DMA);  功耗控制:具有普通、慢速、空闲核停止模式;  2通道通用DMA、2通道外设DMA并具有外部请求 8通道10位ADC;

引脚;  具有日历功能的RTC;

 2通道UART,带有握手协议1通道SIO;  具有PLL的片上时钟发生器。

5种模式:

正常模式:正常运行模式;低速模式:不加PLL 的低时钟频率模式;

空闲模式:只停止CPU 的时钟;停止模式:停止所有的时钟;

LCD的SL空闲模式:SL 空闲模式的进入将导致 LCD 控制器开始工作。此时,CPU和除LCD控制器外的所有外设都停止工作。

五、嵌入式最小系统是指由保证嵌入式微处理器可靠工作所必需的基本电路组成的系统,通常包括处理器单元、时钟单元、复位单元、存储器单元、供电单元和调试接口。基于ARM的嵌入式最小系统基本组成主要包括:基于ARM核的微处理器、电源电路、复位电路、时钟电路、存储器电路(FLASH和SDRAM)、UART接口电路和JTAG调试接口。

六、异常处理的基本步骤:1将下一条指令的地址存入相应连接寄存器

LR,将CPSR复制到相应的SPSR中。2根据异常类型,强制设置CPSR的运行模式位。3强制PC从相关的异常向量地址取下一条指令执行,从而跳转到相应的异常处理程序处。如果异常发生时,处理器处于Thumb状态,则当异常向量地址加载入PC时,处理器自动切换到ARM状态。

异常处理完毕之后,ARM微处理器会执行以下几步操作从异常返回:1将连接寄存器LR的值减去相应的偏移量后送到PC中。2将SPSR复制回CPSR中。若在进入异常处理时设置了中断禁止位,要在此清除。

七、调用:

1、汇编访问C变量全局:汇编可通过地址间接访问在C语言中声明过的全局变量。通过使用important关键词引入全局变量,并利用ldr

与str指令根据全局变量的地址访问他们。

2、C语言调用汇编:汇编语言设计首先遵守atpcs。首先在汇编文件需要使用EXPORT为操作来声明,使得本程序可以被其他程序调用。

同时要在C程序调用汇编程序之前要在C程序中使用extern关键字作为引入的汇编程序的声明;

3、汇编调用C:汇编语言设计首先遵守atpcs。需要在汇编中使用IMPORT伪操作来声明对应的C语言程序。在汇编语言程序中通过BL

指令来调用子程序。

八、嵌入式系统特点:1“专用”计算机系统,2运行环境差异很大,3比通用PC资源少,4功耗低、体积小、集成度高、成本低,5具有完整的系统测试和可靠性评估体系,6具有较长的生命周期7需要专用开发工具和方法进行设计,8包含专用调试电路,9多学科知识集成系统。应用范围:1汽车;2工业控制;3通信设备;4消费电子5商业终端6航空航天、军事需求。

嵌入式应用的多样性,造就了嵌入式微处理器的多样性,32位嵌入式RISC处理器产品主要有MIPS公司的MIPS,IBM公司的PowerPC系列,Sun公司的Sparc和ARM公司的基于ARM核系列。

九、嵌入式系统的设计过程:(1)系统定义与需求分析(2)系统设计方案的初步确立(3)初步设计方案性价比评估与方案评审论证(4)完善初步方案、初步方案实施(5)软硬件集成测试(6)系统功能性能测试及可靠性测试ARM微处理器的工作状态一般有两种,并可在两种状态之间切换:第一种为ARM状态,此时处理器执行32位的字对齐的ARM指令;第二种为Thumb状态,此时处理器执行16位的、半字对齐的Thumb指令。在程序的执行过程中,微处理器可以随时在两种工作状态之间切换,并且,处理器工作状态的转变并不影响处理器的工作模式和相应寄存器中的内容。但ARM微处理器在开始执行代码时,应该处于ARM状态。

十、ARM微处理器:7种运行模式

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

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

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

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

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

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

未定义(und):当未定义的指令执行时进入该模式,可用于支持硬件协处理器的软件仿真。除用户模式以外,其余的所有6种模式称之为非用户模式,或特权模式;其中除去用户模式和系统模式以外的5种又称为异常模式,常用于处理中断或异常,以及需要访问受保护的系统资源等情况。工作状态一般有两种,并可在两种状态之间切换:第一种为ARM状态,此时处理器执行32位的字对齐的ARM指令;第二种为Thumb状态,此时处理器执行16位的、半字对齐的Thumb指令。处理器工作状态的转变并不影响处理器的工作模式和相应寄存器中的内容。但ARM微处理器在开始执行代码时,应该处于ARM状态。

十一、ARM寄存器: ARM处理器共有37个寄存器。其中包括:31个通用寄存器,包括程序计数器(PC)在内。这些寄存器都是32位寄存器。以及6个32位状态寄存器。

ARM指令集可以分为6大类:数据处理指令(算术运算指令;逻辑运算指令;数据传送指令;比较指令;测试指令;乘法指令);Load/Store指令;跳转指令;程序状态寄存器处理指令;协处理器指令;异常产生指令。

ARM处理器支持的基本寻址方式有7种:立即寻址;寄存器寻址;寄存器间接寻址;基址加偏址寻址;堆栈寻址;快拷贝寻址;相对寻址。

两种常见的ARM开发环境及其特点:ADS/SDT IDE开发环境:它由ARM公司开发,使用了CodeWarrior公司的编译器; 集成了GNU开发工具的IDE开发环境:它由GNU的汇编器as、交叉编译器gcc、和链接器ld等组成。

十二、Boot Loader 就是在操作系统内核运行之前运行的一段小程序。通过这段小程序,我们可以初始化硬件设备、建立内存空间的映射图,从而将系统的软硬件环境带到一个合适的状态,以便为最终调用操作系统内核准备好正确的环境。BootLoader是严重地依赖于硬件而实现的,特别是在嵌入式世界。因此,在嵌入式世界里建立一个通用的 Boot Loader 几乎是不可能的。尽管如此,我们仍然可以对BootLoader归纳出一些通用的概念来,以指导用户特定的 Boot Loader 设计与实现。

BootLoader包含两种不同的操作模式:启动加载(Boot loading)模式:Boot Loader 从目标机上的某个固态存储设备上将操作系统加载到 RAM 中运行,整个过程并没有用户的介入。下载(Downloading)模式:Boot Loader 将通过串口连接或网络连接等通信手段从主机(Host)下载文件

嵌入式系统的发展趋势:

1即将迎来以ARM为核心的32位浪潮

嵌入式系统应用的高低端 :以4位、8位单片机或为控制器(MCU)为核心的嵌入式系统,早已广泛的应用于工业控制、军事、航空航天、家电等各个领域,极大地推动了IT技术的发展。目前这些属于最低端应用的嵌入式系统。这些低端应用市场范围非常广泛,局部带动了低端应用。

即将来临的32位浪潮:随着嵌入式系统的不断发展,当应用越来越复杂、使用范围越来越广时,8位处理器已经无法满足的需要,此时32位SoC为高性能嵌入式系统开发提供了功能丰富的硬件平台,也为实时嵌入式操作系统的广泛应用提供了硬件基础。因此,以32位处理器作为高性能嵌入式系统开发的核心已是嵌入式技术发展的必然趋势。

32位向ARM 转移,形成ARM市场主导地位:在嵌入式微处理器中,虽然有多种嵌入式处理器可供选择,但是ARM处理器核以其低功耗、高性能等突出优点已在32位嵌入式应用中稳居第一。ARM已成为移动通信、手持计算、多媒体数字消费等嵌入式解决方案事实上的标准。优良的性能和广泛的市场定位极大地增加和丰富了ARM的资源,加速了ARM处理器面向各种应用的系统芯片的开发和发展。

2嵌入式系统与Internet的融合:

为适应嵌入式分布处理结构和应用上网需求,面向21世纪的嵌入式系统要求配备标准的一种或多种网络通信接口。针对外部联网要求,嵌入设备必需配有通信接口,相应需要TCP/IP协议簇软件支持;由于家用电器相互关联(如防盗报警、灯光能源控制、影视设备和信息终端交换信息)及实验现场仪器的协调工作等要求,新一代嵌入式设备还需具备IEEE1394、USB、CAN、Bluetooth或IrDA通信接口,同时也需要提供相应的通信组网协议软件和物理层驱动软件。为了支持应用软件的特定编程模式,如Web或无线Web编程模式,还需要相应的浏览器,如HTML、WML等。3未来嵌入式系统的发展趋势

近几年,在消费电子、工业应用、军事国防、网络设备等领域的嵌入式应用,为中提供了难得的发展机遇。另外,嵌入式技术又不断地刺激新的技术的产生——信息家电、医疗电子病历、微小型智能武器等方面应用也日益广泛,应用深度也进一步加强。

互联网的普及、微电子加工工艺的提高、3C技术的普遍融合、使用者需求的增多、信息服务应用的生活化、技术的渗透性和融合性、设备的关联性以及个性化服务的普遍需求。因而,移动化处理信息,即随时随地的获取信息、处理信息等,成为信息社会把握先机而制胜的必然武器。日益发展的嵌入式已能够满足人们随时随地利用任何设备和手段来接收、处理和发布信息的需求。低成本、低功耗的消费电子和宽带、无线通信以及处理运算的高效计算结合技术将进一步刺激和加速嵌入式技术的发展,造就更广阔的市场空间。

第三篇:嵌入式复习总结

一:嵌入式系统概述 1嵌入式定义

2嵌入式与通用计算机

A.嵌入式系统具有应用针对性

B.嵌入式系统硬件一般对扩展能力要求不高

C.嵌入式一般采用专门针对嵌入式应用设计的处理器 D.嵌入式不一定有操作系统 E.嵌入式一般有实时性要求

F.嵌入式一般有较高的成本控制要求 G.嵌入式系统软件一般有固化的要求

H.嵌入式系统软件一般采用交叉开发的模式

I.嵌入式在体积,功耗,可靠性和环境适应性上一般有特殊要求 J.嵌入式标准化程度不高 3嵌入式系统的组成

嵌入式系统包括硬件和软件两个组成部分

嵌入式系统硬件部分一嵌入式处理器为核心,扩展存储器和外部设备控制器 嵌入式系统软件运行在硬件平台之上,硬件抽象层向下管理硬件资源,向上为操作系统提供一个虚拟硬件平台,是操作系统支持多硬件平台的关键 4嵌入式的分类

A.按处理器位宽分类 B.按有无操作系统

C.按实时性(硬实时:一定,软实时:从统计角度)D.按应用分类

二:嵌入式处理器 1嵌入式处理器的原理

A.嵌入式的指令系统(一条完整的指令包括操作码和操作数)B.嵌入式处理器的类型

根据结构可分为哈弗结构(数据指令分开存储,使用两套彼此独立的存储总线,故可以同时访问程序和指令)和冯诺依曼结构(程序指令和数据采用统一的存储器,寻址不能同时进行)根据指令格式的不同可以分为复杂指令计算机处理器(CISC)和精简指令计算机处理器(RISC)RISC的最大特点是指令长度固定,指令种类少,寻址方式种类少,大多数是简单指令且都能在一个时钟周期内完成,易于设计高性能的流水线。

RISC还有特点(1)芯片面积小(2)开发时间段(3)性能高 C.嵌入式处理器的结构(1)运算器

包括算数逻辑单元,累加器,暂存器及标志寄存器等(2)控制器

指令寄存器,指令译码器,逻辑控制电路(3)寄存器阵列及连接各部分的内部总线 D.大端方式和小端方式

E.影响嵌入式处理器性能的因素(1)主频

(2)指令效率与单指令执行所需要的时间(3)处理器的字长(4)内存总线速度(5)高缓存设计

(6)CPU的系统构架 2.嵌入式处理器的分类(1)嵌入式微处理器(2)嵌入式微控制器(3)嵌入式DSP(4)嵌入式片上系统 3.嵌入式处理器的特点

(1)嵌入式处理器种类繁多,功能多样且性能跨度大(2)嵌入式处理器功耗低

(3)提供灵活的地址空间寻址能力(4)支持灵活的功耗控制

(5)功能密集,提供丰富的外部接口 4.8051单片机

(1)采用哈弗结构,除了一个8位处理器核心外,还集成了中断控制器,RAM,ROM,定时器和通用异步收发器。(2)主要特征:

5ARM处理器及实例 A.ARM处理器片内总线

6嵌入式X86处理器及实例 7DSP处理器及实例

实际应用中有两种形式:一:一种是作为主处理器的协处理器,,,8SOC处理器及实例

9:嵌入式处理器的选择

10:嵌入式处理器的JTAG调试接口 它在嵌入式开发过程中的重要作用 A.硬件基本功能的测试 B.软件下载 C.软件调试 D.Flash烧写

三:嵌入式系统总线

1:计算机总线的基本概念

2嵌入式系统总线的特点 A.机械结构上的差别

B.嵌入式系统对总线标准功能的补充 3:ISA总线原理

ISA总线最初是IMB公司为PC机制定的总线标准,采用8位数据宽度,能寻址1MB的地址空间。1984年IBM推出PC/AT系统,ISA从8位扩充到16位,地址线从20扩充到24条,可寻址空间达到16MB,16位ISA总线时钟频率为8MHz,峰值数据传输速率为8MB/S。A:ISA总线信号(1)地址信号(2)数据信号(3)总线命令信号(4)时序控制信号(5)DMA相关信号(6)中断相关信号

(7)总线数据宽度控制信号(8)其他信号 4:PCI总线原理

在嵌入式中以PC/104,CompactPCI,miniPCI等形式出现 A:pci总线的特点(1)高性能

(2)资源丰富且成本低(3)易于使用(4)可扩展性好(5)支持不同的平台 B:PCI总线信号(1)系统信号

(2)地址与数据信号(3)接口控制信号(4)总线仲裁信号(5)错误告信号(6)中断信号(7)附加信号

(8)64位总线扩展信号(9)JTAG边界扫描信号 C:PCI设备的配置空间

PCI配置空间是PCI设备上一组256字节的特殊功能寄存器,用于存储与设备相关的信息,计算机系统根据配置空间实现对PCI总线设备的管理。(1)配置空间的功能与组织(2)设备标识

(3)设备控制寄存器(4)设备状态寄存器(5)基址地址寄存器 5:PC/104系列总线标准

6:CompactPCI总线

CompactPCI是PCI总线的另一种工业版本,采用Eurocard结构标准,主要应用在工业,军事,电信等行业。除了兼容桌面PCI总线所有的硬件和软件资源外,还有一个重要特点——支持热插拔,该技术对实现高可靠的计算机系统至关重要。四:嵌入式系统常见电路

系统复位与电源监控,I2C总线,实时时钟和RS-232串行接口是嵌入式系统最常见的四种基本电路

1系统复位与电源监控 A.复位有四种类型(1)上电自动复位(2)手动复位(3)看门狗复位

看门狗是一种定时器,必须由软件定期对该定时器进行清零,否则计时器到期将产生系统复位信号,看门狗可以使系统在软件崩溃/死机后自动复位。(4)系统异常复位

B.复位与电源管理控制器

为了产生更可靠的系统复位,可以用专用复位管理控制器如MAX705 2I2C总线原理

I2C是一种简单的只有两条信号线的串行总线,在嵌入式中应用很广泛,尽管简单,她仍然能支持多主设备,并且具有总线仲裁的功能。3.实时时钟 4.RS-232接口 RS-232串行接口是实现计算机与计算机以及计算机与外围设备连接的一种简单且成本低的方法,除了实现一般的数据通信外,在系统调试中还常用于实现程序下载和系统控制台的功能。

RS-232接口支持全双工传输方式,可同时收,发数据,接受方的接收比特率与发送方必须相同。

是串行接口,采用负逻辑。第五章:嵌入式系统存储器 1静态随机存储器

SRAM容量小,成本高,在PC机中已经不作为主存使用,但他的接口简单,在嵌入式系统中还有很多应用,常与单片机,DSP等处理器配套使用。比如

IDT7146静态RAM存储器 2双端口存储器(DPRAM)双端口RAM是一种很特殊的存储器,有两套读写端口,可以同时被两个处理器访问,在嵌入式系统中常用于实现两个处理期间的紧耦合数据通信,相当于一个共享存储区。3同步动态随机存储器(DRAM)DRAM容量大,成本低,在嵌入式系统应用很广泛 4NOR Flash Flash是嵌入式系统中常用的一类非易失性存储器分为NOR flash和NAND flash两类 5NAND flash 广泛应用于手机,PDA,数码相机,MP3播放器等 6串行EEPROM 小型价格低廉的EEPROM可作为flash的替代品

六嵌入式系统引导程序

引导程序是计算机系统上电或复位后,实现系统初始化,将系统引入一个可运行的状态,并将操作系统加载到系统RAM中运行的程序。1.PC机中的引导程序

BIOS的主要功能是为计算机提供最底层,最直接的硬件设置和控制,包括硬件初始化,上电自测试,I/O设备管理,中断服务,引导加载操作系统等。

BIOS并不直接加载操作系统,而是加载操作系统引导程序,再把执行权交给引导程序,由引导程序继续完成操作系统的后续加载任务。2.嵌入式系统中的引导程序 典型的嵌入式系统中,软件分为4个部分:引导程序,操作系统内核,文件系统和应用程序。应用程序和操作系统内核之间可能包括嵌入式图形用户界面。

在有操作系统的嵌入式计算机中,引导程序是必备的软件,完成上电初始化,加载操作系统并最终启动应用系统,在嵌入式系统中,通常由引导程序独立完成硬件初始化,上电自测试及操作系统加载启动等任务。A.嵌入式系统引导程序的主要功能(1)硬件初始化

(2)加载启动嵌入式操作系统(3)提供人机交互命令

(4)支持目标机与开发机之间的通信(5)支持FLASH烧写

B.引导程序有两种模式:启动加载模式和下载模式,系统的最终用户只关心启动加载模式,而下载模式对系统的开发与维护有很重要的作用。3.嵌入式系统引导程序的启动过程

A.引导程序的执行过程可分为两个阶段:阶段1和阶段2.阶段1完成硬件初始化,工作模式设置等与硬件平台密切相关的操作,该阶段的程序代码一般用汇编语言编写,阶段2完成一些相对高级,复杂的功能,如通信,文件下载,FLASH烧写,该阶段的程序代码一般由C语言实现。B.阶段1(1)硬件设备初始化

(2)为加载引导程序的阶段2代码准备RAM空间(3)将阶段2二进制代码复制到RAM空间中(4)设置好堆栈指针(5)执行阶段2程序代码 C.阶段2(1)其他硬件设备的初始化(2)检测系统内存映射

(3)将操作系统内核映像及文件系统映像从FLASH读取到系统RAM中(4)为内核设置启动参数(5)调用内核 4.U-Boot 是一种应用广泛的嵌入式引导程序 七嵌入式操作系统

嵌入式实时操作系统具有模块化,可移植,可定制,高实时,高可靠等特点。,1概述 A.与桌面 操作系统相比,嵌入式操作系统一下特点:(1)模块化,可定制(2)实时性强(3)资源占用少(4)稳定性要求高(5)代码有固化要求

(6)具有良好的硬件适应性,便于移植 2.嵌入式操作系统硬件抽象层 3嵌入式操作系统实时性 A.实时系统具有以下特点

(1)实时系统具有复杂的约束性(2)实时任务的执行具有可预测性(3)实时系统具有高可靠性的要求(4)实时系统需要与外部环境进行交互(5)实时系统需要满足一定的峰值负荷要求 B.嵌入式系统实时性 C.裸机中的实时软件设计 D.嵌入式实时操作系统

(1)通用操作系统与嵌入式操作系统差异 a.任务调度策略不同 b.内存管理方式不同 c.中断处理方式不同

d.共享资源的互斥访问机制不同

e.系统调用和系统内部操作的时间开销有差别 f.系统的可重入性 g.辅助工具

(2)实时操作系统的一些要求 a.直接访问存储 b.高速缓存

(3)评价实时操作系统的方面 a.任务调度机制 b.内存管理 c.最小内存开销

d.中断禁止时间与中断延迟时间 e.任务切换时间 4.嵌入式Linux A.嵌入式Linux的特点(1)支持多硬件平台(2)高效稳定的系统内核(3)开放源码,软件丰富(4)完善的开发工具(5)完善的网络通信(6)支持多种文件系统(7)支持多种图形用户界面 B.常见的嵌入式Linux操作系统(1)RTLinux(2)uCLinux(3)EOSunx和Midnux(4)

第四篇:嵌入式系统相关知识点总结

嵌入式系统的定义及特点

定义:嵌入式系统是以应用为中心、以计算机技术为基础,软、硬件可裁剪,适应于应用系统对功能、可靠性、成本、体积、功耗等方面有特殊要求的专用计算机系统。

特点:(1)嵌入式系统是面向特定应用的。嵌入式系统中的CPU是专门为特定应用设计的,具有低功耗、体积小、集成度高等特点,能够把通用CPU中许多由板卡完成的任务集成在芯片内部,从而有利于整个系统设计趋于小型化。

(2)嵌入式系统涉及先进的计算机技术、半导体技术、电子技术、通信和软件等各个行业。是一个技术密集、资金密集、高度分散、不断创新的知识集成系统。

(3)嵌入式系统的硬件和软件都必须具备高度可定制性。

(4)嵌入式系统的生命周期相当长。嵌入式系统和具体应用有机地结合在一起,其升级换代也是和具体产品同步进行的。

(5)嵌入式系统本身并不具备在其上进行进一步开发的能力。在设计完成以后,用户如果需要修改其中的程序功能,必须借助于一套专门的开发工具和环境。

(6)为了提高执行速度和系统可靠性,嵌入式系统中的软件一般都固化在存储器芯片或单片机中,而不是存贮于磁盘等载体中。

特点也可答:1.系统内核小。2.专用性强。3.系统精简。4.高实时性的系统软件(OS)是嵌入式软件的基本要求。5.嵌入式软件开发要想走向标准化,就必须使用多任务的操作系统。6.嵌入式系统开发需要开发工具和环境。7.嵌入式系统与具体应用有机结合在一起,升级换代也是同步进行,所以具有较长的生命周期。8.为了提高运行速度和系统可靠性,嵌入式系统中的软件一般都固化在存储器芯片中。

操作系统在嵌入式系统中所起的作用(四个)

嵌入式操作系统(嵌入式linux学习)的功能

嵌入式操作系统除具备了一般操作系统(嵌入式linux系统)最基本的功能,如任务调度、同步机制、中断处理、文件处理等外,还有以下两个方面的功能:

1.构成一个易于编程的虚拟机平台

嵌入式操作系统构成一个虚拟机平台,EOS把底层的硬件细节封装起来,为运行在它上面的软件(如中间件软件和各种应用软件)提供了一个抽象的编程接口。软件开发在这个编程接口的上进行,而不直接与机器硬件层打交道。

2.系统资源的管理者

嵌入式操作系统是一个系统资源的管理者,负责管理系统当中的各种软硬件资源,如处理器、内存、各种I/O设备、文件和数据等,使得整个系统能够高效、可靠地运转。

嵌入式操作系统负责嵌入式系统的全部软、硬件资源的分配、调度、控制、协调并发活动。它必须体现其所在系统的特征,能够通过装卸某些模块来达到系统所要求的功能。

嵌入式操作系统是嵌入式系统应用的核心.嵌入式操作系统,大大地提高了嵌入式系统硬件工作效率,并为应用软件开发提供了极大的便利。

操作系统的作用主要体现在两方面:

1.屏蔽硬件物理特性和操作细节,为用户使用计算机提供了便利 2.有效管理系统资源,提高系统资源使用效率

Linux与嵌入式使用的uclinux操作系统的关系

Linux与UNIX系统兼容,开放源代码。现在广泛应用于服务器领域。而更大的影响在于它正逐渐的应用于嵌入式设备。uClinux正是在这种氛围下产生的。所以uClinux就是Micro-Control-Linux,字面上的理解就是“针对微控制领域而设计的Linux系统”。

uClinux是针对控制领域的嵌入式linux操作系统,它从Linux 2.0/2.4内核派生而来,沿袭了主流Linux的绝大部分特性。uClinux同标准Linux的最大区别就在于内存管理。标准Linux是针对有MMU的处理器设计的。在这种处理器上,虚拟地址被送到MMU,MMU把虚拟地址映射为物理地址。通过赋予每个任务不同的虚拟—物理地址转换映射,支持不同任务之间的保护。对于uCLinux来说,其设计针对没有MMU的处理器,不能使用处理器的虚拟内存管理技术,仍然采用存储器的分页管理。

什么是内核?

内核是操作系统最基本的部分。它是为众多应用程序提供对计算机硬件的安全访问的一部分软件,这种访问是有限的,并且内核决定一个程序在什么时候对某部分硬件操作多长时间。内核,是一个操作系统的核心。是基于硬件的第一层软件扩充,提供操作系统的最基本的功能,是操作系统工作的基础,它负责管理系统的进程、内存、设备驱动程序、文件和网络系统,决定着系统的性能和稳定性。

什么是Bootlonder? 答案一搜狗百科:启动程序(英语:boot loader,也称启动加载器,引导程序)位于电脑或其他计算机应用上,是指引导操作系统启动的程序。引导程序启动方式及程序视应用机型种类而不同。BIOS开机完成后,bootloader就接手初始化硬件设备、创建存储器空间的映射,以便为操作系统内核准备好正确的软硬件环境。BootLoader是依赖于硬件而实现的,特别是在嵌入式领域,为嵌入式系统建立一个通用的BootLoader是很困难的。

答案二百度百科:Boot Loader 是在操作系统内核运行之前运行的一段小程序。通过这段小程序,我们可以初始化硬件设备、建立内存空间的映射图,从而将系统的软硬件环境带到一个合适的状态,以便为最终调用操作系统内核准备好正确的环境。通常,Boot Loader 是严重地依赖于硬件而实现的,特别是在嵌入式世界。因此,在嵌入式世界里建立一个通用的 Boot Loader 几乎是不可能的。尽管如此,我们仍然可以对 Boot Loader 归纳出一些通用的概念来,以指导用户特定的 Boot Loader 设计与实现。

使用带uclinux操作系统的嵌入式系统应该注意什么问题?

uClinux的内存管理

uClinux同标准Linux的最大区别就在于内存管理。对于uCLinux来说,其设计针对没有MMU的处理器,不能使用处理器的虚拟内存管理技术,仍采用存储器的分页管理,系统在启动时把实际存储器进行分页。在加载应用程序时程序分页加载。这一点影响了系统工作的很多方面。

uClinux系统对于内存的访问是直接的,所有程序中访问的地址都是实际的物理地址。操作系统对内存空间没有保护,各个进程实际上共享一个运行空间。由于应用程序加载时必须分配连续的地址空间,而针对不同硬件平台的可一次成块,分配内存大小限制是不同,所以开发人员在开发应用程序时必须考虑内存的分配情况并关注应用程序需要运行空间的大小。另外由于采用实存储器管理策略,用户程序同内核以及其它用户程序在一个地址空间,程序开发时要保证不侵犯其它程序的地址空间,以使得程序不至于破坏系统的正常工作,或导致其它程序的运行异常。

从内存的访问角度来看,开发人员的权利增大了(开发人员在编程时可以访问任意的地址空间),但与此同时系统的安全性也大为下降。uClinux的多进程处理

uClinux没有MMU管理存储器,在实现多个进程时(fork调用生成子进程)需要实现数据保护。uClinux的这种多进程实现机制同它的内存管理紧密相关。uClinux针对没有mmu处理器开发,所以被迫使用一种flat方式的内存管理模式,启动新的应用程序时系统必须为应用程序分配存储空间,并立即把应用程序加载到内存。缺少了MMU的内存重映射机制,uClinux必须在可执行文件加载阶段对可执行文件reloc处理,使得程序执行时能够直接使用物理内存。

编程实现五个点的中值滤波和均值滤波

clear all;t=0:0.01:1;f2=5;%生成一个正弦信号y; y1=1*sin(2*pi*f2*t);%y1=square(2*pi*f2*t);%向y中加入噪声信号生成x;x1=y1+0.1*randn(1,101);figure(1)subplot(2,1,1);plot(t,y1,'r');title('生成一个正弦信号y');grid;legend y;subplot(2,1,2);plot(t, x1,'r');title('向y中加入噪声信号生成x');grid;legend x;X=1:length(x1)for X=1:length(x1)z2=smooth(x1,5);%M=5时的均值滤波 end for X=1:length(x1)figure(2)plot(t,z1,'r');title('M=5时的均值滤波处理后的信号');grid;legend y;for X=1:length(x1)L2= median(x1,5);end figure(3)plot(t,L2,'r');title('M=5时的中值滤波处理后的信号');grid;legend y;

第五篇:嵌入式复习总结a4

一、嵌入式系统基本知识

1、什么是嵌入式系统、分层结构:根据IEEE(国际电气和电子工程师协会)的定义:嵌入式系统是“用于控制、监视或者辅助操作机器和设备的装置”,此定义是从应用上考虑的,嵌入式系统是软件和硬件的综合体,还可以涵盖机电等附属装置;一般定义:“以应用为中心、以计算机技术为基础、软件硬件可裁剪、功能、可靠性、成本、体积、功耗严格要求的专用计算机系统”;微机学会的定义:嵌入式系统是以嵌入式应用为目的的计算机系统。可分为系统级、板级、片级(系统级:各种类型的工控器、PC104模块;板级:各种类型的带CPU的主板及OEM产品;片级:各种以单片机、DSP、微处理器为核心的产品)。分层结构:嵌入式系统:硬件、驱动、操作系统、中间件、应用。

2、嵌入式系统与单片机、PC系统的区别:(单片机与嵌入式系统比较,一般没有操作系统,就没有办法同时运行多个任务,单片机总是运行单个任务)目前嵌入式系统的主流是以32位嵌入式微处理器为核心的硬件设计和基于实时操作系统(RTOS)的软件设计;单片机系统多为4位、8位、16位机,不适合运行操作系统,难以进行复杂的运算及处理功能;嵌入式系统强调基于平台的设计、软硬件协同设计,单片机大多采用软硬件流水设计;嵌入式系统设计的核心是软件设计(占70%左右的工作量),单片机系统软硬件设计所占比例基本相同;单片机学习一般从硬件入手,从硬件体系结构、汇编语言到硬件设计、软件设计;嵌入式系统学习可以从软件入手,从应用层编程到操作系统移植、硬件平台设计较好,按单片机设计的学习流程较难掌握。嵌入式系统与pc系统区别:嵌入式系统一般是专用系统,而PC是通用计算平台;嵌入式系统的资源比PC少得多;嵌入式系统软件故障带来的后果比PC机大得多;嵌入式系统一般采用实时操作系统;嵌入式系统大都有成本、功耗的要求;嵌入式系统得到多种微处理体系的支持;嵌入式系统需要专用的开发工具。

3、常见的嵌入式操作系统有哪些?可分为商用型和免费型。免费型:实时操作系统在价格方面具有优势,目前主要有Linux和μC/OS,稳定性与服务性存在挑战。Linux:是开放源码的,不存在黑箱技术,遍布全球的众多Linux爱好者又是Linux开发的强大技术后盾;Linux的内核小、功能强大、运行稳定、系统健壮、效率高,易于定制剪裁,在价格上极具竞争力;Linux不仅支持x86 CPU,还可以支持其他数十种CPU芯片。嵌入式Linux是指对Linux经过小型化裁剪后,能够固化在容量只有几百K字节或几兆字节的存储器芯片或单片机中,应用于特定嵌入式场合的专用Linux操作系统。主要有RTLinux和CLinux。商用型:实时操作系统功能稳定、可靠,有完善的技术支持和售后服务,但往往价格昂贵,如Vxworks、QNX、WinCE、Palm OS等。VxWorks,是一种嵌入式实时操作系统,具有良好的持续发展能力、高性能的内核以及友好的用户开发环境,在嵌入式实时操作系统领域牢牢占据着一席之地。特点是:可靠性、实时性和可裁减性;它支持多种处理器,如x86、i960、Sun Sparc、Motorola MC68xxx、MIPS、POWER PC等。Windows CE 3.0:一种针对小容量、移动式、智能化、32位、连接设备的模块化实时嵌入式操作系统;针对掌上设备、无线设备的动态应用程序和服务提供了一种功能丰富的操作系统平台,WindowsCE嵌入但不够实时,属于软实时操作系统;由于其Windows背景,界面比较统一认可;操作系统的基本内核需要至少200K的ROM。

4、嵌入式系统的特点:(1)系统内核小:由于嵌入式系统一般是应用于小型电子装置的,系统资源相对有限;(2)专用性强:嵌入式系统个性化很强,其中的软件系统和硬件的结合非常紧密,一般要针对硬件进行系统的移植;即使在同一品牌、同一系列的产品中也需要根据系统硬件的变化和增减不断进行修改;针对不同的任务,往往需要对系统进行较大更改,这种修改和通用软件的“升级”是完全不同的概念;(3)系统精简:嵌入式系统一般没有系统软件和应用软件的明显区分,不要求其功能设计及实现上过于复杂,这样一方面利于控制系统成本,同时也利于实现系统安全;(4)高实时性OS:这是嵌入式软件的基本要求,而且软件要求固态存储,以提高速度。软件代码要求高质量和高可靠性、实时性;(5)嵌入式软件开发走向标准化:嵌入式系统的应用程序可以没有操作系统直接在芯片上运行。为了合理地调度多任务、利用系统资源、系统函数以及和专家库函数接口,用户必须自行选配RTOS开发平台,这样才能保证程序执行的实时性、可靠性,并减少开发时间,保障软件质量;(6)嵌入式系统需要开发工具和环境:其本身不具备自主开发能力,即使设计完成以后,用户通常也是不能对其中的程序功能进行修改,必须有一套开发工具和环境才能进行开发。

二、嵌入式系统的设计原则及开发方法:

1、软硬件协同设计概念:基于体系结构,对系统的软件、硬件进行详细设计,为了缩短产品开发周期,设计往往是并行的(既是先从逻辑入手,设计出功能模块,最后再区分是由硬件还是软件来实现该功能)。举例:SOC系统:嵌入式片上系统,结合许多功能区块,将功能坐在一个芯片上,微处理器核心是通信接口单元等。SOC是追求产品系统最大包容的集成器件,最大特点是成功实现了软硬件无缝结合,直接在处理器片内嵌入操作系统的代码模块,运用VHDL等硬件描述语言,不需要像传统系统设计一样,绘制庞大复杂的电路板,一点一点的连接焊制,只需使用精确的语言,综合时序设计,直接在器件库中调用各种通用处理器标准,通过仿真后,可交付芯片厂家进行生产。

2、项目开发生命周期:(识别需求-提出解决方案-执行项目-结束项目)。系统开发步骤:系统需求分析(规格说明书):确定设计任务和目标,并提炼出设计规格说明书,作为正式设计指导和验收的标准。系统的需求一般分功能性需求和非功能性需求两方面。功能性需求是系统的基本功能,如输入输出信号、操作方式等;非功能需求包括系统性能、成本、功耗、体积、重量等因素。体系结构设计:描述系统如何实现所述的功能和非功能需求,包括对硬件、软件和执行装置的功能划分以及系统的软件、硬件选型等。一个好的体系结构是设计成功与否的关键。硬件/软件协同设计:基于体系结构,对系统的软件、硬件进行详细设计。为了缩短产品开发周期,设计往往是并行的。

系统集成:把系统的软件、硬件和执行装置集成在一起,进行调试,发现并改进单元设计过程中的错误。系统测试:对设计好的系统进行测试,看其是否满足规格说明书中给定的功能要求。

三、ARM处理器体系结构:

1、冯·诺依曼体系结构:程序和数据共用一个存储空间,CPU无法同时访问程序和数据;哈佛体系结构:程序和数据分开存放,CPU可以同时访问程序存储器和数据存储器。(2)CISC:复杂指令集,具有大量的指令和寻址方式;8/2原则:80%的程序只使用20%的指令;大多数程序只使用少量的指令就能够运行。RISC:精简指令集,在通道中只包含最有用的指令;确保数据通道快速执行每一条指令;使CPU硬件结构设计变得更为简单。(3)体系结构与处理器的区别:知识产权核(IP核):电路或核是设计好并经过验证的集成电路功能单元;IP复用意味着设计代价降低(时间,价格);ARM体系结构是知识产权,是IP核的一种,并不是某一具体的芯片,而微处理器一般指与RAM、ROM等硬件固化在一起的某一类芯片。(4)IP核的种类:Soft Cores(“code”)(软核):HDL语言描述;灵活度高,可修改;与工艺独立,可根据具体的加工工艺重新综合;IP很难保护。Firm cores(“code+structure”)(固核):逻辑综合后的描述,与工艺相关。Hard cores(“physical”)(硬核):物理综合后的描述,准备流片,包含工艺相关的布局和时序信息,IP很容易保护,多数的处理器和存储器。

2、ARM的七种基本工作模式:User用户模式:非特权模式,大部分任务执行在这种模式*正常程序执行的模式;FIQ快速中断模式:当一个高优先级(fast)中断产生时将会进入这种模式*高速数据传输和通道处理;IRQ外部中断模式:当一个低优先级(normal)中断产生时将会进入这种模式*通常的中断处理;Supervisor管理模式:当复位或软中断指令执行时将会进入这种模式*供操作系统使用的一种保护模式;Abort数据访问中止模式: 当存取异常时将会进入这种模式*虚拟存储及存储保护;Undef未定义指令中止模式: 当执行未定义指令时会进入这种模式*软件仿真硬件协处理器;System系统模式: 使用和User模式相同寄存器集的特权模式,特权级的操作系统任务。注意:模式之间的转换实际上是寄存器组之间的切换,当使用某种寄存器组,就进入了某种相应的工作模式。(1)寄存器组织(37 寄存器):31 个通用32位寄存器,包括未分组寄器R0-R7、分组寄存器R8-R14、程序计数器PC(R15);6 个状态寄存器。15个通用寄存器(R0 to R14), 以及1或者2个状态寄存器和程序计数器在任何时候都是可以访问的;可访问的寄存器取决于处理器的模式;其它寄存器的状态在支持IRQ, FIQ, 管理员, 中止和未定义模式处理时被切换。*FIR要求速度要快,故其专用的寄存器最多。(2)R0 到 R15 可以直接访问;R0 到 R14 是通用寄存器;R13: 堆栈指针(sp)(通常);每种处理器模式都有单独的堆栈;R14: 链接寄存器(lr);R15 包含程序计数器(PC);CPSR:当前程序状态寄存器,包括代码标志状态和当前模式位;5个SPSRs(程序状态保存寄存器):当异常发生时保存CPSR状态;SPSR和CPSR的功能是:保存ALU当前操作信息、控制允许和禁止中断、设置处理器操作模式。(3)程序状态寄存器:*条件位:N = 1-结果为负,0-结果为正或0;Z = 1-结果为0,0-结果不为0;C =1-进位,0-借位;V =1-结果溢出,0结果没溢出。*中断禁止位:I=1:禁止IRQ;F=1:禁止FIQ。*T Bit:仅ARM xT架构支持;T = 0:处理器处于ARM状态;T=1:处理器处于Thumb状态。*Mode位(处理器模式位):0b10000 User;0b10001 FIQ;0b10010 IRQ;0b10011 Supervisor;0b10111 Abort;0b11011 Undefined;0b11111 System。(4)程序指针PC(r15):当处理器执行在ARM状态:所有指令 32 bits 宽;所有指令必须 word 对齐;所以 pc值由bits [31:2]决定, bits [1:0] 未定义(所以指令不能halfword / byte对齐)。当处理器执行在Thumb状态:所有指令 16 bits 宽;所有指令必须 halfword 对齐;所以 pc值由bits [31:1]决定, bits [0] 未定义(所以指令不能 byte对齐)。

3、ARM的异常:(1)异常定义:内部或外部中断源产生并引起处理器处理一个事件,如外部中断或试图执行未定义指令都会引起异常。处理异常之前必须保留处理器的状态。(2)异常的类型:复位RESET:当处理器的复位电平有效时,产生复位异常,程序跳转到复位异常的处理程序处执行;DABT数据中止:若处理器数据访问指令地址不存在或该地址不允许当前指令访问,产生异常;FIQ快速中断请求:当快速中断请求引脚有效,且CPSR中F=0,产生异常;IRQ外部中断请求:当外部中断请求引脚有效,且且CPSR中I=0;PABT指令预取中止:若预取指令地址不存在或该地址不允许当前的指令访问,存储器向处理器发出中止信号,但是只有当取指的指令被执行时,才产生异常;UDEF未定义指令:当处理器或协处理器遇到不能处理的指令时产生该异常,可利用该机制进行软件仿真;SWI软件中断:由执行SWI指令产生,用于用户模式下的程序调用特权操作指令,利用该异常机制实现系统功能调用。(3)异常处理过程(只能在ARM态执行,若进入异常前是Thumb态,进入异常后转为ARM态,返回后自动进入Thumb):当异常产生时,处理器执行以下动作:改变处理器状态进入 ARM 态;改变处理器模式进入相应的异常模式;保存返回地址到 LR_;拷贝 CPSR 到 SPSR_;设置中断禁止位禁止相应中断(如需要);设置PC 为相应的异常向量。异常处理完毕后,微处理器执行下列操作从异常返回:从LR_恢复PC,应减去相应的偏移量;从 SPSR_恢复CPSR;清楚中断禁止位。注意复位异常处理程序不需返回,因为可以认为应用程序总是从复位异常处理程序开始执行。(4)异常响应过程伪代码: R14_=Return Link SPSR_=CPSR CPSR[4:0]=Exception Mode Number CPSR[5]=0;//当运行于ARM状态时

IF==Reset or FIQ then;//当响应FIQ异常时禁止新的FIQ异常 CPSR[6]=1;CPSR[7]=1; PC=Exception Vector Address.4、ARM寄存器与操作系统之间的关系:操作系统的设计需要硬件的支持,同时也受其制约,例如在单片机上无法运行windows OS是因为资源不够。同时ARM寄存器组也支持操作系统,更快地在各种模式之间转换,无需进行出、入栈操作,利用寄存器组提高了上下文切换的效率。

5、ARM状态和Thumb状态关系:在程序的执行过程中,微处理器可以随时地在两种工作状态之间切换且不影响处理器的工作模式和相应寄存器的内容。Thumb状态是ARM状态的一个映射,最终也要映射成ARM指令来执行,但字长较小,提高空间利用率,低功耗,节省代码空间,用于便捷设备,不能用于异常模式;ARM微处理器在开始执行代码时,应该处于ARM态。进入Thumb态操作:当操作数寄存器的状态位为1时,执行BX指令,从ARM态进入Thumb态。当处于Thumb态时发生异常,则异常返回时,自动切换回到Thumb态。进入ARM态操作:当操作数寄存器的状态位为0时,执行BX指令进入ARM态。此外当进行异常处理时,把PC指针放入异常模式链接寄存器R14中,并从异常向量地址开始执行程序,也能切换到ARM态;Thumb状态下的寄存器集是ARM状态下寄存器集的一个子集。

四、ARM指令集:

1、ARM编程模型:(1)3级指令流水线技术:几个指令可以并行执行,提高了CPU的运行效率;内部信息流要求通畅流动(为了增加处理器指令流速度,提高运行效率);允许多个操作同时处理,比逐条指令执行要快;PC指向正被取指的指令,而非正在执行的指令。(2)存储器模式:大端模式(字数据的高位字节存储在低地址中,字数据的低字节则存放在高地址中)和小端模式。(3)数据和指令类型:ARM采用32位架构;ARM约定:字节8位,半字16位,字32位;大部分ARM核提供ARM指令集和Thumb指令集(T变种);Jazelle 核支持Java bytecode(J变种,4TEJ),所有指令8位宽,处理器执行字存取,一次取4条指令。

2、指令结构:采用冯•诺依曼体系结构,需要把指令从存储器加载到寄存器,没有专门的IO指令,故存在load/store结构——从存储器中读某个值,操作完后再将其放回存储器中。指令分类:a.数据处理指令–使用和改变寄存器的值;b.数据传送指令–把存储器的值拷贝到寄

嵌入式系统复习总结

第一篇:嵌入式系统复习总结 嵌入式系统复习总结 一、嵌入式系统的概述 1.嵌入式系统的定义:嵌入到对象中的专业计算...
点击下载
分享:
最新文档
热门文章
    确认删除?
    QQ
    • QQ点击这里给我发消息
    微信客服
    • 微信客服
    回到顶部