安装好BSP后,进入Platform Builder5.0中定制基于“EMDOOR SYSTEMS XSBASE270:ARMV4I”的因特网应用类型的系统镜像设计[4]。如图3-2所示。
3.2 添加平台特征和配置平台
为了使系统在定制后能够满足基本的应用,并保证对某些设备的支持,就要向所设计的平台中添加必要的特征。
(1)添加USB Active Sync(File Sync)组件。只有添加此组件,才能使用PC的USB接口与Windows CE进行文件同步。这也是在应用软件调试过程中所必须的条件。
(Catalog->Core OS->Windows CE devices->Applications-End User->
ActiveSync->File Sync)
(2)添加Chinese[Simplified] Font。安装中文简体字体后,才能正常显示中文。
(Catalog->Core OS->Windows CE devices->International->Locale Specific Support->
Chinese[Simpified]->Fonts)
(3)添加文件系统支持。
(Catalog -> Core OS -> Windows CE devices -> File Systems and Data Store -> Storage Manager -> FAT File System)
(4)添加分区管理
(Catalog -> Core OS -> Windows CE devices -> File Systems and Data Store -> Storage Manager -> Partition Driver)
(5)添加控制面板中的存储器管理组件
(Catalog -> Core OS -> Windows CE devices -> File Systems and Data Store -> Storage Manager -> Storage Manager Control Panel Applet)
(6)添加基于软件的输入系统(软键盘等)
(Catalog -> Core OS -> Windows CE devices -> Shell and User Interface -> User Interface -> Software Input Panel -> Software-based Input Panel (SIP) (Choose 1 or more) -> SIP for Large Screens)
(7)添加平台管理器(Platform Manager)
(Catalog -> Platform Manager -> Platform Manager)
(8)添加Usb ActiveSync(USB Function)
(Catalog -> Third Party -> BSPs -> Emdoor Systems XSBase270: ARMV4I -> Device Drivers -> USB Function->USB Function Bus Drivers ->PXA27x USB Function)
完成特性的添加后,设置平台的属性。在“Platform”菜单下单击“Setting”,在Configuration下拉菜单中选择“Emdoor Systems XSBase270:ARMV4I Release”项,选择Locale选项卡,进行系统地理位置和环境语言支持的设置。Locales列表中,为最下端的“中文(中国)”项打勾。在Default Language下拉菜单里选择“中文(中国)”为系统的默认语言。如图3-3所示。
在Build Option列表中,只选择Enable Eboot Space in Memory(IMGEBOOT=1)和Write Run-time Image to Flash Memory(IMGFLASH=1)两项。如图3-4所示。
单击“Build OS”菜单下的“Sysgen”开始组建操作系统。如图3-5所示:
3.3 红外串口与蓝牙串口的打开
经测试,在默认配置下生成的系统镜像,只打开了位于XSBase270模块板上的全功能调试串口,而位于接口扩展板上的红外串口和蓝牙串口并没有被打开。为了能够与家电控制板和GSM模块连接,实现完整的智能家居系统的功能,必须将它们打开。
(1)查找中断号
中断号的定义是在试验箱所提供的板级支持包中被配置的。
打开C:/WINCE500/Platform/XSBase270/Src/inc/bsp_cfg.h文件。可以看到调试串口和通信串口的中断号的定义,如图3-6所示。
可以看到调试串口BFUART的中断号是28,转化为16进制为0x1c;通信串口SFUART中断号27,转换为16进制是0x1b。
(2)修改注册表
打开以下文件夹,其中“F:/platform/270/”是在新建操作系统平台时所存储它的磁盘位置。
F:/Platform/270/RelDir/XSBase270_ARMV4I_Release/
打开platform.reg注册表文件,在此文件中包含了对一些硬件的初始化的代码。
在“IF BSP_NOSERIAL!”与“END BSP_NOSERIAL!”两句代码之间,可以看到蓝牙串口的注册表初始化代码,下面只需要添加初始化红外串口的代码:
;Open the IR Serial Port
[HKEY_LOCAL_MACHINE/Drivers/BuiltIn/SerialIR]
"Irq"=dword:14 ; 20 IRQ_STUART
"SysIntr"=dword:1b ; 27 SYSINTR_SFUART
"MemBase"=dword:40700000 ; STUART Register
"MemLen"=dword:40
"DeviceArrayIndex"=dword:82 ; STUART object
"Prefix"="COM"
"Index"=dword:3
"Order"=dword:1
"IClass"="{CC5195AC-BA49-48a0-BE17-DF6D1B0173DD}" ;
"Dll"="ms2_serial.dll"
[HKEY_LOCAL_MACHINE/Drivers/BuiltIn/SerialIR/Unimodem]
"Tsp"="Unimodem.dll"
"DeviceType"=dword:0
"FriendlyName"="IRSerial Cable on COM3:"
"DevConfig"=hex: 10,00, 00,00, 05,00,00,00, 10,01,00,00, 00,4B,00,00, 00,00, 08, 00, 00, 00,00,00,00
修改好注册表代码以后,保存platform.reg文件。打开刚才建立的操作系统设计工程,选择Build OS菜单下的Make Run-Time Image命令,生成新的内核文件NK.bin。
3.4 操作系统的生成与下载
定制并组建Windows CE后,将会生成BootLoader——EBOOT.nb0文件和NK内核——nk.bin,将它们烧写进入XSBase270实验箱。
4 应用软件设计
4.1 应用程序编写环境
开发环境:Microsoft Visual Studio 2005
开发语言:Microsoft Visual C++ 2005
软件开发包:XSBase270 SDK
智能家居系统的应用程序采用Visual Studio 2005进行开发。Visual Studio是微软公司开发的Windows平台上的应用程序开发环境。Visual Studio可以创建Windows 下的Windows应用程序和网络应用程序,也可以用来创建网络服务、智能设备应用程序和Office插件[5]。Visual Studio 2005面向.net框架(2.0版本),同时可以开发跨平台的应用程序。
4.2 智能家居人机接口设计
打开Visual Studio 2005,创建一个基于MFC Smart Device Application的VC++程序。如图4-2所示:
到选择平台步骤时选择XSBase270平台,删除默认的Pocket PC 2003平台。如图4-3所示。
[8]电大学习网.免费论文网[EB/OL]. /d/file/p/2024/0424/fontbr />单击“Next”按钮进入选择应用程序类型和资源语言——程序界面上采用的语言的画面。如图4-4所示,选择“Dialog based”(基于对话框)类型,资源语言选择“中文(中国)”。其他项目保留默认的选项。
4.3串口通信功能设计
4.3.1 串口通信协议
串口通信协议采用CCESeries类实现,通过对此类的成员函数的调用,完成对串口的初始化、读写操作等,在不用串口的情况下,还可以关闭串口。
4.3.2 软件的实现
在Visual Studio的解决方案视图里添加类CCESeries,如图4-7所示。CCESeries类的成员函数如表4-2所示。
[8]电大学习网.免费论文网[EB/OL]. /d/file/p/2024/0424/fontbr />
相关文章:
基于CPLD的键盘接口电路04-26
基于DHCP技术的校园网应用04-26
DDoS攻击防御新思考04-26
浅谈计算机病毒及其检测与预防04-26
基于J2EE平台的系统集成研究04-26
论数据备份与容灾系统04-26
试析信息素质与计算机应用能力04-26
浅谈软件测试的几个问题04-26
浅析计算机信息环境下的内部控制04-26