基于WinCE的嵌入式系统注册表的研究
SYSTEM HIVE | OEM-dependen | 包括所有 HKEY_LOCAL_MACHINE HKEY_CLASSES_ROOT HKEY_USERS下的数据,包括对每个用户都一样的设备的设置 |
USER HIVE | USER.hv | 包括所有HKEY_CURRENT_USER下的数据,包含用户定义的设置。每个用户具有不同的HIVE,当用户登录时会启动它,当退出时,会将它关闭 |
表2 标准HIVE及其支持的文件
Table2 Standard HIVE and support type
注册表存储:
1)修改设备管理器的启动信息值
“Start DevMgr”= dword:1
此册项代表使用HIVE注册表存储系统信息
2)把系统的存储媒介驱动程序加在
“HIVE BOOT SECTION”与“END HIVE BOOT SECTION”
的注释之间,该注释被编译器选择提取之后,在系统上电后加载在设备管理器之前
3)在系统的存储媒介驱动程序上提供一个FLAG项,该项的目的是对目标数据进行逻辑运算。
“flags”= dword:1
通过以上参数的修改,系统即可支持HIVE注册表存储,该存储方式有效存储系统保存在HIVE注册表中的信息,比如触摸屏触电校验信息,系统IP地址等。经大量试验证明,该方法有效可行。
4 系统注册表修改分析
4.1 触摸屏驱动程序注册表设置
下面是本多媒体系统触摸屏驱动程序的注册表信息设置,我们在校准的时候需要在注册表中存储一些校准坐标信息:
[HKEY_LOCAL_MACHINE\ControlPanel]
"InputConfig"= dword:3 ;3 =>键盘和触摸屏
[HKEY_LOCAL_MACHINE\HARDWARE\DEVICEMAP\TOUCH]
"DriverName"="touch:dll"
"MaxCalError"=dword:10
"CalibrationData"="500,512 762,268 758,760 244,758 241,266 "//校准信息
Landscape
"CalibrationData"="515,503 763,748 258,749 269,255 764,255 "
图1 HIVE注册表需要修改的文件
Fig.1 The file wants modified if HIVE register needs
4.2 在映像中固定IP地址
在我们自己创建的调试环境中每次启动后都需要手动修改IP后才能多人同时调试,所以要想将IP地址固定下来就要关系到注册表的修改。而关于IP地址的更改一定会反映到系统注册表中,也就是说如果能将这部分更改在定制操作系统的时候就加进去,那么当映像启动后,就具有设定好的IP地址了[4]。
经过不断摸索,得出的结论很好,修改平台文件project.reg,在文件中添加以下内容:
[HKEY_LOCAL_MACHINE\comm\vmini1\parms\tcpip]
"defaultgateway" = multi_sz:"192.168.0.1"
"subnetmask" = multi_sz:"255.255.255.0"
"IpAddress" = multi_sz:"192.168.0.5"
"enabledhcp" = dword:0
第一个是默认网关,第二个是子网掩码,第三个是IP地址,最后一个也必须加,就是禁用DHCP,只有这样自己的设定才能生效。
注意:注册表键值类型一定要设置好,像上面的multi_sz,dword一定要添加在前面,否则仍然没有效果。
4.3 SD卡驱动注册表信息
SD卡是车载多媒体系统的重要外围存储设备,为灵活实现SD卡热插拔功能,使用流接口驱动模型。SD卡驱动程序以及它所使用的文件系统都是由存储管理器负责的。在存储管理器的启动过程中,很多配置信息都是从系统的注册表得到的。因此必须先创建如下SD卡注册表信息:
[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\sdcard]
"D11"="sdcard.d11"
"Prefix"="SDC"
"Index"=dword:1
"Order"=dword:l
"FSD"="fatfs.d11"
[HKEY_LOCAL_MACHINE\System\StorageManager\Profiles\SDCARD]
"Name"="SD Card"
"Folder"= "SDCARD Storage"
5 结论
注册表是Windows CE操作系统的核心,起着至关重要的作用,车载多媒体系统的所有驱动程序和应用程序的配置信息都被保存在注册表中,如果修改或加载不当,都将使得整个系统的一些功能不能正常使用,甚至将会导致Windows CE操作系统无法启动。本文的创新点在于提出了一种实现HIVE注册表的方法和修改注册表的思路,经大量试验证明此种思路很有效,可以用来修改更多其它需要的配置。随着我国的汽车事业的蓬勃发展,汽车导航多媒体系统有着越来越广阔的应用前景,本项目的经济效益预计在八十万元左右。
参考文献:
[1] 林涛. 嵌入式操作系统Windows CE的研究[J].微计算机信息,2006,6-2:91-93.
[2] 张冬泉等.Windows CE实用开发技术[M].北京:电子工业出版社,2006年.
[3] [美]微软公司. Microsoft Windows CE Device Driver Kit设备驱动程序开发指南[M].北京: 北京希望电子出版社,1999.
[4] 周毓林,宁杨,付林林.Windows CE.net内核定制及应用开发[M].北京:电子工业出版社.2005年.
Windows CE 注册表 HIVE 信息存储 相关文章:
- 在Windows下启动Linux(02-09)
- Windows CE下驱动程序开发基础(04-10)
- 基于WinCE的I2C驱动程序设计(04-24)
- Windows Embedded CE 6.0开发初体验(04-26)
- Linux和Windows系统线程间的区别(05-25)
- Linux下破解windows密码最终秘籍(02-27)