嵌入式系统总结

第一章    嵌入式系统概述
谭小波
嵌入式系统定义:
1、 Device used to control,monitor,orassist the operation of equipment,machinery or plants.
2、  嵌入式系统是以嵌入式应用为目的的计算机系统。
3、  嵌入式系统是一应用为中心,以计算机技术为基础,软、硬件可裁剪,适应应用系统对功能、可靠性、成本、体积和功耗等有严格要求的计算机系统。
嵌入式系统的特点:
1、  专用计算机系统
2、  代码固化
3、  实时性要求
4、  可靠性要求
5、  操作系统的支持
6、  专门的开发工具、环境和方法
7、  知识集成系统
嵌入式系统的组成结构

应用程序
文件系统  图形用户接口 网络组件
实时操作系统
D/A A/D I/O 嵌入式微处理器
通用接口 ROM SDRAM
 
人机交互接口
功能层
软件层
 
 
 
 
中间层
 
 
硬件层
硬件抽象层

硬实时系统是指系统对响应时间有严格要求,如果响应时间不能满足,就会引起系统崩溃或者致命的错误。
软实时系统是指系统对响应时间有一定要求,如果响应时间不能满足,不会导致系统崩溃或者出现致命的错误。
 
循环轮询流程图:

初始化
处理1
处理2
事件1
事件2
N
N
Y
Y

前后台系统:

ISR1
初始化
事件1
处理1
处理2
事件2
 
 
 
 
 
 
 
 
 
ISR2
ISR3

多任务系统流程图:

后台
开发任务
Tasks
前台
ISRS

嵌入式系统应用领域:
1 、消费电子领域
2 、通信网络领域
3 、工业控制领域
4 、汽车电子领域
5 、医疗仪器领域
6 、航空航天与军事国防领域
嵌入式系统发展趋势:
1 、发展行业性的嵌入式硬件平台,制定行业标准。
2 、随着相关技术的发展SOC 将成为应用主流
3 、发展功能更强大的开发工具和嵌汝式操作系统,支持复杂度越来越高的嵌入式应用软件。
4 、面向网络互连的嵌入式系统成为必然趋势
5 、嵌入式系统向新的嵌入式计算模型方向发展
                   
 
                    第2章 嵌入式处理器
嵌入式处理器的分类:
1 、嵌入式微控制器 单片机 8051、C166/167、MCS-系列、MCU
2 、嵌入式微处理器   在应用中,只保留与嵌入式应用紧密相关的功能硬件 AM186/88 POWERPC 、ARM、MIPS、MOTOROLA68K
3 、嵌入式DSP
4 、嵌入式片上系统SOC 嵌入式微处理器/DSP“集成电路”级转向“集成系统”级设计
典型的嵌入式处理器:
1 、ARM处理器
2 、PowerPC处理器
3 、MIPS处理器
4 、Sparc sun公司研发的
5 、龙芯一号处理器
ARM 处理器系列:
1 、ARM7系列
2 、ARM9系列
3 、ARM9E系列
4 、ARM10系列
5 、SecurCore系列
6 、Intel的StrongARM
7 、intel的Xscale
ARM 编程模型:
三级流水线:
1 、取指
2 、译码
3 、执行
流水线延时:
多装载指令LDMIA:

取指               译码               执行 ld r2       执行ld r3
取指
译码                      执行
取指        译码               执行
Ldmia ro

数据类型:
Byte:  字节,8位
Halfword 半字 16位
Word 字   32位
当数据类型被说明成unsigned类型时,N位数据值表示范围是0—2N-1的非负整数
当数据类型被说明成signed类型时,N位数据值表示范围是-2N-1—+2N-1的整数
ARM 处理器模式:

处理器模式
说明
用户 usr
程序正常执行
FIQ fiq
支持高数据传输或通道处理
IRQ irq
通用中断处理
管理 svc
操作系统保护模式
中止 abt
虚拟存储器或存储保护
未定义 und
支持硬件协处理器的软件防真
系统 sys
运行特权操作系统任务

 
寄存器组织:
ARM 处理器共有37个寄存器,32位,含有程序计数器PC;6个状态寄存器,32位,只使用了其中12位
当编写程序时37个寄存器中只有通用寄存器R0-R14、程序计数器PC和当前状态寄存器CPSR需要考虑
不分寄存器组R0-R7
分寄存器组R8-R14
R8-R12 有两组物理寄存器:一组为FIQ模式,另外一组为FIQ以外的模式
R13 通常用于堆拽指针SP
R14 通常用于子程序链接寄存器LR
程序计数器R15(程序计数器PC):
1 读程序计数器PC:用指令读出的R15的值为指令地址加8个字节
2 写程序计数器PC:写R15的结果是将写到的R15的值作为指令地址,并根据这个地址发生转移。
 
存储器和存储器映射I/0
存储器格式包括小端和大端模式,大小端的存储格式如下图:
                        大端存储器模式
 31         24 23            1615              8 7               0

                          地址A的字
      地址A的半字
             地址A+2的半字
地址A的字节
地址A+1的字节
地址A+2的字节 
地址A+3的字节

小端存储模式

                           地址A的字
        地址A+2的半字
         地址A的半字
地址A+3的字节
地址A+2的字节
地址A+1的字节
地址A的字节

  例:STR R0,[R1]   将R0中的字存入R1的地址
     LDRB R2 ,[R1] 将R1中的一个字节加到R2中,设R1=0X100
           R0 :       31                       0

11
22
33
44

STR R0 ,[R1] 后:                                     0X100:

11
22
33
44

0X100 :                                             31               
 0                        31                

11
22
33
44

R2 :大端模式:                                          R2:小端模式:

00
00
00
11

 

00
00
00
44

ARM 寻址方式:
1 ,寄存器寻址
2 、立即寻址
3 、寄存器移位寻址
4 、寄存器间接寻址
5 、基址寻址
6 、多寄存器寻址
7 、堆拽寻址
8 、块拷贝寻址
9 、相对寻址
 
 
                    第3章 嵌入式硬件平台
嵌入式系统的硬件是以嵌入式处理器为中心,由存储器、I/0单元电路、通信模块、外部设备等必要的辅助接口组成。通常,嵌入式系统还包括人机交互界面,用于系统和人交互。
四周期握手协议:

设备 1      
设备 2
查询
应答
设备 1
设备 2
动作

典型微处理器总线:

CPU
设备 1
存储器

 
有以下总线:
CLOCK :提供总线各部分的同步
R/W ‘读写信号
Address 为访问提供地址
Data 是一个N位信号束,它从CPU得到数据或者向CPU传送数据
Data ready/ 数据准备信号
总线时序图:

Data ready’
启动address
CLOCK
R/W
address
Data
t

 
存储器子系统设计的首要目标是使存储器在 工作速度 上很好的与处理器匹配,并满足各种存取需要。
全部存储器分为四级:寄存器组、高速缓存、内存、外存
 
RAM(Random Access Memory, 随机存储器)
1 、静态RAM   SRAM

CE
R/W
Adrs
Data
CE’
R/W’
 
Address
Data

2 、动态RAM   DRAM 需要DRAM控制器

CPU
DRAM 控制器       
DRAM
CE’
R/W’
RAS’
CAS’
Address
Data
CE
R/W
RAS
CAS
Address
Data

ROM (Read-Only Memory只读存储器),分为工场可编程ROM、现场可编程ROM。
Flash Memory 按块擦除存储器
 
标准串行通信接口:
RS-232 :全双工,数据传输速度慢、传输距离短
RS-422 :全双工,数据传输速度快、传输距离长
RS-485 :半双工,是RS-422的变形
 
USB :通用串行总线,Universal Serial Bus,四根线:电源线、接地线、两根差模信号线
USB 总线软件结构:USB总线接口、USB系统、USB客户软件
 

阻容式复位电路:

        VCC
 
RST
 
VSS
VCC
10MS

 
第4章 Bootloader与设备驱动
Bootloader 是系统加电后首先运行的一段程序,它的目的是将系统的软硬件环境带到一个合适的状态,为调用操作系统内核准备好正确的环境。
 
Bootloader 的操作模式:
启动加载模式(自主模式):在嵌入式产品发布的时候
下载模式:第一次安装操作系统和根目录文件时使用,另外在系统更新的时候使用
 
 
第5章 嵌入式操作系统
典型的嵌入式操作系统:
1 VxWorks
2 windows CE
3 pSOS
4 QNX
5 Plam OS
6 嵌入式Linux
7 UC/OS II
国内:
Delta OS
Hopen OS
HBOS
 
任务:一个任务也称一个线程,是一个程序,有以下5种状态:
1 、休眠态
2 、就绪态
3 、运行态
4 、挂起态
5 、被中断态
 
任务调度:
1 、非占先式内核:各个任务彼此合作,共享CPU,。中断服务可以使一个高优先级的任务由挂起态变为就绪态,但中断服务后,CPU的使用权交回给原来被中断的任务,知道任务主动释放CPU的控制权,一个新的高优先级别的任务才能运行。
非占先式的优点:
响应中断快
可以使用不可重入函数
共享数据方便

ISR
 
底优先级任务
高优先级任务
t

2 、占先式内核:最高优先级别的任务一旦就绪,便能得到CPU的使用权,当一个运行着的任务使一个比它优先级别高的任务进入就绪态时,当前任务被挂起,那个高优先级的任务立即得到CPU的使用权开始运行。如果是中断服务程序使一个高优先级的任务进入就绪态,当中断完成时,被中断的任务被挂起,有限级别高的任务开始运行。
非占先式内核的特点:
    中断响应较快
    不应直接使用不可重入函数。只有对不可重入函数加锁保护后才能使用,对共享数据要使用互斥、信号量等保护机制。

 
 
 
 
t

uC/OS-II 的特点:
1、  源代码公开
2、  可移植性
3、  可固定
4、  可裁剪
5、  占先式
6、  多任务
7、  可确定性
8、  任务栈
9、  系统服务
10、              中断管理
11、              稳定性与可靠性
第6章 嵌入式应用程序设计
状态机:(设计安全带)
此系统有三个输入和一个输出。输入分别是感知乘客下的座位传感器、检查安全带是否系牢的传感器和对限定时间即时的计时器,输出是蜂鸣器。

Idle
Buzzer
Seated
Belted
/ 计时器开
定时器 / 蜂鸣器
未坐 / 蜂鸣器关
系好安全带 / 蜂鸣器开
系好安全带 /-
未系安全带 / 计时器开

系统的工作情况是:当座位上无人时,Idle状态被激活;当有人坐下时进入Seated状态并打开计时器;如果计时器在系安全带牢之前关闭,则转入Buzzer状态,反之进入Belted状态;当人离开座位时,返回Idle状态。
假设已经将三个输入(seat,belt,timer)的当前值载入变量,并临时保持输出到变量(timer_on,buzzer_on)中。变量state用来保持当前状态。
#define IDLE 0
#define SEATED 1
#define BELTED 2
#define BUZZER 3
 
Switch(state){
    Case IDLE:
        If(seat){state=SEATED;timer_on=TRUE;}
        Break;
    Case SEATED:
        If(belt){state=BELTED;}
        Else if(timer){state=BUZZER;buzzer_on=TRUE;}
        Break;
    Case BELTED:
        If(!seat){state=IDLE;}
        Else if(!belt){state=STEATED;timer_on=TRUE;}
        Break;
    Case BUZZER:
        If(!seat){state=IDLE;buzzer_on=FLASE;}
        Else if(belt){state=BELTED;}
        Break;
}
嵌入式程序编译过程:
高级语言代码—》编译程序—》汇编语言代码——》汇编程序——》目标代码——》链接程序——》可执行二进制代码——》装入程序——》执行
嵌入式优化:
1、  执行时间优化
2、  能量优化
3、  长度优化
第7章 基于网络的嵌入式系统设计
OSI 模型:

应用层
表示层
会话层
传输层
网络层
数据链路层
物理层

网络编程主要是指报文传递编程,常用的报文传递编程有两种:
1 、请求/应答方式
2 、推移方式
 
嵌入式系统网络包括有:I^2C总线、CAN总线、Ethernet、GPRS、蓝牙、internet协议中的基本概念。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值