嵌入式01之欧阳术创编Word文档格式.docx
- 文档编号:16968285
- 上传时间:2022-11-27
- 格式:DOCX
- 页数:8
- 大小:183.21KB
嵌入式01之欧阳术创编Word文档格式.docx
《嵌入式01之欧阳术创编Word文档格式.docx》由会员分享,可在线阅读,更多相关《嵌入式01之欧阳术创编Word文档格式.docx(8页珍藏版)》请在冰豆网上搜索。
1976年Intel公司推出Multibus,1983年扩展为带宽达40MB/s的MultibusⅡ。
1978年由Prolog设计的简单STD总线广泛应用于小型嵌入式系统。
从80年代早期开始,嵌入式系统的程序员开始用商业级的“操作系统”编写嵌入式应用软件,这使得可以获取更短的开发周期,更低的开发资金和更高的开发效率,“嵌入式系统”真正出现了。
90年代以后,在分布控制、柔性制造、数字化通信和信息家电等巨大需求的牵引下,嵌入式系统进一步加速发展。
随着对实时性要求的提高,软件规模不断上升,实时核逐渐发展为实时多任务操作系统(RTOS),并作为一种软件平台逐步成为目前国际嵌入式系统的主流。
21世纪无疑是一个网络的时代,未来的嵌入式设备为了适应网络发展的要求,必然要求硬件上提供各种网络通信接口。
新一代的嵌入式处理器已经开始内嵌网络接口,除了支持TCP/IP协议,还有的支持IEEE1394、USB、CAN、Bluetooth或IrDA通信接口中的一种或者几种,同时也需要提供相应的通信组网协议软件和物理层驱动软件。
软件方面系统系统内核支持网络模块,甚至可以在设备上嵌入Web浏览器,真正实现随时随地用各种设备上网。
论文使用的开发平台为深圳亿道公司提供的EEliodEvluation开发板,该开发板采用的是基于IntelXScale微体系结构的IntelPXA270处理器。
IntelXScale微体系结构支持16位Thumb指令和DSP扩充。
可用于手机、便携式终端(PDA)、网络存储设备、骨干网(BackBone)路由器等。
IntelPXA270微处理器芯片就是一款集成了32位IntelXScale处理器核、多通信通道、LCD控制器、增强型存储控制器和PCMCIA/CF控制器以及通用I/O口的高度集成的应用处理器。
3.系统硬件组成
整个系统以PXA270处理器为核心,以音频输入输出接口,红外接口,10/100M自适应以太网口,触摸屏接口等为外围接口,通过宽温高亮度LCD实现视频输出。
系统框图如图1所示。
3.1
IntelXScalePXA270处理器的系统存储器接口
IntelXSclaePXA270处理器集成了存储单元控制器,其外部的存储总线接口支持:
SDRAM、FLASH、ROM、SRAM、PC卡等。
3.1.1
SDRAM电路的设计
SDRAM选用Hynix的HY57V561620C,其组织形式为4Banksx4Mx16Bit,单片容量
图1系统硬件组成框图
为32MB,采用3.3±
0.3V单电源供电,封装形式为标准54引脚TSOP-II,属于16位的数据总线宽度,选用两片并联的方式,使SDRAM的总线宽度达到32位。
两片SDRAM的32条数据线分别连到PXA270的高16位地址和低16位地址上。
HY57V561620C的时钟频率分了100MHz~166MHz四个档,这里选用133MHz这一档的芯片。
3.1.2
FLASH电路的设计
嵌入式应用程序一般直接存在板子上的Flash芯片中,根据应用的不同可选用不同容量和速度的芯片,在这里选用的是Intel的同步FLASH28F256L18,单片容量为32MB,采用1.8V单电源供电,封装形式为标准79脚的VFBGA,选用两片并联的方式,使FLASH的总线宽度达到32位。
两片FLASH的32条数据线分别连到PXA270的高16位地址和低16位地址上。
3.2
系统电源设计
系统采用TPS65020为PXA270供电,此解决方案除了高效率之外还可以提供业界最佳的瞬态响应,且不会影响静态电源电流和效率,是便携设备处理器电源的理想解决方案。
3.2.1TPS65020芯片简介
TPS65020是德州仪器推出的一款电源转换芯片,该器件可以满足基于XScale的多媒体设备的电源需要。
TPS65020电源管理单元集成了高性能模拟构建块,可帮助由单节锂离子(Li-ion)电池供电的应用支持多种电压。
该器件带有三个具备集成FET的同步降压DC/DC转换器、三个线性稳压器(LDO)以及一个I2C通信接口,可实现全面的可编程性与内核电压的动态缩放。
3.2.2TPS65020供电原理
TPS65020包含的三个同步降压转换器在大负载电流时,一般运行在1.5MHZ固定频率的脉宽调制。
在轻负载电流时,转换器自动进入电源省电模式,并运行在脉冲频率调制。
VDCDC1转换器能传送1.2A的输出电流,VDCDC2转换器能传送1A的电流,VDCDC3转换器能传送800mA的电流。
三个转换器的输出电压是由DEFDCDC1,DEFDCDC2,DEFDCDC3三个管脚分别来设置。
本设计中将DEFDCDC1,DEFDCDC2,DEFDCDC3一并连接到VCC上,所以,VDCDC1,VDCDC2,VDCDC3的电压分别为3.3V,2.5V,和1.55V。
LDO1默认设置电压是1.3V,LDO2默认设置电压是1.1V。
它们分别为PXA270处理器的VCC-PLL和VCC-SRAM管脚提供电压。
PXA270处理器供电的典型配置如图2所示。
图2Intel
PXA270处理器供电的典型配置
3.3
系统音频输入输出设计
UCB1400是飞利浦半导体公司推出的专为液晶显示器手持设备开发的混合信号音频解码/编码芯片。
在一个芯片上集成了音频解码/编码功能、一个触屏控制器和功率管理接口,UCB1400与英特尔音频解码/编码器97(AC'
97)元件规格2.1版本完全兼容,可与众多嵌入式处理器的AC-Link主机控制器通信,如英特尔基于XScale微结构的各系列处理器。
本系统采用PHILIPS公司生产的编/解码芯片UCB1400与PXA270通过AC-LINK连接,输出的信号通过芯片LM4800放大,再通过耳机实现音频输出设计。
3.4
系统10/100M自适应网口设计
采用SMSC公司的LAN91C111自适应以太网控制器芯片与PXA270通过控制总线,地址总线,和数据总线相连。
LAN91C111是专为嵌入式系统设计的,其外围相对比较简单,它与PXA270以及电磁耦合变压器TG110-S050N2、RJ-45接口构成嵌入式以太网,实现10/100M自适应网口设计。
3.5
系统触摸屏设计
采用PHILIPS公司生产的UCB1400芯片与PXA270的AC97控制器连接,即可实现触摸屏功能。
基于ARM核的IntelXScale微体系结构的处理器PXA270中的AC97控制器与UCB1400通讯,可以实现触摸屏上笔触点数据的采集。
PXA270对UCB1400寄存器的地址进行了映射,这样可以通过PXA270的地址直接访问UCB1400的寄存器,读取存在其中的笔触点的各类数据值,整个实现过程简单、方便。
3.6
系统红外接口设计
PXA270的标准UART口集成有符合IrDA1.0协议的红外编、解码器,将其与安捷伦SIR标准型红外收发器HSDL-3600连接便可组成串口红外通信系统。
3.7
系统视频输出设计
PXA270内部集成了功能较强的LCD控制器,、驱动器及輸入輸出缓冲。
支持STN或TFT显示,支持单色或几种彩色像素格式,支持单或双扫描面板显示,支持每象素点18位、19位、24位和25位(bpp)。
推荐的最大显示分辨率是800x600。
可编程决定插入等待状态是在行首或者行末,可在52MHz-25.4KHz范围内编程显示每象素点的时钟频率,也可编程设置帧时钟、行时钟和使能信号的极性。
当LCD功能不使能时,所有的输入输出管脚都可做为普通的I/O口来使用。
本系统通过宽温高亮度LCD实现视频输出,把液晶屏的数据线与CPU的相应引脚相连即可。
采用北京技博科技有限公司生产的6.4寸宽温高亮液晶显示器(嵌入式)。
分辨率:
VGA(640×
480),亮度:
1200nits,工作温度-40—70℃。
4.操作系统移植WindowsCE.net并不是一个通用的安装版操作系统,在形形色色的嵌入式硬件设备世界里,一款CE系统通常只会针对某一种硬件平台生成。
所以,必须根据自己的硬件平台和应用场合定制CE。
操作系统移植步骤为:
1)对操作系统进行裁减,配置各个组件并且修改相关的配置文件;
2)开发目标设备系统上的设备驱动程序,建立定制的CE操作系统映像文件;
3)将目标文件下载到目标设备上进行调试;
4)定制操作系统内核后,导出平台SDK,供在EmbeddedVisualC++中开发上层应用软件。
4.1BootLoader的移植BootLoader是一段单独的程序代码,它存放于目标平台的非易失性存储介质中,如ROM或Flash。
在开发CE的过程中,它主要用于启动硬件和下载nk.bin到目标板上,并有一定的监控作用由于BootLoader涉及到基本的硬件操作,如CPU的结构、指令等,同时又涉及到以太网下载协议(TFTP,当然也可能通过串口)和映像文件格式。
因此从零实现的话,会需要相当长的过程。
好在微软为每种类型的CPU都提供了某种标准开发板的BootLoader例程,因此通常的做法是:
从这些例程中寻找与硬件平台最接近的作为标本程序,然后再从自己的硬件平台上入手做相应的改动。
一些新的评估板可能会由第三方的厂商来提供Bootloader。
如果硬件平台是从这样的基板设计而来的话,那么最好去寻求这些厂商获取Bootloader来移植,以减少工作量。
本文移植使用的就是PXA270Bootloader。
4.2驱动程序的开发与其他操作系统一样,WindowsCE.net也提供了驱动软件,这些软件的目的是驱动内部和外围的硬件设备,或者为他们提供接口。
驱动程序将操作系统和设备连接起来,使得操作系统能够识别设备并为应用程序提供设备服务。
目前基于WindowsCE.net的两种模型是本机设备驱动程序和流接口驱动程序。
本机设备驱动适于集成到WindowsCE.net平台的设备。
通用LED驱动和电源驱动就是这样的例子。
微软提供了定制接口的方式来支持内部设备驱动程序,绝大多数的开发人员不需要编写本机设备驱动程序。
另外一种驱动模型是具有定制接口的流接口驱动程序,它是一般类型的设备驱动程序。
流接口驱动程序表现为用户一级的动态链接库DLL,用来实现一组固定的函数称为流接口函数,这使得应用程序可通过文件系统访问这些驱动程序。
该部分实例参见参考文献4,这里不再详述。
4.3操作系统配置、编译和下载针对开发中使用的开发平台和应用需求,下面我们使用WindowsCE.net操作系统移植开发工具PlatformBuilder来完成操作系统的配置编译以及下载工作。
4.3.1配置PlatformBuilder在完成BSP或者驱动程序开发后,就可以用CECEditor来编辑一个CEC文件,成功后就可以把此文件加载到PBIDE中。
其中的原理就是PB用CEC文件来增加或者删除某个功能单元,PB会解释CEC文件中的数据格式。
CEC文件编辑如图1所示。
加载CEC文件到PB中如图2所示。
图1编辑CEC文件实例
图2加载CEC文件实例
4.3.2配置操作系统选择File->
NewPlatform来开始一个“NewPlatformWizard”,按照PlatformWizard完成平台的基本配置,在第三步选择BSP包时,选择EMDOORSYSTEMSXSBASE270:
ARMV4I。
因为我们开发用到的是亿道公司提供的BSP包。
在第四步选择InternetApplication,第五步选择组件时我们要选取.netCF1.0支持,这是因为在使用.NetCF2.0时有些依赖的部件无法选择,通过选择.NetCF1.0支持就完成选择了。
完成向导后,在编译内核镜像前,需要在Catalog中添加一些我们需要的组件和配置整个平台系统变量。
在Catalog中点击右键就可以添加组件到工程中。
可以在菜单View/Catalog中打开Catalog窗口,将选用到的组件添加到系统中。
针对本文中应用程序开发的需要,在EELiod开发平台上选用的系统配置方案为:
(1)添加UsbActivesync(文件同步)(Catalog->
CoreOS->
WindowsCE.netdevices->
Applications-EndUser->
ActiveSync->
FileSync)
(2)添加COM组件运行时加载支持(Catalog->
ApplicationsandServicesDevelopment->
ComponentObjectMode->
COM->
CoCreateGuidfunctionalityforOLE32)(3)添加USBMassStorage(Catalog->
CoreOSServices->
USBHostSupport->
USBStorageClassDriver)(4)添加FatFileSystem(Catalog->
FileSystemsandDataStore->
StorageManager->
FATFileSystem)(5)添加DiskPartition(Catalog->
PartitionDriver)(6)添加软键盘(Catalog->
StorageManagerControlPanelApplet)(7)添加USBClient驱动(Catalog->
DeviceDrivers->
USBFunction->
USBFunctionClients->
Serial)(8)添加网卡驱动(Catalog->
ThirdParty->
BSPs->
EmdoorSystemsXSBase270:
ARMV4I->
DeviceDrivers->
Networking->
LocalAreaNetworking(LAN)devices->
lan91c111)(9)添加UsbActivesync(USBFunction).(Catalog->
USBFunction->
USBFunctionBusDrivers->
PXA27xUSBFunction)4.3.3编译平台在配置好操作系统后,下一步就是编译,编译过程分成4个阶段:
sysgen阶段、特征编译(featurebuild)阶段、发行目录拷贝(releasecopy)阶段、映像生成(makeimage)阶段。
PB编译工具先产生头文件(headerfiles)、成生模块(modules),再把每个最后得到的模块拷贝到发行目录下,最后产生二进制系统映像(默认为NK.bin)。
在开始编译前,需要通过Platform->
Setting对话框来配置一些编译选项,在该系统中所设置编译选项如图3所示。
4.3.4下载镜像编译整个平台,待编译成功后会在Release目录($FLATRELEASEDIR)下会找到一个Bootloader镜像文件eboot.nbo和系统镜像文件NK.bin。
在向目标板上下载系统镜像文件之前,先要在目标板上下载BootLoader镜像文件。
下载BootLoader镜像使用jflash工具。
具体使用方法为将Eboot.nb0复制到jflash工具执行文件所在的目录,打开命令行,转到Jflash目录,执行Jflashpxa270eboot.nb0
命令。
Jflash使用PC机的并口将eboot.nb0下载到开发板,上面命令中Pxa270是我们开发板上JTAG接口的相关配置信息。
向目标板上下载系统镜像的途径有多种,如通过串口、并口、网卡、USB等。
只要BootLoaderPC机上支持,可以选择效率高的一种来下载镜像。
本论文中我们用到的BootLoader程序Eboot支持网卡下载,使用PlatformBuilder自带下载工具下载。
下载配置如图4所示:
Target->
ConnectivityOptionsinPlatformBuilder.
图3配置平台编译设置
图4操作系统镜像下载
5.应用程序开发在WindowsCE.net嵌入式操作系统上进行应用程序开发时,首先要考虑到一个问题:
应用程序开发、调试和运行在不同的平台之间进行的。
所以我们在进行开发前,首先要导出一个针对该系统的开发工具包(SDK),这一步工作要在编译完操作系统后完成。
将编译好的SDK安装到开发的PC机上,就可以使用EVC进行应用程序开发了。
图5为在论文所定制和移植的操作系统上开发的儿童多媒体词典的运行效果图。
图5儿童多媒体词典的运行效果图
6.结束语嵌入式操作系统应用在千变万化的硬件环境中,所以要根据硬件环境的变化进行配置,来满足不同的应用要求。
本文介绍了WindowsCE.net在IntelPXA270的移植过程,对于其他处理器硬件环境,同样具有参考价值。
本文作者创新点为解决了WindowsCE.net在IntelPXA270的移植过程中的重点和难点,对嵌入式系统开发具有参考价值。
参考文献[1]EMDOORco.ltd.EELiod开发平台WinCE使用手册[电子文档].2006-06-20[2]Intelco.,Ltd.IntelPXA27xProcessorFamilyDevelopersManual[电子文档].October2004.[3]Micorosoftco.,Ltd.Micorosoftdocumentcollection8.0[电子文档].2005[4]陈向群,王雷等.WindowsCE.net系统分析及实验教程.北京.机械工业出版.2003-05-20[5]单承刚,戴学丰等.基于ARM的嵌入式BootLoader设计与启动过程[J].微计算机信息,2006,22卷11-2:
139-142[6]杜春雷.ARM体系结构与编程.北京.清华大学出版社,2003-11-18.[7]李佳.基于WindowsCE.net的嵌入式系统研究与应用[D].华北电力大学硕士研究生论文.2005-3-6[8]王沛然.基于WindowsCE.net的手持终端系统软件设计[D].浙江大学硕士学位论文.2004-03
WindowsCE6.0的驱动程序
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 嵌入式 01 欧阳 创编