嵌入式软件基础

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

2
嵌入式操作系统
3
嵌入式软件开发工具
概述
嵌入式操作系统可以统称为应用在嵌入式系统的操 作系统,它具有一般操作系统的功能,同时具有嵌 入式软件的特点,主要有: 可固化 可配置、可剪裁 独立的板级支持包,可修改 不同的CPU有不同的版本 应用的开发需要有集成的交叉开发工具
嵌入式操作系统的演变
CHAPTER
3 嵌入式软件系统
主要内容
1
嵌入式软件系统概述
2
嵌入式操作系统
3
嵌入式软件开发工具
软件系统
软 件 (software) 是 计 算 机 系 统 中 与 硬 件 (hardware)相互依存的另一部分,它包括程序 (program) 、 相 关 数 据 (data) 及 其 说 明 文 档 (document)。 其中:
的 发方接受式时,,生软产件效就率被抛低弃。。
特 • 软件是复杂的,而且以后会更加复杂。
性 • 软软件件的是成人本类相有当史昂以贵来生。产的复杂度最高的工业产品。 • 软许软件软发提非硬还多件会软出件工件常常涉件开了的涉常高作及的发很开及涉,牵到开需高销人及风涉人发的。要类其险们到和要投社它也的运很求入会领大行观。多大的域。念涉社量各的现及和、行专会在机心高构理各门软因、。强业知件素体这度识的、。制些的开方 ,和人脑销方这管的力已面对理因劳大面软方素动大件,式,,超工软等常成过程件问常了本师开题成,
嵌入式实时操作系统µC/OS-II简介
µC/OS-II的特点:
源代码 可移植 可固化 可裁减 可抢占性 支持多任务
– 可确定性 – 任务栈
– 系统服务 – 中断管理 – 稳定性和可靠性
嵌入式实时操作系统µC/OS-II简介
µC/OS-II不是自由软件, 用于商业目的时须取得许可证
主要内容
任内通中时任…
务存信断间务…
管管同管管扩













嵌入式TCP/IP
• TCP/IP 协 议 已 经 广泛地应用于嵌入 式系统中
• 嵌 入 式 TCP/IP 网 络系统提供符合 TCP/IP 协 议 标 准 的协议栈,提供 Socket编程接口。
• 可剪裁
• “零拷贝” 技术
• 采用静态分配技术
10
API函数(应用程序编程接口)
API 函数
绘图函数 Display.h
后台 缓冲区
文件读写函数 OSFile.h
文件管理函数 File.h
双向链表函数 List.h
系统控件函数 Control.h
11
用户应用程序
用户界面
任务之间 的通讯
用户任务n
用户应用程序
用户任务2 用户任务1
12
系统引 导/升级
Networking Utility Memory Management
Distributed Objects Fault Tolerance
90%*
Multiprocessing 75%* Multiprocessing
File System
File System
30%*
Networking
Networking
安全性 提供文件及文件系统的备份和恢复功能 提供对文件的加密和解密功能
嵌入式实时操作系统µC/OS-II简介
µC/OS-II是一个抢占式实时多任务内核。它 是用ANSI的C语言编写的,包含一小部分 汇编语言代码,使之可以提供给不同架构 的微处理器使用。
至今,从8位到64位,µC/OS-II已经在40多 种不同架构的微处理器上使用。
体系结构是确保系统的性能、可靠性、灵活性、可 移植性、可扩展性的关键,就好比房子的梁架,只 有梁架搭牢固了才提得上房子的质量,再做一些锦 上添花的工作才有意义。
目前操作系统的体系结构可分为:单块结构、层次 结构和客户/服务器(微内核)结构。
嵌入式操作系统体系结构
应用程序

应用程序 用户态
系统服务
使用µC/OS的领域包括:照相机行业、航空 业、医疗器械、网络设备、自动提款机以 及工业机器人等。
嵌入式实时操作系统µC/OS-II简介
µC/OS-II全部以源代码的方式提供,大约有 5500行。
CPU相关的部分使用的是针对Intel80x86微处 理器的代码。
µC/OS-II可以很容易地移植到不同架构的嵌 入式微处理器上。
1
嵌入式软件系统概述
2
嵌入式操作系统
3
嵌入式软件开发方法
嵌入式软件开发需要交叉编译
• 通用计算机程序开发和编译在一台计算机上完
成——直接编译。
• 嵌入式系统采用“宿主机/目标机”方式——交叉编译

USB/RS232/以太网
内存小 存储空间有限
计算能力有限
宿主机:通用计算机(PC),开发环境。
目标机:嵌入式系统,运行环境。 33
• •
软 导 软软致件 件但析。本方了这升件面了却些适、。高对 的在下无修应思所,软硬 开生工法改硬以考从件件 发存夫看有件对而、移和至。周到不软使判、植环今期软可件的断环的境尚后件避的软境,问期本免质件以才有未题不身的量退及能着完会的引控化。需了不全因形入制求解。同摆为态错的它,当程脱磨误变的修,必度 手损化功改须必 ,而的 工而能的着须导老进成重通致、依 作化行本在过软性赖 坊,修变软观件能性 式但改得件察失等的。会难开效特、,开这为以发率性分而
Kernel
Kernel
*Percent of total software supplied by RTOS vendor in a typical embedded device
嵌入式操作系统体系结构
体系结构是操作系统的基础,它定义了硬件与软件 的界限、内核与操作系统其它组件(文件、网络、 GUI等)的组织关系、系统与应用的接口。
嵌入式 CORBA
TCP/IP 网络系统
中间件层
嵌入式 JAVA
嵌入式 DCOM
面向应用领域 的中间件
操作系统层
文件 系统
内核
电源 管理
嵌入式 GUI
板级 FLASH RTC/定 初始化 驱动 时器驱动
驱动层
串口 以太网 驱动 驱动
LCD 驱动
键盘 驱动
其他 驱动
硬件
驱动程序
驱动 程序 drv.h LCD240.h
应用程序
应用编程接口
任务管理
用户扩展处理
I/O管理



内存管理
中断管理
调度管理
出错处理



同步、通信管理(消息队列,信号量,事件
时钟/定时器管理
,异步信号))
硬件抽象层
硬件
DeltaCORE的体系结构:层次+模块结构
嵌入式操作系统体系结构
用户模式
网络管理器
网络驱动
应用
图形管理器
图形驱动
应用

设备管理器
Application Kernel
10%*
Application
File System Networking
Kernel
Application
Browser / GUI
Application
Java Advanced Interconnect
Windows API
Advanced Networking
设备驱动
应用

文件系统管理器
文件系统驱动
内核模式
内核(微内核)
QNX4.25的体系结构:客户/服务器结构
嵌入式操作系统的组成
嵌入式操作系统
嵌入式内核 嵌入式TCP/IP
网络系统 嵌入式文件系统
…………
嵌入式内核
内核是嵌入式操作系统的基础,也是必备的 部分。
内核还提供特定的应用编程接口,但目前没 有统一的标准。
手机软件 路由器软件 交换机软件 飞控软件等
嵌入式软件系统的分类
从运行平台来分,嵌入式软件可以分为
运行在开发平台上的软件:设计、开发、测试工 具等。
运行在嵌入式系统上的软件:嵌入式操作系统、
应用程序、驱动程序及部分开发工具。
嵌入式软件系统的体系结构
应用 任务1
应用层
应用 任务2
……
应用 任务n
核心态
硬件
单块结构
嵌入式操作系统体系结构
用户模式 内核模式
用户 文件系统 进程间通信 I/O和设备管理 虚存管理 基本进程管理
硬件
层次结构
嵌入式操作系统体系结构
应用程序客户
内存服务
显示服务
进程服务
文件服务
网络服务
用户态
微内核
发送
应答
硬件
核心态
客户/服务器结构(微内核结构)
嵌入式操作系统体系结构
阶段
系统初 始化阶

应用初 始化阶

多任务 应用运 行阶段
嵌入式软件运行流程
上电复位 板级初始化
上电复位、板级初始化阶段
远程升级
引导/升级系统 系统初始化 应用初始化 多任务应用
系统升级
本地升级
•基于多任务操作系统的嵌入 式软件的主要运行流程
•该运行流程主要分为5个阶段
主要内容
1
嵌入式软件系统概述
程序是按照事先设计的功能和性能要求执行的指 令序列;
数据是程序能正常操纵信息的数据结构;
文档是与程序开发维护和使用有关的各种图文资 料。
软件系统
软件是一种逻辑实体,具有抽象性。
• 软件这没个有特点明使显它的与制其造它过工程程对。象有着明显的差异。人
软 件 产 品
• 软一件们旦在可研以使制把用开它过发记程成录中功在,,纸没就上可有、以内磨大存损量、、拷和老贝磁化同盘的一、问内光容盘题的上。副,
USB.h
Flash.h
Keyboard16.h
Rtc.h


LCD
USB
键盘
海量 存储器
时钟 日历
8
操作系统
信号量
邮箱
消息 队列
任务调 度模块
动态内 基于uCOS-II 存管理 的Hale Waihona Puke BaiduTOS内核
9
系统任务及消息队列
键盘扫描
系统消息
系统 消息队列 OSMessage.h
主任务
信号量
LCD刷新
系统任务
微内核结构的优点 提供一致的接口 可扩展性:扩展对新的软件/硬件支持 灵活性:可伸缩 可移植性 分布式系统支持 适用于面向对象操作系统环境
性能问题: 通过微内核构造和发送信息、接受应答并解码 所花费的时间比进行一次系统调用的时间多 很大程度取决于微内核的大小和功能
嵌入式操作系统体系结构
为软件开发的困难所在,直接影响到项目的成败。
嵌入式软件系统的分类
系统软件

控制、管理计算 机系统的资源
嵌入式操作系统 嵌入式中间件(CORBA、
Java)等等

式 支撑软件 辅助软件开发的

工具

系统分析设计工具 仿真开发工具 交叉开发工具 测试工具 配置管理工具 维护工具等
应用软件 面向应用领域
应用程序/应用协议
Socket 接 口
UDP协议
TCP协议
IP 协议 网络接口层
ICMP/IGMP 协 议
ARP/PPP协议
以太网驱动
异步串口驱动
物理设备
嵌入式文件系统
通用操作系统的文件系统通常具有以下功能:
提供用户对文件操作的命令 提供用户共享文件的机制 管理文件的存储介质 提供文件的存取控制机制,保障文件及文件系统的
相关文档
最新文档