来源:互联网 发布时间:11-15
浏览量:
【摘 要】 随着嵌入式系统的迅速发展, 嵌入式操作系统(EOS)以其良好的可移植性、实时性及模块化特征, 在电子设备中得到越来越广泛的应用。由于微软推出的嵌入式操作系统 Windows CE 具有强大的功能, 本研究选其作为嵌入式应用程序开发的系统平台。用 Platform Builder 建立平台, 并在 EVC 环境下开发具有 MP3 解码及播放功能的嵌入式应用程序, 实现音频高血压治疗系统的终端控制。
[ABSTRACT] Recent years, developing in striking PACe, embedded system has become more and more prevalent. At the same time, we can see a lot of embedded operating system (EOS) beingused in various kinds of electroNIc devices. EOS has many advantages in real time capability as well as transplanting. Windows CE was chosen in the research, mainly because of its powerful capability and good prospect in market. Platform Builder was used to built a platform, and the application program which can deCODe and play MP3 files was wrote in EVC. To use the application program in the audio frequency hypertension therapy system is the final goal.
1 前言
本研究所开发的临床用音频高血压治疗系统由基于 PC 机的控制台和数个治疗终端组成, 需要解决以下几个问题。
(1)PC 机与设备的连接, 实现音乐文件的传输和控制信号的传递。
(2)建立交叉编译环境。
(3)编写程序解码, 并播放 MP3 文件。
近年来, 各种嵌入式产品如雨后春笋般应用于各个领域, 小到便携式媒体播放器、手机、数码相机等个人电子消费品, 大到智能家电、车用导航仪、工业机器人等, 形成了一个充满发展潜力的巨大产业, 并正在逐渐成为软件业的主流方向。嵌入式系统随着硬件的不断发展和需求的提高, 其操作系统有良好的实时性和模块特性, 应用广泛, 发展迅速。为此, 我们采用了基于 Windows CE的解决方案, 包括音乐文件传输和解码应用程序, 以适应治疗系统的功能需求。
嵌入式系统应用软件的开发属于跨平台开发, 需要一个交叉开发环境。我们采用的硬件设备由两部分组成, 一部分是开发应用程序的 X86 体系的计算机( 宿主机), 操作系统采用Windows XP; 另一部分采用 ARM处理器的嵌入式设备( 目标机), 操作系统是 Windows CE。运行于宿主机上的交叉开发软件包含交叉编译器, 其编译出的代码在 ARM体系结构的目标机上运行, 即交叉编译。
本文首先对各种嵌入式操作系统的特点进行分析比较, 然后分两个部分介绍基于ARM 内核的实验装置在 Windows CE.NET 的环境下建立的平台和应用程序。
2 常见嵌入式操作系统
嵌入式操作系统 EOS(embedded operatingsystem) 是一种支持嵌入式系统应用的操作系统软件。它是嵌入式系统(包括硬件系统和软件系统)极为重要的组成部分, 通常包括与硬件相关的底层驱动软件、系统内核、设备驱动接口、通信协议、图形界面和标准化浏览器等。
常见的嵌入式系统有以下几种, Linux: 跨平台、裁剪性好、性能稳定、开放源代码、内核小、效率高、免费、无线连接、开发速度快、支援软件有限; EPOC: 来自欧洲的操作系统, 由三大移动电话厂商诺基亚、索尼爱立信、摩托罗拉共同开发, 市场潜力很大; Palm OS: 3Corn 公司的一种 32 位的嵌入式操作系统, 提供了串行通信接口和红外线传输接口, 可以方便地与其他外部设备通信、传输数据, 具有众多支持软件、开放系统, 简单实用; VxWorks: 美国Wind River 公司于 1983 年设计开发的一种嵌入式实时操作系统(RTOS), 具有良好的可靠性和卓越的实时性, 在工业控制领域有广泛的应用。
本项目采用的 Microsoft Windows CE 是一个 32 位、紧凑、高效和可扩展的操作系统, 适用于各种嵌入式系统和产品。它拥有多线程、多任务、确定性的实时、完全抢占式优先级的操作系统环境, 专门面向只有有限资源的硬件系统。同时, 它的模块化设计方式使得系统开发人员和应用开发人员能够为多种多样的产品来定制它, 可以选择、组合和配置 Windows CE 的模块和组件来创建用户版的操作系统,例如客户电子设备、专用工业控制器及嵌入式通信设备等。Windows CE 直接支持多种硬件外围设备, 如键盘、鼠标、触摸面板、串行口、以太网卡、调制解调器、USB 等。
虽然 Windows CE 目前还不是最为流行的操作系统, 但由于其多任务、实时性、模块化及可伸缩性、通信能力强大等特点, 已经在嵌入式系统的诸多领域有了广泛的应用。
3 开发环境
3.1 硬件环境
ARM 核心板的主要元件 有 以 下 这 些 ,CPU:S3C2410 (ARM920T);RAM:2×32 M BYTE SDRAM;ROM:1×64 M BYTE NAND FLASH; 系统时钟: 12 MHz; 外部电路包括了常用的接口、SD 卡槽、音频输出端、调试用接口及可扩展电路接口。
3.2 开发工具
在 Windows CE 产品开发中, 有两个非常重要的方面, 一个是内核定制, 一个是应用程序的开发。微软提供了两款开发工具: 内核定制工具 Platform Builder 和应用程序开发工具Embedded Visual C++。
嵌入式应用程序开发是针对特定平台的,因此在开发前必须针对不同硬件开发并安装特定目标平台的 SDK( 软件开发工具包), 才能开发出适应目标平台的程序。
本项目采用的平台开发工具是 Platform Builder, 其版本号与 Windows CE 的版本号是一致的。相应的应用程序开发工具包括: Embedded Visual Tools 3.0, 其 中 有 : Embedded Visual C++ 3.0 ( 其中包括 Embedded Visual Basic 3.0 和 Embedded Visual Basic 3.0)、Embedded Visual C++ 4.0 和 Visual Studio.NET。
4 基于 Windows CE 播放程序的开发
4.1 用 Platform Builder 建立平台
PB 创建的 CE 平台的环境有三种: 第一种是真实环境, 包括某一种 CPU 和支持的主板,还有其他配置; 第二种是模拟环境, PB 包含了模拟器, 能够在 PC 上模拟运行 CE 平台; 第三种是 PC 环境, PB 可以创建能够在 PC 机运行的 CE 平台, 并且提供了一组引导文件, 通过这些引导文件可以加载 CE 内核文件 (nk.bin) 并启动 Windows CE。本项目的实现是基于上述三种环境中的第一种———真实环境。
使用 Platform Builder 定制一个平台, 主要包括下面几个部分。
①生成操作系统镜像。
②生成 BSP 包, 包括 OAL(OEM Adaptive Layer)和驱动程序。
③添加新的组件, 主要包括驱动程序和应用程序。
④修改平台的组件。
⑤设置平台的属性和环境变量。
⑥设置远程连接属性, 以便进行操作系统的下载。
⑦下载操作系统, 主要包括下载操作系统到硬件平台和模拟器。
⑧进行相应的调试, 主要包括硬件平台的调试和模拟器的调试。
完成以上的工作后, 在 PB 的 Build 菜单中, 选择 Build Platform。在创建过程中会出现一些 Warning, 点击“OK”。Build 会花掉一些时间, 一个 32 M 的 RAM 可能需要 30 min( 在推荐配置下), 完成后, 在 Output 窗口会出现 error 和 warning 的信息。
接着设置好 Download 的方式就可以点击工具栏上的“Download/Initialize”了, 将定制好的 OS 镜像下载, 再导出该平台的 SDK, 即软件开发工具包, 即完成了开发环境的准备。如图 1所示, 为本项目建立的开发环境。
4.2 在 EVC 环境下开发嵌入式应用程序
在 EVC 环境下编程与在 X86 的 VC 环境下有诸多不同的地方, 这需要在移植和编写程序的时候格外注意。这些不同之处概括出来就是以下这些。
Microsoft Win32 API (application programming interface, 应用程序编程接口) 和 Windows CE 应 用 APIs 之间的不同 ; MFC (Microsoft foundation class library, Microsoft 基本类库) 标准和 MFC for Windows CE 标准之间的不同; 存储器的限制和存储器溢出的恢复; 能量的限制; 存在广泛不同的硬件特性和限制; 测试和调试的不同。
在编译程序之前必须根据你的开发环境来进行一系列的设置工作。本项目的环境是Windows CE4.2(Windows CE.NET), 需要编译CE.NET 下的, 而且是中文的环境, 因为我装了相应的 QT2410 SDK 的中文 IMAGE。首先需要改变 Download directory, 因为默认的目录是系统根目录, 这一目录下的所有文件将会在系统重启时更新, 因此需要将工程设置下的 DEBUG 选项修改, 将“Remote executable path and file name”,“Download directory”,“Program arguments”,“Remote working directory”均修改为“/ResidentFlash/program/”, 当然也可以设成其他的目录。另外需要修改的一个地方是 Project Setings 对话框的资源选项卡, 将语言选项设为中文。
接着需要设置设备的通信方式, 打开“Tools”, 选择“Configure Platform Magager”, 打开 Windows CE Platform Manager Configuration,在其中选择 SDK-QT2410 指定的设备, 再点击 Properties , 打开设置窗口, 将 Transpor 和Startup Server 均设置为 Microsoft Active Sync, 接着选择编译环境,编译并且下载程序到目标设备上。
Downloading file f: 我的程序 fooarmv4dbgcommon.dll.
Downloading file f: 我的程序 fooarmv4dbginterface.plg.
Downloading file f: 我的程序 fooarmv4dbglibmad.plg.
Downloading file f: 我的程序 fooarmv4dbgplayer_ce3.exe.
Finished downloading.
//下载程序及相关文件到设备。
接下来, 就可以运行 exe 文件并播放 MP3 音乐了, 该程序参考了 TCPMP 公布的部分源代码, 并且使用了 Windows CE 下的 libmad 解码库。
5 结论
本研究完成了基于 Windows CE 嵌入式操作系统应用程序的开发, 实现了嵌入式设备上 MP3 格式的音频解码和项目所需要的功能, 适用于音频高血压治疗系统, 为其开发研究提供了一定的应用基础。
参考文献
[1] 姜波, 等. Windows CE.NET 程序设计 [M]. 北京: 机械工业出版社,2007:1-3.
[2] 傅曦, 齐宇.嵌入式系统 Windows CE 开发技巧与实例[M]. 北京: 化学工业出版社, 2004: 2- 5.
[3] 汪兵, 李存斌, 陈鹏. EVC 高级编程及其应用开发 [M]. 北京: 中国水利水电出版社, 2005: 8- 13.
[4] Mark Andrews. Visual C++自学指南 [M]. 北京: 清华大学出版社,1997: 7- 20.
[5] Embedded Visual C++ Programmer’s Guide [M]. Microsoft Corporation, 2001.
上一篇 : 暂无 下一篇 : 烤地瓜机 烤地瓜机烤地瓜的原理
版权声明:
1.华商贸易网转载作品均注明出处,本网未注明出处和转载的,是出于传递更多信息之目的,并不意味 着赞同其观点或证实其内容的真实性。
2.如转载作品侵犯作者署名权,或有其他诸如版权、肖像权、知识产权等方面的伤害,并非本网故意为之,在接到相关权利人通知后将立即加以更正。联系邮箱:me@lm263.com