本书分为2部分。第l部分即第1章,从操作系统、软件开发环境、窗口系统、网络系统、数据库管理系统及Java虚拟机等不同的角度,对嵌入式软件作了一个综合性的介绍。第2部分由第2一?章组成,从与第1部分相同的视角对一个具体的嵌入式软件系统Hopen作了比较详细的剖析,介绍了其各种APl函数的使用方法,并结合实例进行了讲解;此外,在这一部分中还对Hopen系统在PDA、机顶盒、瘦客户机及智能手机等领域的应用情况作了一些概括性的介绍。
本书既可作为学习嵌入式软件方面的知识的入门读物,也可供从事嵌入式软件开发的人员参考。
1 嵌入式软件概述
1.1 嵌入式系统和嵌入式软件
1.2 嵌入式操作系统
1.3 嵌入式软件的开发环境
1.4 嵌入式软件的开发环境
1.5 嵌入式网络系统
1.6 嵌入式数据库管理系统
1.7 嵌入式系统的Java虚拟机
1.8 Hopen系统简介
2 Hopen系统窗口应用程序的开发
2.1 一个窗口应用程序实例
2.2 窗口及其使用
2.3 消息机制
2.4 控件及其使用
2.5 对话框及其使用
2.6 菜单及其使用
2.7 图形的显示
2.8 光标、鼠标和键盘
3 Hopen操作系统的功能与应用程序的开发
3.1 线程及其管理与调度
3.2 线程的同步
3.3 线程间的通信
3.4 Hopen操作系统的其它功能
4 Hopen系统网络应用程序的开发
4.1 编写网络应用程序的步骤
4.2 网络应用程序的连接方式
4.3 网络应用程序的I/O访问方式
5 Hopen系统文件处理应用程序的开发
5.1 文件系统的结构与类型
5.2 文件处理功能
5.3 一个文件处理应用程序实例
6 Hopen系统JAVA应用程序开发
6.1 MIDlet程序开发基础
6.2 图形用户界面
6.3 网络通信
6.4 记录存储系统
7 Hopen系统在嵌入式系统中的应用
7.1 Hopen系统在PDA中的应用
7.2 Hopen系统在机顶盒中的应用
7.3 Hopen系统在瘦客户机应用软件
7.4 Hopen系统在智能手机中的应用
本书的编写目的是向读者介绍一些有关嵌入式软件的基本概念以及一个实际的嵌入式软件系统——Hopen,从而使读者能对嵌入式软件系统有一个初步但比较全面的认识。本书首先给出了嵌入式系统和嵌入式软件的概念、特性,并从操作系统、软件开发环境、窗口系统、网络系统、数据库管理系统及Java虚拟机等几个方面对嵌入式软件作了一个综合性的介绍;然后以Hopen系统为实例对以上几个方面的内容进行了深化。之所以采用通过讲述以上内容来达到向读者介绍嵌入式软件的目的这样一种方法,是出于以下的考虑:
第一,在嵌入式软件这一领域中没有唯一的占绝对主导地位的系统。嵌入式软件的性质和应用范围决定了,在嵌入式软件这一领域中没有出现台式机领域中那种由Microsoh一家公司的Windows系统独霸天下的局面。一种嵌入式软件系统只要其功能定位得当,就有可能占有一定的市场份额。所以在讲述嵌入式软件时,就不存在以国外的某种绝对“主流”的系统为蓝本的问题。
第二,以Hopen系统为实例介绍嵌入式系统是比较合适的选择之一。提起Hopen系统,自然会使人们联想起发生在1999年的“维纳斯”计划和“女娲”计划之争。当然“女娲”计划的实施和Hopen系统的研制并不始于1999年。早在1996年初,为了扭转我国的操作系统市场基本被国外厂商所控制的被动局面,在国家科委的支持下,我们承担了“PDA操作系统及开发平台的研究与开发”这一国家“九五”重点攻关项目的研发工作。从那时起,Hopen系统的研制工作就已启动。经过多年的努力,Hopen系统已完成了由研发阶段向产业化阶段的过渡,在PDA、机顶盒、瘦客户机及智能手机等领域中得到了很好的应用,是国内自行研制的嵌入式软件系统中的主要品种之一,而且其构成比较齐全。在本书所介绍的操作系统、软件开发环境、窗口系统、网络系统、数据库管理系统及Java虚拟机等诸方面,除数据库管理系统之外(一些第三方厂商开发的数据库管理系统可在Hopen系统上运行,如人大金仓信息技术公司的“小金灵”系统),它都有对应的部分,比较适合作讲述的实例。
第三,嵌入式软件的内容已大大地丰富,形成了由操作系统、支撑系统及应用系统3个层面所组成的体系。传统的观点一般认为:一个嵌入式系统的软件部分应当由操作系统和建立在其上的应用软件所组成,甚至在有些嵌入式系统上根本没有操作系统,其应用软件直接建立在硬件之上;但在进入了后PC时代后,位于操作系统之上、应用软件之下的支撑软件得到了快速的发展,在嵌入式系统中出现了窗口系统、网络系统和数据库管理系统等一系列支撑软件。在一些嵌入式系统中,特别是一些浅度的嵌入式系统中,它们成为不可缺少的部分。因此,在介绍嵌入式软件时就理所当然地包括这些内容。
在本书即将出版之时,我们首先要向祝庆、蒋宁、靖树峰、奉旭辉、孙毓英、韦忠、张向阳、许晶、王云、刘玉瑛、张今、段大卫、刊、健、王晓云、冯翌坤等为本书的编写付出过辛勤劳动的同事和朋友表示衷心的感谢。他们或直接参加了部分内容的编写,或为我们提供了非常有意义的资料,或为本书绘制了插图,或对书中的源程序做了调试和校正,或做了很多的录入工作。没有他们所做的这一切,本书是不能够在此时与广大读者见面的。
嵌入式软件是一个范围很广的研究领域,涉及芯片技术、操作系统、软件开发环境、窗口系统、网络系统及数据库管理系统等多方面的知识。本书的意图是想通过一个具体的系统,从多方面对嵌入式软件作一个综合性的介绍。这对我们具有一定的难度,要求我们对上述各技术领域的问题都有比较深入的了解;但遗憾的是,对这些技术领域,有些我们很熟悉,有些>匕较熟悉,有些则理解得较肤浅。由于这种原因,本书中定会存在一些错误和不足之处。对此,我们衷心地恳请各方面的专家提出宝贵的意见,以便我们把工作做得更好。