4嵌入式系统软件
2015-09-15 13:21:52 22 举报
AI智能生成
嵌入式系统软件
作者其他创作
大纲/内容
4.1嵌入式系统的软件组成
引导加载程序
外部设备驱动程序
操作系统
文件系统
网络协议栈
图形用户界面
数据库
各种各样的应用程序
4.2嵌入式操作系统
4.2.1实时系统
实时系统定义
实时系统属性
时间约束性
软实时操作系统
硬实时操作系统
可预测性
可靠性
强实时系统
普通实时系统
弱实施系统
实时操作系统
任务
周期性任务
非周期任务
RTOS的三个主要实时指标
响应时间
吞吐量
生存时间
4.2.2嵌入式操作系统概述
内核的解释(EOS)
4.2.3主流嵌入式操作系统
uC/OS-II/III
TinyOS
iOS操作系统
Windows EmbeddedCompact8
Window Phone8
VxWorks
嵌入式Linux
Android操作系统
eCOS
QNX
4.2.4嵌入式操作系统分类
按源代码规模分类
大型操作系统(Windows Phone 7)
小型操作系统(uCOS-II)
按内核大小分类
大型
小型
按照源代码是否免费分类
开源
不开源
按照实施性能分类
强实时型(VxWorks,pSOS,uCOS-II)
普通实时型(Windows Embedded,uCLinux,Symbian)
按内核结构分类
单内核操作系统
微内核操作系统
4.2.5嵌入式操作系统的仿真平台
ARM公司:Armualtor
清华:SkyEye
VMware:WMware管理软件
4.3硬件抽象层,板级支持包和引导加载程序
4.3.1术语溯源
4.3.2硬件抽象层
4.3.3板级支持包
HAL与BSP的异同
Nios II的BSP
Windows CE的BSP
4.3.4引导加载程序
嵌入式系统启动顺序和Bootloader的存放位置
Bootloader的两个执行阶段
嵌入式Linux的Bootloader执行步骤
U-boot简介和移植
4.4嵌入式Linux操作系统
4.4.1Linux概述
4.4.2Linux源代码下载和阅读
4.4.3嵌入式Linux
Monta Vista Linux
uClinux
RTLinux
RTAI
4.4.4嵌入式Linux的顶视图
用户进程
OS服务组件
Linux内核
进程管理与调度
控制进程对CPU资源的使用
内存管理
屏蔽硬件内存机构差异
提供分页机制,完成地址变换,解决物理内存不足问题
监控存储器管理单元MMU的运行
维护每一个任务拥有独立运行内存空间,防止内存访问越界
为进程间通信所需要的共享内存提供必要的基础
虚拟文件系统
负责计算机外存储器上存储和检索数据的逻辑方法
网络接口
网络协议部分
网络驱动程序
进程间通信
信号
管道
消息队列
信息量
共享内存和套接字
4.5嵌入式操作系统uC/OS-II
4.5.1uC/OS-II的基本特点
抢占优先级
管理64个任务8个为系统任务
不支持时间片轮转调度法,每个任务优先级都不一样
4.5.2uC/OS-II的层次位置
应用软件层
程序接口层
文件系统
TCP/IP网络协议栈
图形用户界面
中文系统
嵌入式数据库
因特网Web浏览器
uC/OS-II内核层
任务间通信ITC
任务调度
任务管理
内存管理
中断服务例程ISR
系统任务
时钟节拍
时钟处理
驱动程序层
各类驱动
4.5.3uC/OS的代码结构与初始化
结构
第一层
应用程序文件
第二层
与处理器类型无关的代码
与应用程序有关的代码
与硬件平台移植相关的代码
第三层
硬件+定时器
按功能分模块
核心模块
预处理(总线)模块
进程间通信模块
内存管理模块
任务与调度管理模块
时间管理模块
移植模块
初始化
uC/OS-II的启动过程
1操作系统初始化OSInit();
任务创建OSTaskCreate();
任务调度开始OSStart();
uC/OS-II任务的创建
OSTaskCreate
OSTaskCreateExt
uC/OS-II的任务代码结构
4.5.4uC/OS-II的内核
临界区
OS_ENTER_CRITICAL关中断
OS_EXIT_CRITICAL
uC/OS-II的任务状态
1休眠态
2就绪态
3运行态
4挂起态
5被中断态
任务控制块
OSTCBY
OSTCBX
OSTCBBitY
OSTCBBitX
4.5.6uC/OS-II的任务调度
uC/OS-II的就绪表
任务就绪表的操作
1登记一个新就绪任务的指令段
2删除不再处于就绪态
3从就绪表中找到最高优先级的任务
uC/OS-II的任务调度
任务级调度OSSched
中断级调度OSIntExit
uC/OS-II的任务切换
4.5.6uC/OS-II的任务切换
4.5.7uC/OS-II的中断处理器
OSMBoxPost
OSQPost
OSSemPost
4.5.8uC/OS-II的时间管理
OSTimeDly
OSTimeDlyHMSM
OSTimeDlyResume
4.5.9uC/OS-II的任务间通信
1事件控制块ECB
OSEventCnt
OSEventPtr
OSEventType
OSEventGrp
OSEvenTal[]
2基于ECB的任务间通信
3信号量控制下的任务间通信
4.5.10uC/OS-II的移植
能移植的要求
1处理器的C编译器能产生可重入代码
2用C语言就可以打开和关闭中断
3处理器支持中断并且嗯呢产生定时中断
4处理器支持能够容纳一定量数据(可能几千字节)的硬件栈区
5处理器将栈区指针和其他CPU寄存器读出和存储到栈区或内存中的指令
0 条评论
下一页
为你推荐
查看更多