驱动程序的加载机制

设备驱动程序的加载过程如下图所示

1. 当在OAL中的OEMInit运行时,需要启动以太网调试、串口调试等调试服务;

2. OAL可能需要配置和列举一个总线,如PCI总线,以便操作一个用于调试的设备;

3. OAL负责将这个资源信息放到一个注册表键,并使驱动程序可访问它。然后,Device.exe被加载和启动,它加载资源管理器以从注册表读取一个可用的资源列表。

4. Device.exe[HKEY_LOCAL_MACHINE/Drivers/RootKey]加载注册表枚举器,注册表枚举器开始扫描注册表过程,以获得由RootKey下的子键加载的更多总线和设备。注册表枚举器被用于替代一个ISA总线驱动。所有ISA资源都必须通过注册表来分配,RegEnum.dll(BusEnum.dll)也能被列举ISA设备的注册表。

5. Drivers的一个子键可以是PCI,通常,在PCI键下列出的DLLPCI总线驱动PCIBUS.dll,它由注册表枚举器加载。PCI总线驱动的注册表入口是包括PCI总线可用的资源。通常设置[HKEY_LOCAL_MACHINE/Drivers/RootKey/Order]是为了在最后加载PCI总线驱动。这是为了在配置灵活的PCI设备资源之前先分配固定的资源,PCI设备驱动程序的注册表入口列在PCI键之下,它代表驻留在PCI总线上的设备。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值