网址:http://book.51cto.com/art/201001/178641.htm
2.2.5 Windows Embedded CE环境变量(1)
CE使用不同类型的环境变量来配置OS设计,并采用统一的词汇来表示驱动路径和配置字符串。这些环境变量可以分为以下两种基本类型。
包含驱动路径、系统信息等信息的环境变量。
用于配置OS设计以及控制在OS设计中是否包含功能单元的环境变量。
设置或清除环境变量可以通过平台构建器IDE、命令提示符构建窗口或操作系统设计配置批处理文件来实现。
环境变量可用于配置和定制OS设计,从运行时映像中确定组件的包含和排除。
下面列出不同组的环境变量:
BSP环境变量
BSP_NO环境变量
IMG环境变量
PRJ环境变量
其他环境变量
注意:
在不同的CE版本中,环境变量也不同。早期版本的某些环境变量现在已经被删除了。当搜索CE环境变量信息时,有可能在其他版本中找到一些信息,但是这些信息也许在您当前的CE版本中并不适用。
1. BSP环境变量
BSP环境变量定义了板级支持包中的可用支持选项。这组环境变量用于将某些组件加入OS设计中。
表2-1列出了一些BSP环境变量及其相关的组件。
表2-1 BSP环境变量及其相关的组件
BSP_DISPLAY_RAGEXL | 在配置中添加ATI显示器驱动程序 |
BSP_DISPLAY_FLAT | 在配置中添加 FLAT显示器驱动程序 |
BSP_DISPLAY_RFLAT | 在配置中添加旋转FLAT 显示器驱动程序 |
BSP_DISPLAY_S3V | 在配置中添加S3 Virge显示器驱动程序 |
BSP_NIC_DP83815 | 在配置中添加DP83815 (MacPhyter) NDIS微端口驱动程序 |
BSP_NIC_ISLP2NDS_PCMCIA | 在配置中添加Intersil 微端口驱动程序 |
BSP_NIC_NE2000_ISA | 在配置中添加ISA NE2000 NIC 驱动程序 |
BSP_NIC_NE2000_PCI | 在配置中添加PCI NE2000 NIC驱动程序 |
BSP_NIC_NE2000_PCMCIA | 在配置中添加PCMCIA NE2000 NIC驱动程序 |
BSP_NIC_PCX500_PCMCIA | 在配置中添加Cisco微端口驱动程序。 支持Cisco Aironet 340/350系列 |
BSP_NIC_RTL8139 | 在配置中添加RTL8139 NIC驱动程序 |
BSP_NIC_RTL8180 | 在配置中添加Nativewifi RTL8180 无线支持,设置为AP模式 |
BSP_NIC_RTL8180_STA | 在配置中添加Nativewifi RTL8180 无线支持,默认 为STA模式 |
BSP_NIC_XIRCCE2_PCMCIA | 在配置中添加XIRCOM微端口驱动程序 |
BSP_PCCARDATADISK | 在ATA存储卡中使用Atapi.dll替代 Atadisk.dll |
BSP_CREDSVC_IN_DEVICE | 即使OS设计中已经有了services.exe, 仍需启动信任管理器,在devices.exe 中设置它用于操作 |
BSP_DISPLAY_MQ200 | 在配置中添加MQ200显示器驱动程序 |
BSP_DISPLAY_NOP | 在配置中添加占位程序显示器驱动程序 |
BSP_NIC_DC21X4 | 在配置中添加DEC21140 NDIS 微型端口驱动程序 |
BSP_NIC_AR6K_PCMCIA | 在配置中添加AR6000 WiFi CF 适配器 |
BSP_NIC_AR6K_SDIO | 在配置中添加AR6000 WiFi SDIO适配器 |
BSP_NIC_E100BEX | 在Intel i82559 PCI NIC添加 Intel EtherExpress PRO 以太网驱动程序 |
BSP_NOTIFY_IN_DEVICE | 在device.exe操作中启动通知子系统引擎。 默认情况下,如果设置了此变量,且 OS设计中包含了services.exe,则引 擎会在services.exe中运行 |
BSP_SDHC_ELLEN | 为TE4370分配标准SDIO主控制器评估板 |
表2-1(类似表2-2~2-6)来自于微软开发者网站。所有的BSP环境变量可以从下列URL中获得:
http://msdn2.microsoft.com/en-us/library/aa909549.aspx
提示:
硬件制造商可以建立他们自己的BSP环境变量并与他们生产的硬件配套,也可以创建BSP来将其硬件设备驱动器加入OS运行时映像中。
2. BSP_NO 环境变量
BSP_NO变量用于定义BSP或硬件平台不支持的选项。
例如,如果你的目标设备没有音频功能,那么可以设置BSP_NOAUDIO将所有的音频组件从最终的OS运行时映像中排除出去。
表2-2列出了一些BSP_NO环境变量和相关组件。
表2-2 BSP_NO环境变量
BSP_NOAUDIO | 取消音频支持 |
BSP_NOCOMCARD | 取消ComCard和Com 16550系列驱动程序的支持 |
BSP_NODISPLAY | 取消显示功能 |
BSP_NOETHER | 取消以太网功能 |
BSP_NOGSM | 取消CSMI和RIL驱动程序功能, 但仅仅适用于TIF样本BSP |
BSP_NOIDE | 取消IDE设备支持 |
BSP_NOPCCARD | 取消PC卡支持 |
BSP_NOPCIBUS | 取消PCI总线支持 |
BSP_NOPCMCIA | 取消PCMCIA支持 |
BSP_NORNDIS | 取消RNDIS支持 |
BSP_NOSHAREETH | 取消共享以太网功能 |
BSP_NOTOUCH | 取消触摸驱动功能 |
BSP_NOUSB | 取消USB功能 |
2.2.5 Windows Embedded CE环境变量(2)
所有的BSP_NO环境变量可以从下列MSDN URL获得:
http://msdn2.microsoft.com/en-us/library/aa908645.aspx
提示:
硬件制造商也可以建立自己的BSP_NO环境变量,取消那些他们的硬件不支持的功能。
3. IMG环境变量
设置IMG环境变量可以从OS设计中删除某些模块,再将相关的注册表项保留在原始OS设计中。IMG环境变量也用于配置映像的内存大小。
在开发阶段可以方便地使用IMG环境变量,而在已发布的产品中不需要使用IMG环境变量。
表2-3列出了IMG环境变量和相关组件。
表2-3 IMG环境变量
IMGAUTH | 在特定设备中装入运行时映像,确保映像 只在所选设备上存放。设备启动后,通过 保证信号与 硬件设备ID相匹配,它使 运行时映像信号有效 |
IMGAUTOFLUSH | 使事件能够自动存放到发布目录中。这必须 和IMGCELOGENABLE变量一起使用 |
IMGCELOGENABLE | 在OS设计中添加celog.dll,并在运行时映 像启动时初始化 事件记录 |
IMGEBOOT | 在ROM中为启动加载程序预留空间 |
IMGFLASH | 将运行时映像存储进ROM中 |
IMGHDSTUB | 添加用于硬件协助调试的OS Awareness |
IMGNODEBUGGER | 取消OS设计中的调试器支持。当 IMGNODEBUGGER设置为0时,OS设 计也必须包含调试器运行所需的文件:Hd.dll、 Kd.dll、OsAxsT0.dll和OsAxsT1.dll |
IMGNOKITL | 选择一个不支持KITL的内核 |
IMGSHIMENABLE | 在运行时映像中包含应用程序验证工具的内 核端部分。如果已包含,则在启动时载入 |
IMGDUALPORTRIL | 配置RIL驱动器,以使用MUX驱动器来 替代那些原始串行驱动器 |
IMGKCOVER | 允许代码覆盖 |
IMGMULTIBIN | 在运行时映像中允许多个XIP分区 |
IMGNOLOC | 在运行时映像中消除局部化功能 |
IMGNORDPINGWE | 为便于调试和测试,允许RDP内核和mstsax.dll 类似容器应用程序cetsc.exe驻留在同一个进程中 |
IMGNOREDIR | 从OS设计中去掉redir |
IMGNOSHAREETH | 在OS设计中取消VMINI功能。设置这个 环境变量时可能需要您重新构建BSP。定 位到BSP的根目录 ,然后进入下面的命令: Build -c,这样可以在命令提示符构建窗口中完成重建 |
IMGNOTAHOMA | 排除OS设计中的Tahoma true-type字体 |
IMGOSCAPTURE | 在OS设计中添加OSCapture.exe。当运行时映像 启动时它开始在RAM中缓存事件 |
IMGPROFILER | 选择一个启动配置的内核 |
IMGRAM16 | 为16MB的RAM配置运行时映像 |
IMGRAM32 | 为32MB的RAM配置运行时映像 |
IMGRAM64 | 为64MB的RAM配置运行时映像 |
IMGRAM128 | 为128MB的RAM配置运行时映像 |
IMGRAM256 | 为256MB的RAM配置运行时映像 |
IMGRAM512 | 为512MB的RAM配置运行时映像 |
IMGRILCOM1 | 配置RIL驱动器,以在AT命令/ 接收端口打开COM1替代COM2 |
(续表)
IMGSIGN | 在ROM头文件中加入信号扩展块 |
IMGTINYFSRAM | 设置FSRAMPERCENT,它可以使 分配给文件系统的RAM最小化 |
IMGTRUSTROMONLY | 设置ROMFLAGS,它可以配置运 行时映像只信任在ROM中的模块 |
所有的IMG环境变量可以从下列MSDN的URL获得:
http://msdn2.microsoft.com/en-us/library/aa909715.aspx
4. PRJ环境变量
PRJ环境变量用于指定OS设计中特定于项目的功能单元。
表2-4列出了PRJ环境变量。
表2-4 PRJ环境变量
PRJ_BOOTDEVICE_ATAPI | 把ATAPI作为启动设备 ——如果设置了PRJ_ENABLE_ FSREGHIVE,则基于配置单元 的注册表位于该设备上 ——如果设置了PRJ_ENABLE_ FSMOUNTASROOT,则该设 备作为根目录文件系统被加载 |
PRJ_BOOTDEVICE_MSFLASH | 把MSFLASH作为启动设备 ——如果设置了PRJ_ENABLE FSREGHIVE,则基于配置单元 的注册表位于该设备上 ——如果设置了 PRJ_ENABLE_ FSMOUNTASROOT,该设备作 为根目录文件系统被加载 |
PRJ_BTH_PAN_BRIDGE | 使用两层桥接技术将蓝牙个人 访问网络(PAN)配置成网络接入点 |
PRJ_BTH_PAN_GN | 将蓝牙PAN配置成特定的网络群 |
PRJ_BTH_PAN_ROUTER | 用3层路由将蓝牙PAN配置成网络接入点 |
PRJ_ENABLE_DBFLUSH_THREAD | 启动对数据库信息周期性地自动刷新 |
PRJ_ENABLE_FSREGHIVE | 控制是否默认启动基于配置单元的注册表 |
PRJ_ENABLE_FSMOUNTASROOT | 启动安装一个外部存储体作为 根文件系统。安装所 选的设备可以通过设置 PRJ_BOOTDEVICE_ATAPI 或 PR J_BOOTDEVICE _MSFLASH来定义 |
PRJ_ENABLE_REGFLUSH_THREAD | 启动对注册信息周期性地自动刷新 |
PRJ_NAS_CACHE | 在目标设备上启动默认FAT磁 盘缓存,以改善网络身份验证 服务器(NAS)性能 |
PRJ_NAS_DOGFOOD | 支持向后兼容Windows 98 以及 早期版本,配置设备中所有的适 配器以便使用服务器消息块(Server Message Block,SMB)文件共享协议 |