嵌入式操作系统Windows CE.NET在S3C2410平台上的移植

发布者:dong125612最新更新时间:2013-03-30 来源: edmchina 关键字:Windows  CE.NET  S3C2410  移植 手机看文章 扫描二维码
随时随地手机看文章
    目前,嵌入式微处理器种类很多,嵌入式操作系统要支持尽可能多的处理器,这就要完成操作系统针对不同处理器的定制。   

  本文分析了嵌入式操作系统Windows CE。NET的特点,并利用工具Platform Builder 4。2完成了其在以ARM920T为核心的S3C2410处理器上的定制。

  1 Windows CE系统和Platform Builder 4.2
   
  Windows CE是微软推出的一个32位、多线程、多任务的嵌入式操作系统,是微软专门为信息设备、移动应用、嵌入式应用等设计的嵌入式模块型操作系统。用户可选择、组合和配置Windows CE。NET的模块和组件来创建用户版的操作系统。


   
  Windows CE。NET是WindOWS CE 3。0的后继产品,其系统组成如图1所示。Windows CE。NET为快速建立下一代智能移动和小内存占用的设备提供了一个良好的实时操作系统,它具备完整的操作系统特性集和针对端对端开发的环境,并包括了定制设备所需要的一切,例如,联网能力、实时性、小内存占用、多媒体以及Web浏览功能。

  Platform Builder 4。2是微软提供给Windows CE。NET开发人员进行基于Windows CE。NET平台下嵌入式操作系统定制的集成开发环境。它提供了所有进行设计、创建、编译、测试和调试Windows CE。NET操作系统平台的工具,开发人员可以通过交互式的环境来设计和定制内核、选择系统特性,然后进行编译和调试。同时开发人员还可以利用Platform Builder来进行驱动程序和应用程序项目的开发等。

  2 硬件平台
   
  HHARM9-EDU开发平台是由华恒公司开发的一套用于嵌入式系统教学的平台,它由核心板和底板组成。核心板上集成了Samsung S3C2410处理器、16 M 的FLASH 和64 M SDRAM。Samsung的S3C2410处理器是一款高性价比、低功耗、体积小、高性能、高集成度的微处理器,它采用203 MHz的ARM920T内核,集成了16 KB指令缓存和16 KB数据缓存,并利用MMU实现对虚拟内存的管理,LCD控制器支持STN屏或FTT屏,支持NAND flash。核心板功能模块见图2。

  3 Windows CE. NET系统移植

  3.1 移植流程
   
  从根本上说,Windows CE。NET的移植过程也就是改写BSP的过程。BSP又称板级支持包,它是一个包括启动程序、OEM适配层程序(OAL)、标准开发板(SDB)和相关硬件设备的驱动程序的软件包。BSP是基于Windows CE。NET平台系统的主要部分。操作系统移植步骤为:

  1)对操作系统进行裁减,配置各个组件并且修改相关的配置文件;

  2)开发目标设备系统上的设备驱动程序,建立定制的CE操作系统映像文件;

  3)将目标文件下载到目标设备上进行调试;[page]

  4)定制操作系统内核后,导出平台SDK,供在Embedded Visual C++中开发上层应用软件。
    
  移植流程见图3

  开发工具Platform Builder自身就提供了多种目标板的BSP。如果用户的目标板和Platform Builder提供的相同,那么只需要重新编译生成相应的系统镜像下载到目标板即可。但是实际情况更多的可能是处理器相同,而板上的外围设备接口不同,这时候只有修改Platform Builder中相同或相近的处理器的BSP来生成一个新的BSP,这样就可以大大减少BSP的研发周期。

  3.2 基于S3C2410板的BSP开发
   
  BSP的开发主要包括Bootloader、OAL、本地驱动程序的开发以及一些文件的配置 。

  1)Bootloader就是在操作系统内核运行之前运行的一段小程序。通过这段小程序,可以初始化硬件设备、建立内存空间的映射图,从而将系统的软硬件环境带到一个合适的状态,以便为最终调用操作系统内核准备好正确的环境。它存放于目标平台的非易失性存储介质中,如ROM 或Flash。本文移植使用的是华恒公司提供的ppcboot。

  2)OAL即设备商适配层中位于Windows CE内核和目标硬件平台之间的一个代码层。开发OAL的目的是为了实现Windows CE。NET内核和目标硬件之间的通信,包括处理中断、定时器等。

  3)Device Drivers(驱动程序)是指能够管理虚拟或者物理设备、协议、服务等的一段软件模块,操作系统通过驱动程序直接和硬件打交道。设备驱动设计的具体步骤是通过Platform Builder创建一个新的平台,然后根据硬件平台的需要插入和移除驱动,需要修改的文件有Platform。Bib,Platform。reg及驱动程序源代码等。下面以LCD驱动程序源码为例,根据华恒的参考资料,需要对PB的原有驱动进行如下修改:

  WORD TempBuffer[241][320]; // 改后buffer的大小
S3C2410DISP::S3C2410DISP(void)
{
RETAILMSG(0,(TEXT("++S3C2410DISP::S3C2410DISP ")));
//setup up display mode related constants
m_nScreenWidth=240; //屏幕宽由原来的480改为240
m_nScreenHeight=320; //屏幕高由原来的640改为现在的320
m_colorDepth=16;
m_cbScanLineLength=m_nScreenWidth*2;
m_FrameBufferSize=m_nScreenHeight*m_cbScanLineLength;
//memory map register access window ,frame buffer,and program LCD controller InitializeHardware();
   
  寄存器设置是由D:WINCE420PLATFORMsmdk2410KERNELHALcfw。c中的InitDisplay函数进行设置。驱动中通过读注册表中的相应键的值来获得framebuffer的地址。
[HKEY_LOCAL_MACHINEDriverS3C2410CONFIG]
"DisplayDll"="s3c2410disp。dll"
"LCDVirtualFrameBase"=dword:ac100000
"LCDPhysicalFrameBase"=dword:30100000

  4)平台文件的配置。配置文件包括源代码配置文件和操作系统镜像配置文件。源代码配置文件主要是告诉Build工具需要用到的路径、C或Visual C++的源文件以及生成什么类型的二进制文件等,包括Dirs、Sources、Makefile文件等。操作系统镜像配置文件则主要用于给Makeimag工具生成操作系统镜像,包括。bib(二进制映像文件)、。reg(注册表文件)、。dat(文件系统描述文件)、。db(数据库文件)。本文中源代码配置文件只对配置文件做了相应的修改。
   
  利用上述生成的BSP,通过Platform Builder创建一个新的平台,本文直接选择Mobile Handheld平台,接下来根据需要进行选择。最后在WINCE42OPUBLICplatformRelDirSAMSUNG_SMDK2410_ARMV4Release下得到NK。bin,对其进行压缩之后烧写到Flash中。同时导出平台的SDK,供在EVC上开发应用程序。

  3.3 在目标设备上操作系统镜像的调试
   
  开发板和PC机可以通过串行饼行端口、以太网和JTAG/BDM 来进行操作系统映像的下载。本文中,开发板同PC机接网线、串口线,设定超级终端,最后系统在开发板上运行。

  4 结束语
   
  本文简单介绍了Windows CE。NET在HHARM9-EDU 的移植过程,对于其他处理器平台,同样具有参考价值。Windows CE。NET在不同硬件平台上的移植主要是根据对应的硬件修改BSP的过程,驱动程序的设计是构建BSP的关键之一,在没有新的外设情况下,驱动的设计可以在PB提供的源码基础上进行修改。对于有新的硬件设备情况下就要对其进行重新编写

参考文献:

[1]. ARM920T datasheet http://www.dzsc.com/datasheet/ARM920T_139814.html.
[2]. ROM  datasheet http://www.dzsc.com/datasheet/ROM+_1188413.html.

关键字:Windows  CE.NET  S3C2410  移植 引用地址:嵌入式操作系统Windows CE.NET在S3C2410平台上的移植

上一篇:基于嵌入式系统的桩基础检测仪的研制
下一篇:一种基于GPRS/CDMA 1X的无线路由器

推荐阅读最新更新时间:2024-03-16 13:20

如何将一个开源游戏移植给一款32位微控制器
  随着微控制器性能增强,已经有可能用它们执行一些在90年代还需要PC处理能力的程序,而游戏领域的应用受这一进展影响很大。现在可以在某种移动应用(包含图形LCD和一个32位 ARM微控制器)中实现第一个PC上的3D游戏。本文将阐述如何将一个开源PC游戏的代码移植到一款有适当源文件结构的微控制器上。   在上世纪90年代,游戏开始在计算机世界中蔓延。我还记得第一次玩Wolfenstein 3D,那是第一款3D的PC射击游戏。它由IdSoftware于1992年开发,是Doom的前身。Wolfenstein 3D证明PC的图形能力已足以满足这种类型3D动画的开发。90年代很多十几岁的年青人都会记得Wolfenstein 3D,因为这是
[单片机]
微软绝不抛弃Win10 Mobile:让风吹干流过的泪和汗
    在外界看来,Windows Phone的发展曲线已跌落至谷底,不过倔强的微软并不打算就此放弃。日前在亚特兰大举办的Ignite 2016技术大会上,微软陈述未来对Win10 Mobile手机和小尺寸平板产品的规划。Win10 Mobile产品经理Alan Meeus重申:微软致力于发展Windows 10 Mobile。   据外媒Neowin消息,微软在Ignite 2016技术大会上公布Win10 Mobile Redstone2(红石)的部分特性,小小地秀了一把优越。其中包括增强的Continuum模式、自定义开始菜单。而在企业级应用方面,支持管理员通过USB端口批量升级,远程检查SMS记录获取更多控制权等。
[手机便携]
基于ARM的嵌入式linux 内核的裁剪与移植
0 引言 微处理器的产生为价格低廉、结构小巧的CPU和外设的连接提供了稳定可靠的硬件架构,这样,限制嵌入式系统发展的瓶颈就突出表现在了软件方面。尽管从八十年代末开始,已经陆续出现了一些嵌入式操作系统(比较著名的有Vxwork、pSOS、Neculeus和Windows CE)。但这些专用操作系统都是商业化产品,其高昂的价格使许多低端产品的小公司望而却步;而且,源代码封闭性也大大限制了开发者的积极性。而Linux的开放性,使得许多人都认为Linux非常适合多数Intemet设备。Linux操作系统可以支持不同的设备和不同的配置。Linux对厂商不偏不倚,而且成本极低,因而很快成为用于各种设备的操作系统。嵌入式linux是大势所趋
[单片机]
SPARC结构与实时内核的移植
1.寄存器窗口 SPARC结构继承伯克利RISC结构,寄存器窗口是其一个重要特性。寄存器窗口又称寄存器组,且该组寄存器只对当前运行程序可见。一个寄存器窗口包含32个无浮点寄存器,根据其使用习惯通常记为g0,...,g7;l0,...l7;i0,...,i7;o0,...,o7。其中 g0,...,g7为全局寄存器,其余24个为当前窗口寄存器。如图1。 图1:寄存器窗口 指 N个寄存器窗口,其中,SPARC结构规定N=2**n(1= n =5),即N=2、4、8、16或32,本文中N的值为8。在一个寄存器窗口组中,相邻寄存器窗口存在寄存器公用。SAVE指令能够分配一个全新的窗口CWP-1。其中
[嵌入式]
STM32学习之uCGUI移植详解
以下内容大多是网上资源,我只做一些修改和结合,为的是能够方便更多的和我一样的菜鸟们搞懂GUI的移植。 第一部分:在UCGUI移植之前 在移植之前,首先要了解在网上下的UCGUI 3.98源码的文件结构是。 UCGUI 3.98源码中有三个文件夹: 1)“tool文件夹”是用来使用一些uCgui的上位机程序,基本都是字体和模板查看之类的. 2)“sample文件夹”下面是已经别人帮你写好了很多有用的东西,像跟操作系统有关的GUI_X或者一些模板(后面我们会用到的自己定义的Demo),或者是gui配置.后面再一一详细叙说这个文件夹的功能. 3)“Start文件夹”里面,这是我们最主要的文件夹.里面就包含了uCG
[单片机]
先抛 Windows、又弃 Office,纳德拉如何再造微软?
3 月 30 日,微软 CEO 纳德拉在自家的职场社交平台 LinkedIn 领英上发布了一条新动态,动态中说: 「鉴于目前我们很多人都在远程工作和学习,保持连接并时刻关注到最重要的事情从来没有像现在这样重要。」 而在这条动态的下面转发的是微软生产力软件 Office 365 的一个最新动向。 在这一新动向中,微软宣布,Office 365 将在 4 月 21 日正式更名为 Microsoft 365。微软在官方博客文章中表示,新的 Microsoft 365 在功能上新增了人工智能(AI)模块以及丰富的内容模板等,不但可以让用户成为一个更好的作家、演讲者、设计师,关键是还可以加强与家人之间的联系。 在相关的功能模块推介中,微
[手机便携]
先抛 <font color='red'>Windows</font>、又弃 Office,纳德拉如何再造微软?
基于Windows CE.NET实现蓝牙通讯模块的几种方法
0 引 言     自1998年,世界九大电子产业巨头共同发起蓝牙特殊利益集团SIG后,在短短不到十年之内,蓝牙技术已经被应用到如信息家电、电子商务、汽车、航空、医 疗、交通等多个领域。在移动计算方面,蓝牙技术采用了一种极为经济的形式解决了无线通讯“最后10m”的问题,从而替代了各种移动信息电子设备之间的电 缆。因此,蓝牙技术在移动计算领域的应用将十分广阔,它的应用开发也就有很大的实际意义。     微软公司从1996年起开发了嵌入式操作系统Windows CE 1.0开始,凭借着其在PC市场上的成功经验和Windows CE类似于PC机上操作系统的作者简介:白 炜(1980-),男,硕士研究生,研究方向为嵌入式系统。 导师简介:
[网络通信]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved