数码相框的设计与实现硕士学位论文(编辑修改稿)内容摘要:

x处理器家族提供了工业领先的多媒体性能,低功耗能力,丰富的外设集成,以及第二代内存堆叠。 还采用了Wireless MXX和Speed Step两项Intel专有技术,进一步将高性能计算和动态电源管理技术相结合[6]。 它是应用于高性能、低功耗、可移动手持设备的集成的片上系统的微处理器家族。 家族成员包括。 1) Intel PXA270处理器:1313mmVFBGA封装2) Intel PXA271处理器:带有32MB FLASH以及32MB低功耗的SDRAM3) Intel PXA272处理器:带有64MB FLASHIntel [7]。 处理器结构框图 Structure of Processor本方案硬件平台使用了PXA270处理器,32MB的Flash以及64MB的SDRAM,外围模块使用了LCD控制器来驱动液晶屏,SD卡控制器来驱动SD存储卡,USB控制器来驱动USB蓝牙适配器,以及IO线来连接按键。 开发端使用PC机+Windows XP操作系统,在PC机上定制内核,开发应用程序,并通过交叉编译的方式下载到开发板上调试,调试成功后,将操作系统内核,应用程序烧写到开发板的FLASH中,此后开发板便可独立运行并执行相应的操作。 数码相框方案软件环境 操作系统环境本方案采用了微软的嵌入式操作系统WINDOWS。 该操作系统是可以同时执行多任务的操作系统,具有十分灵活的电源管理功能,包括睡眠/唤醒模式,使用了对象存储技术,包括文件系统、注册表及数据库,同时还有很多高性能、高效率的操作系统特性,包括按需换页、共享存储、交叉处理同步、支持大容量堆等,还具有良好的通信能力和相当出色的图形用户界面[8]。 WINDOWS 提供了一个集成开发环境Platform Builder,通过这个工具可以方便地根据不同的硬件,定制、裁剪出符合不同系统要求的操作系统。 ,但并不能完全满足用户的需求,因此可以通过Platform Builder来进行相应的驱动开发。 定制好操作系统内核后,可以通过PB导出SDK,并将此SDK安装到其他的开发环境中,如应用程序开发环境EVC,然后在EVC中开发应用程序[8]。 由于WINDOWS 、实时性、模块化及可伸缩性、强大的通信能力等特点。 因此WINDOWS ,如信息家电领域、移动计算领域,工业控制领域等。 嵌入式操作系统的特点是可移植、可裁剪、可定制。 为了提高系统的可移植性,嵌入式操作系统通常采用硬件抽象层(Hardware Abstraction Layer,HAL)和BSP(Board Support Package)的底层结构设计。 HAL提供了与设备无关的特性,屏蔽了不同平台硬件的差异,向操作系统的上层提供了一套统一的接口,BSP保证了嵌入式操作系统可以在新推出的微处理器硬件平台上运行,WINDOWS。 基于WINDOWS [8]。 1) 硬件设计2) 选定BSP3) 获取驱动程序4) 裁剪内核5) 导出SDK6) 开发应用程序WINDOWS 2000/XP操作系统的设计。 从体系结构上,它即具有分层结构的特点,又具有微内核结构的特点[8]。 1) 分层模型操作系统的分层模型的主要特点就是将操作系统的功能模块按功能的调用次序分为若干层。 各层之间只能单向依赖或单向调用,使功能模块之间的调用关系更加清晰。 WINDOWS。 Internet ApplicationsMFC,ATL,COM/DCOM,.NET…COMM,GWES,STORAGE…CoreDLL,Schedule,Memory,Device…BSPs,CSPs,Drivers…硬件应用集成层应用开发层应用支持库操作系统层OEM适配层硬件层 Window Hierarchical Model Diagram of Window 2) 组件模型 WINDOWS。 应用层操作系统层硬件层Window ce应用程序客户应用程序核心核心DLL对象存储多媒体技术GWES设备管理器通信和网络OEM层OAL层引导程序配置文件驱动 Windows Component Model Diagram of Windows 应用编程环境在WINDOWS ,有两个十分关键的部分。 一个是内核定制,一个是应用程序的开发。 微软提供了内核定制工具Platform Builder和应用程序开发工具Embedded Visual C++[8]。 Platform Builder是微软提供的嵌入式操作系统定制的集成开发环境。 它提供了所有进行设计、创建、编译、测试和调试WINDOWS。 它运行在桌面Windows下,开发人员可以通过交互式的环境来设计和定制内核,选择系统特性,然后进行编译和调试。 同时,开发人员还可以利用Platform Builder来进行驱动程序开发和应用程序项目的开发。 Platform Builder提供了以下主要开发特性[8]。 1) 平台开发向导和BSP开发向导2) 基础配置和特性目录3) 自动依赖性检查4) 为驱动程序开发提供基本的测试工具集WINDOWS Test Kit5) 内核调试器6) 导出向导和导出SDK向导7) 远程工具和仿真器8) 应用程序调试器9) 深刻理解WINDOWS ,并灵活运用Platform Builder的配置文件(REG,BIB,DAT,DB)是定制适合目标平台的WINDOWS [8]。 编写在WINDOWS ,需要使用专门用于WINDOWS ,目前应用最广泛的是EVC。 EVC开发和Windows下的VC开发在界面、语法和开发流程上基本是一样的,但也有一些不同之处,EVC编程都是对特定目标硬件的编程,运行WINDOWS ,所以编程时首先要明确目标硬件的特点和要求,比如有的嵌入式系统没有显示器,则编程中就不需要进行显示信息;有的嵌入式系统对内存限制较大,则编程中对内存的使用要格外注意;不同的系统使用不同的CPU等。 有以下几方面需要特别注意[8]。 1) 内存管理2) 电源管理3) 用户界面EVC编程环境提供了模拟器来仿真目标硬件进行调试。 一般EVC开发人员都是先在模拟器中将应用程序界面设计好,然后加入对特定硬件操作的功能到实际的硬件平台上进行调试,这样就加快了开发速度。 由于WINDOWS ,它不支持任何16位函数,所以EVC编程是WIN32编程。 WINDOWS API与WIN32 API也不完全相同。 WINDOWS API中的绝大部分函数,但有些是不支持的。 支持Win32 API UI,并针对典型Windows CE设备较小的显示大小进行了改制[9]。 同时它又扩充了一些特定的WINDOWS ,只在WINDOWS。 WINDOWS。 本地文本格式是Unicode。 虽然EVC编程与VC编程有许多不同,但它依然是Windows编程。 Windows下VC开发的对类、COM/ATL的使用、程序的调试方法、开发流程等编程经验都可应用于EVC的编程[8]。 数码相框方案总体设计 硬件设计本数码相框方案采用了主控制器加外围模块的结构。 主控制器采用Intel PXA270处理器。 图片的显示使用液晶屏。 FLASH用于存储定制的内核及应用程序。 SDRAM用于操作系统及应用程序的运行空间。 SD卡作为图片的存储器。 用USB蓝牙适配器实现通过蓝牙将手机的图片传输到数码相框中,并用按键控制应用程序的运行。 主控制器PXA270FLASHSDRAMLCD按键SD卡USB蓝牙适配器及U盘 硬件结构图 Hardware Structrue Diagram 软件设计本方案根据对用户需求的分析,设计了图片显示、显示的动态效果、背景音乐、视频播放以及通过蓝牙传输图片等功能,这些功能可以满足用户的基本需求。 数码相框方案显示动态效果图片显示定时显示通过蓝牙传输图片背景音乐 功能结构图 Function Structure Diagram 本方案的应用程序采用EVC开发,没有设计用户界面,插入SD卡后,应用程序读取SD卡中的第一张图片并显示出来,然后通过按键的操作实现对应用程序的控制,包括通过操作按键显示下一张图片、定时显示下一张图片、音频的播放、还有动态效果的开启等。 插入SD卡并开机显示SD卡中第一张图片按键显示下一张?显示下一张YES定时显示。 NO定时显示YES结束。 YES音乐播放。 NO显示当前图片播放音乐YES结束。 音乐停止NO蓝牙图片接收。 NO接收图片NOYESNOYES Flow Chart of Operation 本章小结本章主要介绍了本数码相框方案的硬件平台(重点介绍了处理器)以及软件环境(包括操作系统环境以及应用编程环境),还对本方案进行了整体的设计,其中包括硬件的结构框图,软件的功能图以及流程图。 第4章 数码相框方案具体实现 操作系统的定制嵌入式系统的硬件平台各异,处理器的种类有很多,所以嵌入式操作系统需要针对特定的平台进行定制,生成特定的内核。 WINDOWS ,生成操作系统内核的步骤如下。 1) 安装XSBase270BSP包(板级支持包),BSP包包括EBOOT(bootloader)、OAL适配层、设备驱动和一些配置文件等。 安装BSP Installation of BSP安装完成后,将在WINCE500\PLATFORM\目录下面生成XSBase270文件夹,并且BSP安装在Platform Builder中的Catalog栏目中的Third Party中。 安装BSP完成 Completion of Installing BSP2) 创建新的工程并选择新安装的BSP。 创建工程 Creation of Project然后根据系统需求添加组件,完成内核的配置,要注意内核的大小。 3) 内核配置完成后,就开始编译内核,,以便在新的平台上运行。 编译选项 Options of Compiler4) 使用jflash命令烧写Eboot。 Eboot与PB有很好的兼容性[10]。 用JTAG线将PC机与开发平台连接在一起,然后运行jflashmm pxa270 ,并用超级终端观察Eboot的输出信息。 烧写Eboot Download Eboot5) 配置Eboot。 如果下载的是DEBUG版本,内核下载后会启动,如果下载的是RELEASE版本,镜像文件会被写入Flash中,然后再启动。 内核启动 Starting of Kernel6) 内核镜像下载完成后,在PC机上安装ActiveSync,用USB线连接好PC机和目标机,并在Windows CE操作系统中建立新的连接,之后就可以在PC机和目标机之间接收和传输文件。 EVC中开发的应用程序就可以通过USB线下载到目标平台并进行调试。 通过IImage显示图片 COM组件组件对象模型COM是微软公司为了使计算机工业的软件生产更加符合人类的行为方式开发的一种新的软件开发技术。 在COM构架下,人们可以开发出各种各样的功能专一的组件,然后将它们按照需要组合起来,构成复杂的应用系统。 由此可以带来很多好处,如可以将系统中旧的组件用新的组件替换掉,以便随时进行系统的升级和定制、可以在多个应用系统中重复利用同一个组件、可以方便的将应用程序扩展到网络环境下,COM与语言、平台无关的特性使所以的开发人员均可充分的发挥自己的才智与专长编写组件模块等[11]。 COM是开发软件组件的一种方法。 组件实际上是一些小的二进制可执行程序。 它们可以给应用程序,操作系统以及其他组件提供服务。 开发自定义的COM组件就如同开发动态的,面向对象的API。 多个COM对象可以连接起来形成应用程序或组件系统。 并且组件可以在运行时刻,在不被重新链接或编译应用程序的情况下被卸下或替换掉。 Microsoft的许多技术,如ActiveX,DirectX以及OLE等都是基于COM而建立起来的。 并且Microsoft的开发人员也大量使用COM组件来定制他们的应用程序和操作系统。 COM所含的概念并不止是在Microsoft Windows操作系统下才有效。 它实际上像结构化编程及面向对象编程方法那样,也是一种编程方法。 在任何一种操作系统中,开发人员均可以遵循“COM方法”进行开发,它是关于如何建立组件以及如何通过组件建立应用程序的一个规范,说明了如何动态交替更新组件[11]。 一个应用程序通常是由单个的二进制文件组成的。 但编译器生成应用程序之后,在对下一个版本重新编译并发行新生成的版本之前,应用程序一般不会发生任何变化。 操作系统,硬件及客户需求的改变都必须等到整个应用程序被重新编译生成。 目前这种状况已经发生变化。 开发人员开始将单个的应用程序分割成单独多个独立的部分,也就是组件。 好处是可以随着技术的不断发展而用新的组件取代原有的组件。 应用程序可以逐渐完善。 利用已有的组件,用户还可以快速的建立全新的应用。 传统的做法是将应用程序分割成文件,模块或类,然后将它们编译并链接成一个单模应用程序。 它与组件建立应用程序的过程有很大的不同。 一个组件同一个微型应用程序类似,都是已经编译链接好并可以使用的二进制代码,应用程序就是由多个这样的。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。