嵌入式操作系统
陈香兰
******@ustc.
助教:陈博、李春华
Spring 2009
RTEMS操作系统介绍
3
提纲
RTEMS概述
Hello任务的运行
Printf的实现
4
RTEMS概述
实时多处理器系统Real Time Executive for Multiprocessor Systems
开源的无版税的实时嵌入操作系统
最早用于美国国防系统first=实时导弹系统=Real Time Executive for Missile Systemsthen=实时军用系统=Real Time Executive for Military Systems,
现在由OAR公司负责版本的升级与维护。
在航空航天、军工、民用等领域都有广泛应用。
5
RTEMS体系结构
APP静态联编,包括
应用程序、C库、RTEMS
RTEMS相关的所有源代码都在c目录下,包括操作系统、测试包、应用实例、BSP包、设备驱动以及支持库。
总体上RTEMS代码由两部分组成
EXEC:RTEMS操作系统执行体
82, 645 行
LIB:RTEMS库,包括libc、bsp(包括驱动)以及libcpu
146, 262 行
EXEC
LIB
6
RTEMS的源代码结构
阅读各个层次目录下的readme
观察主要目录及文件
7
EXEC
RTEMS操作系统包括一个核心score
核心之上有可以支持两种操作系统封装
符合POSIX标准的
RTEMS
在最上层是SAPI
EXEC代码统计信息
SCORE:52166 行
RTEMS:16045 行
POSIX:11345 行
SAPI:3089 行
8
LIB
Libbsp
Libc
Libcpu
Libmisc
working
Start
BSP基本功能
BSP基本驱动
基本C库
CPU库,CPU相关操作,但与board无关
一些工具
网络
启动支持,i386和ppc都不在这
9
SCORE中的模块及其依赖关系
Src:15个主要的handler
API扩展、user扩展、Workspace、heap、Object、Thread、threadq、Watchdog、tod、Msg、sem、mutex、Isr、interr、chain
一些辅助handler:address、sysstate、state、context、priority等
Mp相关
Cpu:提供CPU相关的一些支持
10
API和user扩展
不同的操作系统封装具有不同的操作系统语义。有时需要在score的基础上进行扩展。
score提供两种扩展:
API扩展和user扩展。
API扩展提供了3个可扩展点
Predriver:系统初始化时,所有驱动初始化前
Postdriver:系统初始化时,所有驱动初始化后
Postswitch:根据需要在线程切换后
嵌入式操作系统72297 0533 来自淘豆网m.daumloan.com转载请标明出处.