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

    文章

    18250

    浏览量

    222054
  • WINDOWS
    +关注

    关注

    3

    文章

    3438

    浏览量

    87141
  • 多媒体
    +关注

    关注

    0

    文章

    481

    浏览量

    36676
收藏 人收藏

    评论

    相关推荐

    基于嵌入式Linux与S3C2410平台的视频采集

    基于嵌入式Linux与S3C2410平台的视频采集首先简介基于嵌入Linux系统的S3C2410平台和在平台上进行开发所需要的软件环境,接着
    发表于 03-28 12:51

    S3C2410处理器与CS8900A开发应用实例

    一些物流先进国家已经采用专业的盘点设备——盘点机,用于物流盘点。 我们设计时采用了目前流行的嵌入式微处理器作为系统核心部件。其微处理器选型是采用韩国三星公司生产的S3C2410
    发表于 04-12 15:16

    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

    基于ARM S3C2410处理器的PDA人机接口电路设计

    结束语   本文结合实际消费电子PDA的研究与开发要求,参照目前国内外PDA的各种功能和结合实际需要,选用三星公司的S3C2410处理器,结合PDA通用功能的需要,并考虑硬件扩展的方便性,设计了PDA
    发表于 06-19 05:00

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

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

    基于S3C2410的黄金矿工游戏的设计资料分享

    。① 输出部分包括: 4个发光led、蜂鸣器。② 控制部分包括:键盘的*键,#键,B键。③ 显示部分LCD显示屏上可以实时的显示矿工挖矿的状态。游戏功能分析要实现S3C2410 ARM处理器和嵌入...
    发表于 12-24 06:20

    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次下载

    Windows CE.NETS3C2410处理器上的移植

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

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

    主要介绍了 基于 W indow s CE. netS3C2410的串口通讯类设计思想。重点阐 述了 W indows CE. net
    发表于 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次下载