0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

基于在S3C2410处理器平台上实现Windows CE.NET的应用设计

电子设计 来源:延边大学学报 作者:丁玉芳,李允俊 2020-09-24 10:03 次阅读

目前,嵌入式微处理器种类很多,嵌入式操作系统要支持尽可能多的处理器,这就要完成操作系统针对不同处理器的定制。

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

1 Windows CE系统和Platform Builder 4.2

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

基于在S3C2410处理器平台上实现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)将目标文件下载到目标设备上进行调试;

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提供的源码基础上进行修改。对于有新的硬件设备情况下就要对其进行重新编写。

责任编辑:gt

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 处理器
    +关注

    关注

    68

    文章

    19155

    浏览量

    229059
  • WINDOWS
    +关注

    关注

    3

    文章

    3524

    浏览量

    88399
  • 多媒体
    +关注

    关注

    0

    文章

    495

    浏览量

    36937
收藏 人收藏

    评论

    相关推荐

    S3C2410处理器与Nand flash 的问题

    一个64M Nand flash存储S3C2410处理器的Nand flash相应接口连接,请问这个64M存储空间是否属于8个bank中的一个bank?因为有些书上说bank 0到bank 7
    发表于 11-20 21:41

    S3C2410处理器

    S3C2410处理器通过GPD端口连接LED1-4四个灯,试着画出其电路连接图,并变成实现其逐一点亮功能。
    发表于 11-23 21:50

    基于Windows CE的流驱动程序如何去实现

    S3C2410是什么?Windows CE.net 下的驱动程序是怎样的?基于Windows CE的流驱动程序如何去
    发表于 04-26 06:21

    Windows CE.Net下基于流驱动的AD驱动设计与实现

    驱动程序是连接操作系统和硬件的桥梁。文中作者主要讨论Windows CE.Net 操作系统下,如何设计实现S3C2410芯片具有AD接口的
    发表于 08-25 09:18 19次下载

    Windows CE.NET平台流接口USB驱动的设计

    介绍了USB 系统的软件结构的基础上,详细介绍了如何在Windows CE.NET 平台上进行流接口的USB 驱动程序的开发。
    发表于 09-01 10:43 38次下载

    Windows CE.NET平台流接口USB驱动的设计

    介绍了USB 系统的软件结构的基础上,详细介绍了如何在Windows CE.NET 平台上进行流接口的USB 驱动程序的开发。
    发表于 09-01 11:32 3次下载

    S3C2410处理器 Bootloader(Vivi)源代码

    S3C2410处理器 Bootloader(Vivi)源代码分析 这边的2410开发板提供的光盘上已附交叉编译工具:arm-linux-gcc-2.95.3(源码为cross-2.
    发表于 02-09 15:39 22次下载

    Windows CE.NETS3C2410处理器上的移植

      本文分析了嵌入式操作系统Windows CENET的特点,并利用工具Platform Builder 4。2完成了其以ARM920T为核心的
    发表于 08-27 14:41 613次阅读
    <b class='flag-5'>Windows</b> <b class='flag-5'>CE.NET</b><b class='flag-5'>在</b><b class='flag-5'>S3C2410</b><b class='flag-5'>处理器</b>上的移植

    S3C2410处理器特性

    S3C2410处理器是Samsung公司基于ARM公司的ARM920T处理器核,采用0.18um制造工艺的32位微控制
    发表于 10-10 11:52 5537次阅读

    Windows CE.net的串口通讯类设计

    主要介绍了 基于 W indow s CE. netS3C2410的串口通讯类设计思想。重点阐 述了 W indows CE.
    发表于 03-14 15:50 2次下载

    Win CE.NET下Boot Loader的设计与实现

    本文针对三星S3C2410平台介绍Windows CE Net下Boot Loader的开发。描述系统引导程序Boot Loader的设计,
    发表于 04-18 09:47 0次下载

    基于S3C2410Windows CEnet的智能移动终端设计

    本文介绍 S3C2410处理器的性能以及 Windows CE. net 作为嵌入式操作系统的开发流程 。阐述基于
    发表于 04-18 10:46 0次下载

    基于Windows CEnet的串行通讯设计与实现

    主要介绍了自行开发设计的基于Windows CE.netS3C2410的串行通讯设计思想。重点阐述了Windows CE.net下的串行通
    发表于 04-18 11:28 5次下载

    基于S3C2410处理器Windows CE 5.0操作系统实现BSP移植

    ,是一种硬实时嵌入式操作系统,它可以多种处理器架构(如x86、MIPS、ARM和 SH4)上运行,Windows CE支持ARM体系结构,这是基于
    发表于 03-06 10:10 1034次阅读
    基于<b class='flag-5'>S3C2410</b><b class='flag-5'>处理器</b>对<b class='flag-5'>Windows</b> <b class='flag-5'>CE</b> 5.0操作系统<b class='flag-5'>实现</b>BSP移植

    AN-738: Windows CE.NET下使用AD7877触摸屏控制和Intel PXA250处理器

    AN-738: Windows CE.NET下使用AD7877触摸屏控制和Intel PXA250处理器
    发表于 03-21 12:26 8次下载
    AN-738: <b class='flag-5'>在</b><b class='flag-5'>Windows</b> <b class='flag-5'>CE.NET</b>下使用AD7877触摸屏控制<b class='flag-5'>器</b>和Intel PXA250<b class='flag-5'>处理器</b>