基于WinCE平台的应用程序移植研究
winCE移植

近期,公司让我负责一个嵌入式消费产品的开发项目。
此产品原来的操作系统是WinCE 5.0,现在因应市场需求不但要增加功能更加强大的硬件,而且公司也要求把操作系统升级为WinCE 6.0。
在接手此项目后,我立即开始进行操作系统的定制开发,但结果却是欲速则不达。
后来,我在时间和成本的多重压力因素下反思时,发现我犯了一个致命的错误,就是为了更快的把产品推向市场,在开发过程应该是移植操作系统而不是重新定制操作系统。
本文根据我在此项目上得到的经验和总结,先分析BSP移植对WinCE的重要性和影响,然后在此基础上通过对Bootloader、OAL和驱动程序的移植来具体探讨BSP的移植过程。
什么是WinCE操作系统移植?(1)为什么要进行操作系统移植?目前嵌入式系统应用变得越来越广泛了,嵌入式产品充斥着许多领域,如日常生活的手机、MP4、PDA等都属于典型的嵌入式系统。
随着技术和消费者需求的变化,即使是同一类型的嵌入式产品也会存在着硬件平台的变化,或会存在着软件平台的更新换代。
因此,为了更快的适应市场需求,在实际开发过程更倾向于移植操作系统而不是重新开发操作系统。
这样不但可以节省时间,还能大大提高开发效率。
由于嵌入式系统是一个软硬件紧密结合的系统,因此操作系统移植包含两个层面上的工作:一个层面是CPU级的,另一个层面是板级的。
由于WinCE操作系统几乎完全是用C语言编写的,所以可移植到众多的32位微处理器上。
这其中包括ARM、x86、MIPS和SHx等,而且CPU 级的移植通常由微软或芯片制造商来完成,这会极大地减轻0EM厂商开发过程中移植操作系统的工作量,但板级层面的移植则还是需要由OEM厂商来完成的。
一般来说,一个WinCE系统包括四层结构:应用程序、WinCE内核映像、板级支持包(BSP)、硬件平台。
而基本软件平台则主要由WinCE系统内核映像(OS Image)和板卡支持包(BSP)两部分组成。
因为WinCE系统是一个软硬件紧密结合的系统,因此即使CPU处理器相同,但是如果开发板上的外围硬件不相同,这个时候还是需要修改BSP来完成一个新的BSP。
Win CE移植心得

Win CE移植心得WINCE是有微软推出的一款面向消费类电子市场的嵌入式操作系统,它的实时性能没有VxWorks那么强,但正是这一点使得它成为消费电子市场的新宠,现在有许多公司和研发机构都开始把注意力转移到WINCE 的开发上了了。
以下简要谈谈我前段时间在S3C2410上移植的一些经验。
1。
软硬件平台:pc要求512M内存,P4以上CPU,10G以上硬盘空间;串,并口下载线;双机互连线;JTAG 仿真器;NETARM-2410 实验箱;PLATFORMBUILER;.NET FRAMEWORK1.0;VS2005(可用EVC 或EVB);超级终端;JTAG驱动。
2。
EBOOT ,TOC,NBOOT,这三个文件由厂家提供,自己开发板子的话只能由自己来写了。
三个文件烧在FLASH的前三个BLOCK里,TOC负责保存上点后进入操作系统前的各项配置,具体可参考厂家提供的具体使用方法。
3。
使用NK.BIN,我们在后边不管做多少的工作基本就是围绕着这个NK.BIN进行的。
这个文件由PLATFORMBUILDER来生成,这个软件的使用和VC的比较相似,只要按照说明书以及一些论坛上介绍的方法进行就能生成一个镜像了,当然那可能不是我符合我们要求的,如何配置那些选项可以查阅网上的资料,在VCKBASE里付林林有个专栏就是介绍这个的。
4。
完成以上几步就可以把NK.BIN烧到FLASH中去了,需要提醒的是,之前的那3个文件是通过JTAG 烧进去的,而NK.BIN是要通过双机互连线传过去,还有可以用USB传输的,但我没试过,其实这些都很简单,因为这些的底层软件已经由厂家做好了,烧好之后你就可以看到一个比较熟悉的界面了,是不是很想WINDOWS 其实它的好多API都和PC WINDOS是通用的。
5。
开发程序,如果你只是要把哪个镜象烧进去什么也不干,那其实是没多大意思的;如果你要开发应用程序,那么开发才刚刚开始,你需要使用EVC ,EVB ,+PB;如果开发驱动程序,那么开发的程序能在这时其作用,你的工作就是成功的。
基于Windows CE的嵌入式系统镜像文件移植的研究

新建 P a fr u e l to mB id r工程 t
Pafr ule 定制 操作 系 统 及 移 植 到 硬 件 的方 法 , I 0m B i r t d 包括 自定
本 项 目应 用 研 华 MI 2 0 C一 0 0工 业 控 制 计 算 机 作 为 硬 件 , 采 用 Wid w .e . 为 实 时 操 作 系统 ,开 发 出工 业 控 制 n o s CEn t42作
低了系统移植 的复杂度 , 满足了嵌入式系统存储空间有限 、 应用
针对 性 强 的特 点 。
t h U Ca d f r te P b s d Mo lr MI 2 0 n u t a c mp t r s l s o t e CP r o h C- a e du C- 0 0 Id s r l o ue e‘ . a i i e Ke wo d : n o .e .mb d e y t m。C— a e d lr Id sr lc mp t r y r sWid ws CE n t e e d d s se P b s d Mo ua n u ta o u e i
e e d d o eai ytm.sa x m l. w i u sh w t rnp ni p r i yt m g o u n (KBN mb d e p r n ss A n ea p tg e e e d c s o ot s l t g o ea n ss m ia ed cmet N .I) s a a n tg e
义操作系统镜像 ,将 生成 的镜像 文件 ( .I NKBN)移植 到 MI C一
基于WinCE平台的图片按钮的移植研究

Widw E标 准之 间 的不 同 ; 储器 的 限制 和存 储器 溢 出的恢 复 ; no s C 存 电源 管理 的不 同处理 方 式 ; 在 大量 不 同 存
的硬件 特性 和 限制 ; 试 和 调试 过 程 不 同。其 中 Wid w E A I和 Wi3 P 不 同点 是 : n o sC 测 n o sC P n 2 A I的 Widw E A I Wi 2A I的一个 子 集 , 且 其 中部 分 函 数 的 功 能 已精 简 。例 如 对 颜 色 和字 体 的支 持 更 加 有 限 。 P是 n P 3 而 Wi o sC P n w E A I具 有 对 Wid w E 的 特 定 扩展 功 能 。其 中的 一 些 功 能 如 触 摸 屏 (o c cen 和 通 知 d n o sC t hsre ) u (ofao ) nti t n 需要 设备 在硬件 功能 上 的支持 。当从 P ic i C平 台移 植 已有 的 Wi3 n 2应 用程 序 到 Widw E时 , n o sC
改 或替换掉 不与 Widw EA I 容 的引用 J no sC P 兼 。本文 以一个 在 Widw E下开 发 的应 用程 序为 例 , no sC 实现
了图片按钮 从桌 面 Wi o s 的应用 程序移 植 到 Wid w E下 。 n w下 d n o sC
1 图 片按 钮 描 述
质 量 的途 径之 一 。
在 WiC n E平 台定 制好 后 , 据对应 的 S K开 发应用 程序 。许 多 Mi oo no s 的应 用程序 可 以移 根 D c sfWidw 下 r t
植 到 Mir ot n o sC co f Widw E上 , s 而且所 需 的工作量 远小 于重 新 开发 这些 程序 。将程 序移 植 到 Wid w E所 n o sC 要 处理 的主要 问题包 括 : coo n 2A I Wid w EA I 之 间的不 同 ; coo C标 准 和 MF r Mi sfWi3 P 和 r t n o sC Ps Mir fMF st Cf o
Windows程序向Windows CE平台的移植

多在 台式 计 算 机 上 或 者 在 嵌 入 式操 作 系 统上 运 行
的测量 应用 程 序 ,有 必要 移 植 到Wid w E . n o s 下 这 C
样 会 给人 们 的工作 带 来 极大 的 方便 , 大 大提 高 工 并
改 或者 寻求 可替 代 的 丽数 。概 括起 来 , n o sC Widw 考虑的主要 问 no s 需 C 题 包 括 : cootWi3 Mi sf n 2应 用 程 序 编 程 接 口 A I r P
( p l ai rga mig n r c )和Widw E A pi t nPorm n t f e c o Iea n o s 应 C
些 不 支 持 的 函数 就 必 须 通 过 调 用 其 它 函数 间接 实 现 它们 的 功能 。 如C 行时 间 库 中不 存 在 内存 分 配 运 函数cl C 可 以通过 调 用mal , 示 初 始化 内存 al , O l c 并 o
来 实现 。再 如 , 以用P l ie 现 M vT 和Ln T 可 o Ln 宴 y o e o ie o 函数 的功 能 。 ( )有些 Wi3 函数在 Wid w E 2 n2 n o s 中虽 然 支持 C 但 多 一些 限制 , 如减 少 了参 数 个数 或 缩 小 了参 数 的 可选 范 围 。例 如 ,创 建 窗 口函数 C etWid w和 ra e no Ce tWidw x Wid w E中是 支持 的 .但 可供 ra e n o E 在 n o sC 选择 的 窗 口类 型 有所 减少 。 ( )Wid w E 3 n o sC 程序 也 可 以用 MF 开 发 . 是 C 但 程 序 消息 定 义 有 所 不 同 。它 不 完 全 支持 以WM 和
S3C2410下的Windows CE.net的移植及应用程序开发

0 引言
的硬件一体化 , 具有软件代码小 、 高度 自动化、 响
应速度快 的特点 , 是一个具 有广阔发展前景的信
嵌入式 系统是指 以应用为中心 、 以计算 机技 息技术领域. 随着硬件的发展 , 当提 供的应用功能越来越 术为基础 、 软件硬 件可裁减 、 适应应用 系统对 功 能、 可靠性 、 成本、 体积 、 功耗等严格要求的专用计
Ab ta t hsp p rito u e o o p r te e e d d o e a n ytm id ws sr c :T i a e rd c sh w t o t h mb d e p rt g sse o W n o n i f C n ae n te mirpo es ro ¥ C 4 0, n e d sg to p l a o E. e b s d o co rc so t h f 3 2 1 a d t ein me d o a pi t n h h f ci s t r . e k ys p h b v rc saeds u sd a d terltd c n e t r x f o wa T e t si tea o epo e r ic se h eae o c psaee - e h e n s n
维普资讯
第 2 卷第 4 0 期
t ̄
, c4o s z1 下的 Wi os E nt 3 n w .e的移植及应用程序开发 d C
2 7
能和利用率. 由于应用的需要和硬件条件的限制,
是相对于操作系统而言的, 不同的操作 系统对应
S, S 一定要按照 嵌入式操作系统都注重占用空间小和效率高的性 于不同定义形式的 B P 所以写 B P S 这样才能与上层 o s 能特点. 用户可以根据 自己的需要增减系统组件 , 该系统 BP的定义形式来写. 保持正确的接 口。 的支持上层 O . 良好 s 完成创建 这样有利于操作系统 的移植. 个新的 P tr , C to lo a m后 在 a l f a g中把开发 中要用 在 Sm ug公 司 的 S C 40硬件平 台上进 a Sn 3 21 lo a m f 例如 : i s t Mc o o r f 行 Wi o s E nt n w .e操作系统 的移植及软件开发 , 到的一些组件加入到 P tr 中, d C
基于S3C2440硬件平台的Windows CE移植

基于S3C2440硬件平台的Windows CE移植系统移植是解决嵌入式操作系统在不同硬件平台上运行的关键技术,论文以基于S3C2440的嵌入式系统为目标硬件平台,分析了Windows CE操作系统在该平台上移植的相关技术,重点阐述了BSP的框架结构和功能,以及各部分的具体实现,移植充分考虑了代码的重用性原则。
标签:操作系统移植;S3C2440;Windows CE;板级支持包前言近年来,嵌入式技术及产品的快速成长成为了全球IT产业发展的显著特征之一,嵌入式系统以多种形式,日益融入到我们的工作和生活中。
操作系统作为嵌入式系统最重要的软件系统,需要在用户定制的硬件平台上运行,要解决这一问题,就要实现嵌入式操作系统的移植。
移植的目的是使嵌入式操作系统能在特定的硬件平台上运行,它是进行嵌入式系统应用软件开发的基础。
在实际的嵌入式项目开发过程中,采用操作系统移植可以显著缩短软件开发的周期,加快新产品推向市场的时间。
鉴于此,本文对Windows CE在基于S3C2440硬件平台上的移植进行研究。
1 Windows CE及目标硬件平台Windows CE是微软开发的一款功能强大的实时嵌入式操作系统,它采用模块化设计,使得开发人员根据需要定制设备,有助与快速地开发功能各异的产品与服务。
同时,微软为Windows CE的开發提供了一系列的集成定制和开发工具,其中,进行Windows CE 操作系统移植用到的开发工具为Platform Builder(以下简称PB),它是一个集操作系统“构建-调试-发布”三者为一体的集成开发环境。
目标硬件平台以S3C2440为主控,S3C2440是samsung推出的一款16/32 bit 的RISC嵌入式微处理器,它采用ARM920T内核,并具有丰富的片内资源。
同时,硬件平台采用256M的Nand Flash和64M的SDRAM分别作为硬盘和内存。
同时,扩展串口用来输出调试信息,采用DM9000来扩展以太网接口来实现网络通信,利用UDA1341TS音频编解码芯片来实现音频的采集和播放。
毕业设计Windows CE系统在OMAP-L138上的移植开发

①
②
2.3 自定义定制内核并建立基本的操作系统镜像
2.3.1新建PB工程
在VS2005窗口菜单栏上单击文件-新建-项目。
2.3 自定义定制内核并建立基本的操作系统镜像
2.3.2点击确定启动工程向导
2.3.3选择开发版支持包
2.3 自定义定制内核并建立基本的操作系统镜像
2.3.4选择基本配置结构
3.2UBL编译
3.2.2修改文件 C:\OMAP-L138_FlashAndBootUtils_2_36\OMAP-L138_FlashAndBoo tUtils_2_36\OMAP-L138
3.2UBL编译
3.2.2.1.修改必要的函数 串口:(seed开发板用的是串口0)
DDR2参数 全部都修改(seed l138开发板的DDR2参数) 其中DDR2参数可通过下excel表计算: DDR2参数修改:
第1 章
开发平台的建立
1.2安装顺序 1.安装Visual Studio 2005 2.安装MSDN 3.安装Visual Studio 2005 Service Pack 1 4.安装Windows Embedded CE6.0 5.安装Windows Embedded CE 6.0 Platform Builder Service Pack 1 6.安装WINCE6.0 R2 7.安装WINCE6.0 R3 8.安装Windows Embedded CE 6.0 Monthly Updates (May 20 10 onwards) 9.安装Mobile QQ Messenger Client for Windows Embedded CE 6.0 R3
第4章 EBOOT移植、配置以及内核启动
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Wi o s n w 程序向WiC d n E的移植
程序代码的部分移植, 大致考虑以下方面:
2 l sd f h . tax・
1Z Mi oot C标准和 MF o wi o s . c sf MF r Cf r n w d C E标准之间的不同
tf h sa ・ 是 Wi E应用程序向导 自 dx n C 动产生 的预编译头文件. 其中包含了标准 M C头文件和 F 一些与工程设置选择相关的头文件. Wi w 在 n s o d C EMF 40 s a h C. 中, df 头文件较以前比与 P t x・ C 没有那么大的差别, 现在的差别是当时用 I40 E .以 上控件时, 多了编译条件: #f en (WI3_ E &乙(WI3_ d_ N 2WC ) idfe i _ N2 WC >=21a邑(A X L ) E 1) _FD L
- Fg ta) 刀加入关闭按钮 调试的接口( Dbg cv r e 和 Db- d o n ls) 比如 euAte o s ip c s eu o
g vn) E t 客用来建立系统内调试工具. e 根据一定目 标硬件和应用程序, 还可以使用 Wi w C n s E的 o d Rm tA I R P) e oe P (A I 功能辅助进行调试[. , 〕
2 9
四 安 工 业 大 学 字 报
第2卷 7
E - M 开头的消息. 例如, n o S E设备通常用 Wi w C d
输人笔代替鼠 因而没有D k P 标, s P e o C中的鼠 i 标 右击动作, 不支持 WM R 0 T N ) _ B T 0 D WN消息. ( 同时, n w C 身又产生了一些新的消息. Wi S E自 o d
移植到C 操作系统时都做了某种修改. E 修改的类
分为两种类型: 功能性减弱的类和功能性增强的 类. 较重要的一些功能性减弱的类是:Fa Wn 、 C r正 ( n 1
#edf ni
22 用户界面 .
C n 和 0 二较重要 的功能性增强 的类有: Wd 仄
C rme d C d Fa wn 和 Wn.
嵌入式操作系统 Wi w C n S E的特性以及它的编译环境 E C的特点, o d V 研究了Wi 3 A I n2 P 和
Wi o s EA I n w C P 和基于类库 MF d C和Wi o s EMF n wC d C在开发和移植过程中的不同之处, 提出了 程序的移植策略和移植步骤. 通过该方法我们成功的将某故障诊断专家系统移植到嵌 入式系统中 进行了开发和应用, 得到了满意的结果. 实践表明应用这种软件移植方法是加快嵌 入式系 统软件开发效率和提高软件质量的有效途径之一 关键词: Wi o S E; n w C 嵌入式操作系 ; d 统 应用程序编程接口( P) MF A I; C
种嵌人式系 产品 . 模块化设计方式使得 统和 [ 它的 j l
系统开发人员和应用开发人员能够为各种不同的 产品来定制它. 它拥有自己的系统结构, 具备独立 开发的内核. 是一种模块化的、 具有强大通信能力 的嵌人式操作系统. 它专门用来支持各种便携式的 个人计算设备如掌上电脑、 电视机顶盒、 数字蜂窝 电话等. 前, n w C 目 Wi s E在通信、 o d 娱乐和移动计 算等领域的应用已初现端倪, 各种基于 Wi o s d nw C E的设备市场前景广阔, 已成为 I T界普遍关注
基于 Wi E平台的应用程序移植研究’ n C
范跃华,张素芹,徐 飞
( 西安工业大学 计算机科学与工程学院, 703 西安 1 o2 )
摘 要: 为了满足嵌入式系 统应用软件需求, 快速地在嵌入式系统中进行应用软件的开发, 采用了 将基于桌面Wi o S d n w 应用程序移植到嵌入式系 统中 进行开发和应用的方法. 为此针对
l) e n
#edf ni m_ nC nn nB r St sy m_ n - ol ad a. eB rtl( w d wd l a e
象p m F l fe ] \ ; idu l +1=‘ ’ Me o e B [n 0
在C 设备_, L 尽管大多数 M C E F 保持未变, 但 仍有一些必须要了解的改动. 这些变动可分为三
种: 新类、 修改的类和删除的类. 新类由于 n S EA Wi w C P 提供了一些不同 o d I 于台式机中任何功能的功能, c o 向 MF Miof r t s C 类库中增加了五个新类:。阮ce 以兔 lm C kt 、 1 l 、 犯Eu 以兔) 兔 aa 、&1护 O 和 仪芜 B e r 1 t s C 笼 r) l B be I D Rc o . d
Pl i 实现M v o iT 函 oL e yn oe 和L eo 数的功 T n 能. 有些 Wi 函数在Wi o S E中虽然支持 2 n 3 nwC d 但多了一些限制, 如减少了参数个数或缩小了 参数
的可选范围. 例如, 创建窗口函数 Cet no r e dw a wi 和Cet no E 在Wi o S E中是支持的, r e dw x a wi nwC d 但可供选择的窗口 类型有所减少.
! w 〔支 们 a l . d All t d (爪 l d rA ( 〔l na(wA- m一 1 n nh a I ol me {
wi E n 仿真环境中 c 进行. 不过, 如果你是为非标准
的硬件平台( 比如自 定义嵌人应用程序) 开发应用 程序, 那你就需要考虑一种替代的办法来检验你的 应用程序的正确性. n w C P 包含了用于 Wi s EA o d I
一 I一R ME } MANF A ) ! 刀插人菜单栏
!m w d o nB r net prt ( ) C m ad a Isr eaa r6 1 _n . s o } 插人分隔栏 / ! w d o nBr od ol r I C m ad a L aT o a( R_ m_ n . B D MANF A ) { / I一R ME } 插人工具栏 /
#e e/ Cf wi o sE . o le l /MF o s r n w C Zl ra r d t I ! l do nC m nBrCet( i f nw ( - a n t d a. r et s a h川
!n-wn C mma d a.n et n B r I d o l n B r Isr Me u a(DR
在Wi w C S E中, n o d 菜单和工具栏不再是独立
删除的类在 n S EMF Wi w C o d C中, 一些类完 全消失. 例如, 没有 Fn sl tn对话框, ot e co ei 因此 C otio 就不被支持. 样, no S E中没 Fn ag Dl 1 Wi w C 司 d
的, 它们都被包含在命令栏中, 以节省 wi o s d nw C 设备较小的屏幕空间. E 命令栏是 Wi w C n SE o d
界面的一大特色, 命令栏中可以包含菜单、 按钮和 组合框等, 但命令栏没有停靠功能, 它被指定在屏 幕的顶部. 基于 Wi w C n S EMF o d C的窗口 创建函 数的主要代码为:
中图号: T 3 Pn 文献标识码: A
随着掌上电脑的迅速崛起, 微软推出的运行在 掌上电脑上的操作系统 Wi w C n s E也越来越引 o d 人瞩目 Wi w C . n s E是一种专为开发小体积、 o d 资 源要求低的机器而设计的一种操作系统, 适应于各
I Wi o S E程序和 Wi o s nwC d n w程 d 序的主要区别
#i en (WI 3_ E P P )/ Co d_ N 2WC _ S C /MF fr f fe di
P l Sz C am i - eP
有Pie st 对话框,Pist Da g rt e p nr u C r te p io 就不 n u l
被支持. 当然, 所有的不存在于 C E下的 Wi w n s o d
特有的共用控件(n acrce L t x A i t t、h kiB 等 m e l c so
等) 也不被 MF C支持.
13 测试和调试的过程不同 .
/ /
开发 Wi E的应用程序与开发用于 Wi 2 n C 3 n 应用程序还有一个重要的不同就是测试和调试方 法. 如果你为一个标准的Wi w C 标系统开 n S E目 o d 发应用程序, 大部分的开发和测试工作就要在
第2卷 第 1 7 期 20 年 0 月 07 2
西 安 工 业
大
学
学
报
J) R ALO IA T C OL1升 A J VE ST ( JN L FX ’ N E HN 《 I LtN】 R I Y C
V l2 N . o. 7 o 1 Fb 0 7 e.2 0
文章编号: 10一7420)6 9一4 0051(060一 1 0 0
Wi o s E程序也可以用 MF Mioot C n w d C( c sf r
Fnao Ca e 开发, udtn ls ) i ss 它不完全支持以WM_ 和
作者简介: 范跃华( 4一, 西安工业大学教授, 9 ) 1 5 男, 主要研究方向为人工智能. r i石. l 6. -a : l@1 o En l tb 3 c m
的 一个热点「. 幻嵌人式软件开发是嵌人式系 统应用 的关键所在, 已成为国内外的一大研究热点阁. 但 Wi o s E与桌面 W no s n wC d i dw 还有一定的区别. Wi o s E n w C 不与Wi o d n w兼容, d 所有运行在桌面 Wi o S n w 上的应用程序将不能直接在 Wi o s d nw d C 上运行. E 而且Wi w C 设备有严格的内存 n sE o d 限制, 支持的A 比桌面Wi o s I P n w 少等等, d 因此