当前位置:文档之家› 嵌入式系统设计与实例开发

嵌入式系统设计与实例开发



14
一个典型的USB通讯系统
通用系统模型 HOST43;接口芯片
嵌入式系统应用
驱动代码+嵌入式处理 器+HOST芯片
HUB
DEVICE D U盘
HUB
其他 U盘
HUB
其他
DEVICE
数据采集器
数据采集器
15
二、嵌入式系统软件基础

操作系统的分类 嵌入式实时操作系统
if(condition_2) action_2(); …… if(condition_n) acition_n(); }
19
2)事件驱动系统:(Event-Driven system)
事件驱动系统是能对外部事件直接响应的系统。它包括前后台、 实时多任务、多处理器等,是嵌入式实时系统的主要形式。 应用程序是一个无限的循环,循环中调用相应的函数完成相应的 操作,这部分可以看成后台行为(background)。中断服务程序处理 异步事件,这部分可以看成前台行为(foreground)。 后台也可以叫做任务级,前台也叫中断级。
确保数据通道快速执行每一条指令
使CPU硬件结构设计变得更为简单
6
1.4 影响CPU性能的因素:流水线、超标量和缓存
流水线技术:几个指令可以并行执行 提高了CPU的运行效率 内部信息流要求通畅流动
Add Sub Cmp 时间
取指
译码 取指
执行add 译码 取指 执行sub 译码 执行cmp
7
超标量执行
高 速 缓 存 控 制 器
数据
CACHE 主存
CPU
地址 数据
9
总线和总线桥
CPU
低速设备
高速总线

低速总线
存储器
高速设备
数据
高速设备
10
1.5 存储器系统
RAM:随机存取存储器, SRAM:静态随机存储器, DRAM: 动态随机存储器 1)SRAM比DRAM快 2)SRAM比DRAM耗电多
3)DRAM存储密度比SRAM高得多
嵌入式系统设计与实例开发
——ARM与C/OS-Ⅱ
基本概念及设计方法
1
一、嵌入式系统硬件基础
冯· 诺依曼体系结构和哈佛体系结构
CISC与RISC
影响CPU性能的因素
存储器系统
I/O接口
2
典型嵌入式系统基本组成-硬件
电源 模块
时钟
外围电路 微处理器
Flash
RAM
MPU
复位
ROM
外设
USB LCD Keyboard Other
3
1.1 冯· 诺依曼体系结构模型
存储器
指令寄存器
控制器
程序
指令0 指令1 指令2 指令3 指令4
数据通道 输入 中央处理器
输出
数据 数据0 数据1 数据2
4
1.2 哈佛体系结构
地址 程序存储器 指令0 指令1 指令2
指令寄存器
控制器
指令
地址 数据通道 输入 中央处理器
超标量执行:超标量CPU采用多条流水线结构
指令CACHE
预取
预取
流 水 线 1
译码1 译码2 执行1 执行2
流 水 线 2
译码1 译码2 执行1 执行2
数据
8
高速缓存(CACHE)
1、为什么采用高速缓存 微处理器的时钟频率比内存速度提高快得多,高速缓存可以 提高内存的平均性能。 2、高速缓存的工作原理 高速缓存是一种小型、快速的存储器,它保存部分主存内 容的拷贝。


前台与后台
多任务,任务优先级,调度
非占先式与占先式、可重入型函数
16
3.1 操作系统的分类
(1)顺序执行系统:系统内只含有一个程序,独占CPU的运 行时间,按语句顺序执行该程序,直至执行完毕,另一程 序才能启动运行。如DOS操作系统。
(2)分时操作系统:系统内同时可以有多个程序运行,把 CPU的时间分按顺序分成若干片,每个时间片内执行不同 的程序。如UNIX

大家生活中常见的与USB有关的东西有:
U盘、移动硬盘、无驱型的MP3(U盘) USB接口的键盘、Mouse、打印机、数码相机……

即插即用,热插拨,系统不需重启便可工作,且易于扩展 (127个)

USB2.0以低成本实现高达480Mb/s的传输率(USB1.1的全 速设备可达12Mb/s)
接口标准统一、端口供电
29
死锁(或抱死) Deadlock
死锁也称作抱死,指两个任务无限期地互相等待对方控制 着的资源。设任务T1正独享资源R1,任务T2在独享资源T2 ,而此时T1又要独享R2,T2也要独享R1,于是哪个任务都 没法继续执行了,发生了死锁。最简单的防止发生死锁的 方法是让每个任务都:
先得到全部需要的资源再做下一步的工作
4)DRM需要周期性刷新 ROM:只读存储器 FLASH:闪存
11
SRAM和DRAM
1)SRAM 2)DRAM
CS R/W Addr Data
CS R/W RAS CAS Addr Data
12
输入输出接口
I/O
A/D、D/A
键盘 LCD 存储器接口 设备接口
13
例如USB

USB:Universal Serial Bus,通用串行总线
机械装置
被控对象
功能层 文件系统
应用程序 图形用户 接口 任务管理
软件层
实时操作系统(RTOS) 中间层 BSP/HAL 硬件抽象层/板极支持包 D/A 硬件层 A/D I/O 人机交互接口 嵌入式计算机系统 嵌入式 微处理器 通用接口 ROM SDRAM
32
基于知识平台的开发方法
33
嵌入式系统设计步骤
(3)实时操作系统:系统内有多个程序运行,每个程序有 不同的优先级,只有最高优先级的任务才能占有CPU的控 制权。
17
按实时性分类
强实时系统,其系统响应时间在毫秒或微秒级(数控 机床);

一般实时系统,其系统响应时间在毫秒-几秒的数量 级上,其实时性的要求比强实时系统要差一些(电子菜谱 的查询)。
数据存储器 数据0 数据1 数据2
输出
数据
5
1.3 CISC和RISC
CISC:复杂指令集(Complex Instruction Set Computer) 具有大量的指令和寻址方式 8/2原则:80%的程序只使用20%的指令 大多数程序只使用少量的指令就能够运行。 RISC:精简指令集(Reduced Instruction Set Computer) 在通道中只包含最有用的指令
例如,很多基于微处理器的产品采用前后台系统设计,如微波炉 、电话机、玩具等。从省电的角度出发,平时微处理器处在停机状态 ,所有的事都靠中断服务来完成。
20
前后台系统(后台循环、前台中断)
后台 ISR 前台
时间
ISR
ISR
21
代码的临界区

代码的临界区也称为临界区,指处理时不可分割的代码。 一旦这部分代码开始执行,则不允许任何中断打入。

弱实时系统,其系统响应时间约为数十秒或更长(工 程机械)。

18
按软件结构分类
1)循环轮询系统:(Polling Loop)
最简单的软件结构是循环轮询,程序依次检查系统的每一个输入条 件,一旦条件成立就进行相应的处理。 Initialize() While(true){
if(condition_1) action_1();
用同样的顺序去申请多个资源 释放资源时使用相反的顺序
30
本节提要
1 嵌入式系统硬件基础 2 嵌入式系统软件基础 3 嵌入式系统设计方法
4
5
一个嵌入式设计方法实例
嵌入式BSP的基本概念
31
嵌入式系统的软/硬件框架
驱动器1 驱动器2 ...... 驱动器N 传感器1 传感器2 ...... 传感器N

在进入临界区之前要关中断,而临界区代码执行完以后要 立即开中断(在任务切换时,地址、指令、数据等寄存器 堆栈保护)。
22
多任务(任务、进程和线程)
休眠、就绪、运行、挂起、被中断
任务 1
任务 2 任务 n
……
任务 控制 块1 寄存器 CPU CPU寄存器
23
任务 控制 块2
任务 控制 块n
一个任务,也称作一个线程,是一个简单的运行 程序。每个任务都是整个应用的某一部分,每个任务被 赋予一定的优先级, 有它自己的一套CPU寄存器和自己 的栈空间。 多任务运行的实现实际上是靠CPU(中央处理单元 )在许多任务之间转换、调度。 CPU只有一个,轮番服务于一系列任务中的某一 个。多任务运行使CPU的利用率得到最大的发挥,并使 应用程序模块化。 在实际应用中,多任务的最大特点是,开发人员 可以将很复杂的应用程序层次化-综合实验(时钟、位 图、USB、KEY)。



系统测试:对设计好的系统进行测试,看其是否满足规格说明书 中给定的功能要求。
34
嵌入式开发工具与开发环境
35
嵌入式软件开发流程
开始 新工程 以 太 网 口 网络 接口 ARM SDT Debug 并 口
编辑源代码
ARM300开发板 ARM7 处理器 执行
(4) (12)
Task 1 (H)
(8)
Task 2 (M)
(1) (6) (10)
Task 3 (L)
Task 3 Get Semaphore (2) Task 1 Preempts Task 3 (3) Task 1 Tries to get Semaphore (5) Task 3 Resumes (9) Task 3 Releases the Semaphore (11) Task 2 Preempts Task 3 (7)
相关主题