SkyEye 技术报告 一个开放源码的嵌入式仿真环境 ― SkyEye
一个开放源码的嵌入式仿真环境 ― SkyEye
SkyEye 项目开发小组
http://hpclab.cs.tsinghua.edu.cn/~skyeye/
I
I
h
h
e
e
a
a
r
r
a
a
n
n
d
d
I
I
f
f
o
o
r
r
g
g
e
e
t
t
,
,
I
I
s
s
e
e
e
e
a
a
n
n
d
d
I
I
r
r
e
e
m
m
e
e
m
m
b
b
e
e
r
r
,
,
I
I
d
d
o
o
a
a
n
n
d
d
I
I
u
u
n
n
d
d
e
e
r
r
s
s
t
t
a
a
n
n
d
d
.
.
摘要:
本文是对开放源码的嵌入式仿真环境 SkyEye 的综述。首先介绍了 SkyEye 的背景、目
标和存在的意义;接下来对目前 SkyEye 本身进行了简要的技术分析;然后对 SkyEye 上已
经移植成功的操作系统、典型应用进行了介绍;最后讲述了 SkyEye 正在开展的工作和将来
的发展计划。
一、 SkyEye 的目的与意义
1. SkyEye 产生的背景
操作系统是软件产业的基础和龙头,它能左右软件产业发展的方向,是世界软件产业最
大的利润来源。对于后 PC 时代和 pervasive computing(普适计算)而言,嵌入式系统将无
处不在,其中关键的软件核心技术包括嵌入式操作系统和网络互连中间件等。
所谓嵌入式系统一般指非 PC 系统,它包括硬件和软件两部分。硬件包括处理器/微处
理器、存储器及外设器件和 I/O 端口、图形控制器等。软件部分包括操作系统软件(要求
实时和多任务操作)和应用程序编程。嵌入式操作系统可以广泛应用于 PDA、掌上电脑、
手机、信息家电(网络冰箱、机顶盒)等 嵌入式设备。
对于一般的嵌入式系统的软件开发和学习,一般不能脱离一个具体的硬件环境。对于想
研究嵌入式 linux 等操作系统和一些底层系统软件(如 TCP/IP 等)的研究和开发人员,可
能存在如下几方面的问题:(1)经常苦于经费不足,缺少足够的硬件开发板和完善的软件开
发环境,相关的书籍对一些最新软件的分析还不够全面,无法深入研究和开发嵌入式软件。
(2)高层次的软件设计和开发一般不用太考虑底层硬件的实现细节,如果直接处于一个具
体的硬件环境下,在开发和研究中可能会陷入硬件的具体细节中不能自拔,而不能把精力放
到高层次的软件设计和开发上。(3)如果硬件开发环境不太稳定(这种情况经常见到),且
对具体的硬件不是很了解,则可能在排除问题上花费大量的不必要的时间。
对于想了解、学习一般操作系统的实现原理,linux/uclinux 操作系统或 TCP/IP 等系统
级软件的实现的人员,目前一般采用的方法是看书和读源代码,这是一种静态的学习方法,
但效率较低,比较枯燥,缺少一种动态和亲自实践的感觉。要想深入分析和开发软件,就要
动手编程,不能只是看看书,读读代码,只有通过亲手实践才能够掌握软件设计的核心内容。
如何进行动态分析和研究?以相对简单的 uC/OS-II 操作系统为例:其作者已经写了一本
介绍 uC/OS-II 操作系统的书籍,且也有中文版发行。但看完书后,你能够真正掌握 uC/OS-II
的实现和操作系统的核心技术吗?我想,可能大部分操作系统的初学者只是知道(不等于了
解、掌握)书本上讲的内容,而且书中的例子基于 Intel x86, 但 x86 结构的复杂性进一步限
制了大家对一些与硬件相关的 uC/OS-II 核心部分(如任务切换、中断处理等)的掌握。如
第 1 页 / 共 11 页