第五章嵌入式系统软件体系结构.

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

硬件写操作(Write):往硬件中写数据;
……
5.2.2设备驱动程序的结构
设备驱动程序
设备驱动程序
上层接口 ------------硬件接口
上层接口 硬件接口
硬件
分层结构
硬件
混合结构
5.3 嵌入式操作系统
嵌入式操作系统包括嵌入式内核、
嵌入式TCP/IP网络系统、嵌入式 文件系统、嵌入式GUI系统和电 源管理等部分;
5.2.1设备驱动程序的主要功能

硬件启动(Startup):在开机上电或重启的时候, 对硬件进行初始化; 硬件关闭(Shutdown):把硬件配置成关机状态; 硬件停用(Disable):暂停使用硬件; 硬件启用(Enable):重新启用硬件; 硬件读操作(Read):从硬件中读取数据;

CPU I/O
多道程序:
CPU I/O
5.5.2 关于进程
在多道程序系统中,各个程序之间是并发执 行的,共享系统资源。CPU需要在各个运行 的程序之间来回地切换,这样的话,要想描 述这些多道的并发活动过程就变得很困难。 为此,操作系统设计者提出了进程的概念。
(1)什么是进程?
A process = a program in execution
}
5.1 嵌入式软件体系结构


无操作系统的情形 在嵌入式系统的发展初期,由于硬件的配置比较低, 对于是否有系统软件的支持,要求还不是很强烈。 在那个阶段,嵌入式软件的设计主要是以应用为核 心,应用软件直接建立在硬件上,没有专门的操作 系统。 有操作系统的情形
5.1.1无操作系统的情形

循环轮询系统:(Polling Loop)
嵌入式内核是基础和核心,其他
ຫໍສະໝຸດ Baidu
部分要根据嵌入式系统的需要来 确定。
5.4 嵌入式中间件

中间件(Middleware):在OS内核、设备驱动 程序和应用软件之外的所有系统软件; 中间件的基本思路:把原本属于应用软件层的 一些通用的功能模块抽取出来,形成独立的一 层软件,从而为运行在其上的各个应用软件提 供一个灵活、安全、移植性好、相互通信、协 同工作的平台;


优点:实现软件的可重用,降低应用软件的复 杂性,降低开发成本。
第 5节 进程、线程和任务
5.5.1 多道程序技术
为了提高计算机系统中各种资源的利用率,
现代操作系统广泛采用多道程序技术(multiprogramming),使多个程序同时在系统中存
在并运行。
单道程序:
作业甲(红黄)
作业乙(蓝绿)
一个进程应该包括: 程序的代码; 程序的数据;
PC中的值,用来指示下一条将运行的指令;
一组通用的寄存器的当前值,堆、栈; 一组系统资源(如打开的文件) 总之,进程包含了正在运行的一个程序的所有 状态信息。
Process ≠ Program
• A program is C statements or commands
静态的;
• A process is program + running context
动态的.
问题1
进程与线程之间的区别?
问题2
问题描述: 输入一组整数,当输入-1时表示输入结束, 然后计算这组整数的平均值; 12 4 25 125 -1
main( ) { int iValue, iTotalValue, iNum; printf(“本程序用于计算一组整数的平均值 \n”); printf(“输入-1表示数据的结束。\n”); iTotalValue = 0; iNum = 0; while (1) { scanf(“%d”, &iValue); if ( iValue == -1) break; iTotalValue += iValue; iNum++; } if(iNum > 0) printf(“平均值是:%.1f”, (double)iTotalValue / iNum);

前后台系统(后台循环、前台中断)
后台 前台
ISR
时间
ISR
ISR

例如,很多基于微处理器的产品采用 前后台系统设计,如微波炉、电话机、 玩具等。从省电的角度出发,平时微 处理器处在停机状态,所有的事都靠 中断服务来完成。
5.1.2有操作系统的情形
应用 软件层
WWW 浏览器
嵌入式 CORBA TCP/IP 网络系统 板级 初始化
MP3 播放器
嵌入式 JAVA 文件 系统 以太网 驱动

嵌入式 DCOM
电子 邮件 面向领域 的中间件 嵌入式 GUI LCD 驱动 键盘 驱动
中间件 层
操作 系统层 设备 驱动层
内核
串口 驱动
硬件
第2节 设备驱动程序
5.2 设备驱动程序



为什么要有设备驱动程序? 嵌入式硬件设备本身无法工作,需要软件来 驱动,如初始化、控制、数据读写等。 什么是设备驱动程序? 直接与硬件打交道、对硬件进行控制和管理 的软件。 在一个嵌入式系统中,设备驱动程序是必不可 少的。
博创科技
嵌入互动
第五章 嵌入式系统软件基础












© 2005 博创科技
BEIJNG
UNIVERSAL
PIONEERING
TECHNOLOGY Co . , LTD
主要内容
5.1嵌入式系统软件体系结构 5.2设备驱动程序 5.3嵌入式操作系统 5.4 嵌入式中间件 5.5 进程、线程和任务 5.6 嵌入式系统的应用软件开发

最简单的软件结构,程序依次检查系统的每个 输入条件,一旦条件成立就进行相应的处理。
Initialize(); while(1){ if(condition_1) action_1(); if(condition_2) action_2(); …… if(condition_n) acition_n(); }

事件驱动系统:(Event-Driven system)

事件驱动系统是能对外部事件直接响应的系统。 它包括前后台、实时多任务、多处理器等,是 嵌入式实时系统的主要形式。
应用程序是一个无限循环,循环中调用相应的 函数完成相应操作,这部分可以看成后台行为 (background)。中断服务程序处理异步事件, 这部分可看成前台行为(foreground)。 后台也可以叫做任务级,前台也叫中断级。
相关文档
最新文档