Windows CE BSP与驱动程序深入解析:本机驱动与可加载流驱动

3星 · 超过75%的资源 需积分: 9 6 下载量 187 浏览量 更新于2024-10-29 收藏 475KB PDF 举报
本文档深入探讨了Windows CE (Windows Embedded Compact Edition) 的BSP (Board Support Package) 及其驱动程序结构。Windows CE 驱动程序根据不同的加载方式和接口类型进行分类: 1. **本机设备驱动(Built-In Drivers, Native Device Drivers)**:这些驱动程序在系统启动时,在全局工作内存空间(Global Workspace Execution Space, GWES)中预先加载,不以独立的动态链接库(DLL)形式存在。如串口和LCD等关键设备的驱动,如果没有它们,系统的用户交互就会受限。流驱动也可能作为本机设备驱动,提供系统与硬件的直接连接。 2. **可加载驱动(Loadable Drivers, Stream Drivers)**:也称为流驱动,可以在系统启动时或运行过程中动态加载。这些驱动通常以DLL形式存储,加载后以用户态执行。Windows CE 中常见的可加载驱动包括PCMCIA、串口、ATA FLASH和网络接口(如NE2000和SMSC100FD)驱动。 3. **混合型驱动**:结合了本机和可加载驱动的特点,既支持定制接口(custom-purpose interface)又使用stream接口,以便与其他模块交互。例如,PC卡插座驱动可能同时提供这两种接口。 4. **驱动层次划分**:驱动程序按照功能可以分为独立驱动和层次型驱动。独立驱动包含了MDD(最低驱动描述符)和PDD(平台驱动描述符)层,包含中断服务例程(ISR) 和平台特定的处理代码。层次型驱动则将功能分解,形成更模块化的结构,便于管理和扩展。 图9-1展示了独立驱动和层次型驱动在系统中的位置,独立驱动作为一个整体承载全部功能,而层次型驱动则通过分层设计实现更加灵活的控制和优化。理解这些驱动程序的结构对于Windows CE 开发者来说至关重要,它有助于高效地开发、调试和维护嵌入式设备上的操作系统。