Windows CE系统软件移植流程

合集下载

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移植心得

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 5.0软件安装过程

Windows CE 5.0软件安装过程

Windows CE 5.0软件安装过程首先,在安装Windows CE 5.0 之前我们要安装Microsoft .NET Framework 1.1,这是Microsoft制作的一个组件包。

如果不安装这个软件将无法安装Windows CE 5.0。

双击Microsof Windows CE 205.0.msi文件,如图。

会出现Welcome to Microsoft Windows CE 5.0的安装提示界面,如图。

点击“Install”,会出现如下界面。

Install准备后,出现如图界面。

点击“Next”后显示授权协议界面,选择“I accept the term in the licence agreement”如图。

单击“Next”,显示客户信息界面,键入用户信息,并输入产品密匙,如图。

单击“Next”,出现安装类型界面,选择“Custom(tool and OS)”安装类型,如图。

单击“Next”,如图显示的是目标文件夹对话框,单击“Change...”按钮,设置PlatformBuilder 5.0安装文件夹和Windows CE操作系统安装路径及文件夹。

注意:一般情况下,C盘为桌面操作系统,所以意见将Platform Builder和Windows CE 操作系统都安装到C盘外的其他逻辑盘,如D盘或E盘等,但无论安装到哪个驱动盘,都不可更改如下图所示的相对路径和路径名,否则将来在执行系统编译时会出现严重错误。

单击“Next”出现如下图的定制安装配置窗口,选择要安装的CPU类型。

建议安装Emulator、X86、ARMV4I和xScale处理器(这主要取决个人所使用的CPU体系),并选择安装“Windows CE 5.0 Test Kit”。

另外“Share Source for Windows CE 5.0”是微软开放的Windows CE 5.0的源代码,建议高级用户选择安装。

Windows程序向Windows CE平台的移植

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 和

基于S3C2440硬件平台的Windows CE移植

基于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应用程序移植到Windows+CE下的策略

Windows应用程序移植到Windows+CE下的策略

程序, 都只支持惟一的编程接口Wi 2 . n AI 3 P () Wi o s dw C 8在 n E中也使用注册表来存储用户设置和
少量用户数据,但基于存储空间和系统性能的考虑,Wi n - dw C 注册表的范围缩小了. o s E
3 移植 Widw 应用程序到 Widw C no s n o s E
行, 就必须将应用程序设置为与MF 2 版本兼容. F 2 C. 0 M C. 1 以上版本增加了诸如新的命令栏风格,状态栏和打印支持
等特性 .
其次是考虑 MF C的连接问题.Wi o s n w C d E设备主要 有两个问题: 速度和内存.将 MF C静态连接到应用程序会 占用设备上的许多空间.现有的许多 Wi o s n w C d E设备在
年, 微软公司推出新版本Wno s E . i w C. T d E N
与基于 P C的操作系统不同, no s Wi w C d E不需要标准
硬件,反之,它支持各种各样的C U P ,如X 6 Pwr , 8, e C o P
Wi o s E n w C 操作系统本身具有从程序内部创建和访问 d 数据库引擎的支持和功能.它是惟一一个直接把数据库功 能内置于 O 本身的操作系统. S 2 Wi o s Wi o s . 2 n w C d E和 n w 的区别 d 为了适应嵌入式系统对软硬件提出的全新要求,Wi n - dw C o s E具有许多和 Wi o s n w 不同的特性, d 主要表现在: () no s 1虽然 Wi w C d E在界面和使用上和 Wi o s n w 很相 d 像, 但它并不是 Wi o s n w 的简化版 , d 它具有全新的内核, 为 了适应嵌入式应用的要求, 内核很小, 其 只有几百 K字节. () dw C 有严格的内存限制, s 2Wi o E n 并且采用全新的内 存管理策略. 内存是在编写程序前必须考虑的最重要的' E ` C 问题" W no s a dw C i E的内存限制包括 3 个主要方面: ①大多 数 Wi o s 设备首先装入相对较小的物理内存. n wC d E 如掌上 P C设备通常只有 4 MB或 8 M8内存. no s Wi w C d E设备的物 理内存容量 由生产厂商设定, 开发者对此无能为力; Wi O n - dw C 设备不配备硬盘, o s E 物理内存兼作为程序内存和存储

WINCE移植简要开发步骤

WINCE移植简要开发步骤

WINCE移植简要开发步骤一、建立新的BP工程,选择适当的CPU选择一个合适的模板勾选必要的组件选择合适的网络组件,去掉设备不支持的设备组件二、为工程添加设备驱动1、添加SD卡的支持添加Device Drivers->SDIO->SD Memory添加Device Drivers->SDIO->SDIO Host->Samsung 2410SDIO Host2、添加BSP板载驱动添加Catalog->BSPs->Samsung SMDK2410:ARMV4I->Device Drivers下要用的各种设备三、添加开发和应用程序支持1、添加MFC支持添加Catalog->Core OS->Windows CE devices->Applications and Servies Development->Microsoft Foundation Classes(MFC)2、添加SQL CE的支持添加Catalog->Core OS->Windows CE devices->Applications and Servies Development->SQL Server CE2.03、添加其它想添加的组件,但要注意不要使用的就不要添加,以免镜像文件太大四、设置各CPU语言和编译设置(注意,每种CPU都要设置一下)设置语言设置编译选项五、修改注册表(打开如图所示platform.reg文件进行编辑)1、设置网卡为DHCP模式设置网卡为DHCP模式,在PB5和EVC4中才可以通过微软同步软件实现远程连接和调试,查找TcpIp子键,添加或者设置AutoCFG,EnableDHCP两个值[HKEY_LOCAL_MACHINE\Comm\CS89001\Parms\TcpIp]"AutoCFG"=dword:1"EnableDHCP"=dword:12、设置触摸屏的初始坐标参数查找TOUCH子键,添加或者设置CalibrationData的值:[HKEY_LOCAL_MACHINE\HARDW ARE\DEVICEMAP\TOUCH]"MaxCalError"=dword:7"CalibrationData"="395,763 799,251 759,1279 47,1275 67,215"3、设置SD/MMC卡的目录名称查找SDMemory子键,设置Folder的值,这个值在我们调用CD卡上的程序时候要用到,如果不设置,也可以通过在程序中遍历目录的方法来查找:[HKEY_LOCAL_MACHINE\System\StorageManager\Profiles\SDMemory]"Name"="SD Memory Card""Folder"="Storage Card"六、编译自己的WinCE分别选中不同类型的CPU,点击Build OS->Sysgen编译系统,为了减少错误,请暂时关闭木马防火墙软件七、打包制作SDK把内核编译完成后,就可以打包制作自己的SDK了。

Windows CE6.0下LCD驱动程序移植

Windows CE6.0下LCD驱动程序移植
o g ai g t CD ie . n mir tn he L drv r
Ke r s W i d w E 6 0;d vc rv r C o t l r 3 6 0 y wo d : n o s C . e ie d e ;L D c n r l ;¥ C 41 i oe
中 图分 类 号 :P 1 T 36
文 献标 识 码 : A
d i 0 3 6/.sn 10 - 7 .0 10 .0 o:1 .99 ji .0 62 5 2 1. 104 s 4
M i r to fLCD i e n W i o g ai n o Drv r i nd ws CE 0 6.
邓 中亮 , 肖冠兰
( 北京 邮 电 大 学 电子 工程 学院 , 北京 10 8 ) 00 8
摘要 : 分析 在 嵌 入 式 操 作 系统 Widw E6 0下 L D 驱 动程 序模 型 和 驱 动 加 载 过 程 , no sC . C 以及 Dsl i a p y的驱 动程 序 结 构和 三 星 s C 4 0处 理 器 中 L D控 制 器的 基 本原 理 ; u — e6 1 3 61 C 以 TI a4 0开 发 板 为 平 台 , 述 Wi o sC . 下 L D 驱 动 程 序 在 d 阐 n w E6 0 d C 三 星 ¥ C 4 0上 的 移 植要 点 和移 植 过 程 中各相 关文 件 的 作 ; Widw E5 0和 Wi o s E6 0下 L D驱 动 的移 植 3 61 对 no sC . n w . d C C 做 了 简要 的 对 比。 关 键 词 : n o sC . 设 备 驱 动 ;L D 控 制 器 ; 3 6 1 Wi w E60; d C ¥C40
0 引 言
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Windows CE系统软件移植流程
Windows CE(以下简称CE)是一个可定制的嵌入式操作系统,为了适应不同的硬件平台,需要对BSP、Device Driver、bootloader等进行修改、定制。

本文主要讨论在BSP、driver 等已完成的基础上如何移植,关于BSP、driver等的定制在其他文档中详细描述。

Microsoft为定制CE平台提供了一个集成开发工具——Platform Builder(以下简称PB),我们的工作都是利用这个工具完成的。

另需注意,本文是以X-Hyper255B开发板为例进行说明的。

1.安装BSP(Board Support Packet)
为了定制CE,BSP是必需的。

BSP包括bootloader、kernel、Device driver和configuration。

在利用PB生成特定平台的CE之前,必须先安装针对该平台的BSP。

例如,在安装完X-Hyper255B开发板的BSP后,在PB的Third Party中会出现它的BSP。

2.为X-Hyper255B定制CE平台
2.1. 创建一个新平台
1.在PB中选择File->New Platform开始“New Platform Wizard”。

2.在BSP列表中选择“X-HYPER255B:ARMV4”。

3.后续步骤按向导的提示进行,比较简单,这里不再赘述。

2.2. 设置平台参数
在生成kernel image之前应该对平台进行一些设置。

1.如下图,右键单击选择“Settings…”(也可选择Platform->Settings)
2.在“Build Options”选择页中选中“Enable Eboot Space in Memory”和“Enable Full
Kernel Mode”。

2.3. 生成Kernel Image
1.选择Build->Generate Platform Headers。

2.选择Build->Build Platform。

3.烧写Eboot(Ethernet Bootloader)
与烧写FLASH有关的文件有4个:
Jflash.exe:FLASH烧写程序
giveio.inf、giveio.ini、giveio.sys:JTAG的驱动
3.1. 在Windows2000下安装JTAG的驱动
1.将giveio.sys文件拷贝到C:\Winnt\System32\drivers目录下。

2.利用添加硬件向导安装驱动。

过程如下所示:
3.2. 将Eboot烧写进FLASH
以X-Hyper255B为例,在WINCE410\PLATFORM\X-Hyper255B\target\ARMV4\retail目录下找到eboot.nb0文件。

启动开发板,使用Jflash.exe程序将其写入FLASH。

4.下载kernel image(nk.bin)
4.1. 设置“超级终端”
通常目标板会通过串口输出调试信息,用串口线连接PC机和目标板后,可以利用Windows的“超级终端”来查看。

点击开始->程序->附件->通讯->超级终端,运行后需要对
端口的波特率等进行设置,以X-Hyper255B为例,设置如下:
4.2. 下载kernel image
1.运行“超级终端”后,启动开发板,按空格键进入bootloader设置。

设置IP地址或DHCP,确保6项为Program RAM image into FLASH:(Enabled),
连好网线,然后选择D项开始下载。

2.在PC机的PB中打开前面创定制的CE平台,选择Target->Configure Remote
Connection of Platform Builder,配置如下:
再点击Configure按钮,选择可用设备
接着选择Target->Download/Initialize,开始下载nk.bin。

至此,定制的CE已经下载并写入了目标板的FLASH中。

另外,有关开发板bootloader 的具体设置请参阅开发板的用户手册。

相关文档
最新文档