PnP 管理器维护一个设备树,用于跟踪系统中的设备。下图显示了示例系统配置的设备树。 设备树包含有关系统上存在的设备的信息。PnP 管理器在计算机启动时使用来自驱动程序和其他组件的信息生成此树,并在添加或删除设备时更新树。 设备树的每个节点称为设备节点或开发节点。devnode 由设备驱动程序的设备对象以及系统维护的内部信息组成。因此,每个设备堆栈都有一个开发节点。 PnP 管理器使用 IRP_MN_QUERY_DEVICE_RELATIONS 请求向总线驱动程序询问其子设备的列表。总线驱动程序根据其总线协议确定其子项列表。例如,Windows ACPI 驱动程序 Acpi.sys 在 ACPI 命名空间中查找,PCI 驱动程序查询 PCI 配置空间,USB 集线器驱动程序遵循 USB 总线协议。 设备树是分层的,总线上的设备表示为总线适配器、控制器或其他总线设备的“子级”。(总线设备是可以附加其他物理、逻辑或虚拟设备的任何设备。您可以使用设备管理器查看设备树中的设备层次结构,并选择允许您按连接查看设备的视图选项。 设备树的层次结构反映了设备在计算机中附加的结构。
2023-01-04 12:03:54 131KB Windows驱动 DeviceTree 驱动开发 驱动
1
内存屏障、内存映射、同步机制、GDB基本功能、CPU缓存、内核启动流程、 syncookie、读写分析、NFS实现框架、网络新特性、skb核心操作、HASH算法、过滤框架Nftables、接 收框架、页缓存PageCache、Netfilter框架、处理器架构、中断机制、malloc、free实现原理、内存的 动态、缺页中断、Kfifo环形缓冲区、开发工具ARM-LInux-gcc安装、网络协议栈、构建嵌入式Lnux系 统、内存性能优化、核心知识CPU、内核编译、UDP收包率、反向映射机制、MMu-gather操作、进程 描述符、虚拟内存机制、RCU机制、ARM架构、高速缓存、页面回收、数据同步、回写机制、页交换、 软硬中断区别、等待队列、字符设备驱动、系统调用、内存碎片。
2023-01-04 11:03:08 72.6MB 嵌入式 驱动开发 Linux内核 内存调优
1
Windows 内核安全编程技术实践发布啦,这是一本Windows 10内核安全开发系列丛书,探索 AntiRootKit 反内核工具核心原理与技术实现细节,揭开ARK工具的神秘面纱,本书以实战角度出发摒弃了大量无用的专业术语,欢迎阅读并提出建议。 《Windows 内核安全编程技术实践》 是一本Windows 10 x64内核安全开发系列丛书,本书是LyShark多年的技术积累编写而成,不同于市面上的多数内核开发系列丛书,本书是以底层安全角度为切入点忽略了驱动开发中项目实践部分,LyShark发现多数丛书都会携带太多的技术概念,这些概念并不利于技术实践,本书将忽略太多没有意义的专业术语,所有文章均以实战角度出发,由简入深递进式教学,通过学习本书你可掌握反内核工具是如何实现的,这些技术细节相信市面上你绝对学不到,或者找到的都是过时的,LyShark追求高质量文章,保证每一篇文章都是可被直接应用。
1
基于PC的虚拟总线驱动开发 实现了 pxl9054硬件DMA驱动 wdm实现 虚拟总线程序
2022-12-25 14:57:41 255KB PCI 驱动 wdm 虚拟总线
1
如题不多赘述,留下币即可获取资源拉~
2022-12-22 16:03:46 9.3MB 驱动开发 游戏逆向
1
一、概述 由于项目需要在机车6A系统上运行,故在产品开发时需要用到STM32 bxCAN外设,总体来说STM32的CAN总线应用起来不是很复杂,仔细看资料很容易上手,并且有官方参考例程。
2022-12-21 11:27:21 48KB STM32 单片机 CAN 文章
1
Windows驱动程序开发比较复杂,我将带领大家一起领略内核模式下编程的奥妙。 您将真正掌握内核编程的原理与技术,将技术水平提升一个档次,学会核心技术。 您将掌握Windows驱动开发的基本技术;灵活应用IRP、IO堆栈、设备栈、派遣函数等; 您将掌握Windows驱动的分层技术,了解WDM驱动的基本原理 您将掌握Windows驱动开发中的各种回调例程:完成例程、取消例程、DPC例程、APC例程、等等。 具体内容包括但不限于: Windows驱动开发小白入门,Windows内核架构与驱动开发的基本概念,VS2015+VMware(win10x64)双机调试驱动,Win10x64中安装WDM驱动,驱动程序的基本结构(NT,WDM),Windows内存管理,Windows内核函数,驱动程序的派遣函数,驱动程序的同步处理,IRP的同步,定时器,驱动程序调用驱动程序,分层驱动程序
1
传统的8/16位微控制器由于速度慢、功耗大且实现Internet协议困难,已经不能满足大量信息管理的需要。提出一种基于ARM920T和Linux的嵌入式通信控制系统,介绍了系统架构和在工业系统的应用。论述了用动态模块加载法和静态编译进内核法开发系统外扩设备控制器局域网(CAN)总线以及RS-422/RS-485总线驱动程序的流程,分析了驱动的调试方法;对开发嵌入式系统驱动程序的2种方法作了对比。
2022-12-08 08:56:24 1.08MB 嵌入式系统 ARM Linux 驱动
1
Linux内核代码的庞大令不少人“望而生畏”,也正因为如此,使得人们对Linux的了解仅处于泛泛的层次。如果想透析Linux,深入操作系统的本质,阅读内核源码是最有效的途径。我们都知道,想成为优秀的程序员,需要大量的实践和代码的编写。编程固然重要,但是往往只编程的人很容易把自己局限在自己的知识领域内。如果要扩展自己知识的广度,我们需要多接触其他人编写的代码,尤其是水平比我们更高的人编写的代码。通过这种途径,我们可以跳出自己知识圈的束缚,进入他人的知识圈,了解更多甚至我们一般短期内无法了解到的信息。Linux内核由无数开源社区的“大神们”精心维护,这些人都可以称得上一顶一的代码高手。透过阅读Linux内核代码的方式,我们学习到的不光是内核相关的知识,在我看来更具价值的是学习和体会它们的编程技巧以及对计算机的理解。 内核源码的分析并非“高不可攀”。内核源码分析的难度不在于源码本身,而在于如何使用 内核的设计是优美的。在一般的应用软件设计领域,编码的地位可能不被过度的重视,因为开发者更注重软件的良好设计,而编码仅仅是实现手段问题——就像拿斧子劈柴一样,不用太多的思考。这在内核中并不成立。
2022-12-05 20:02:33 160.5MB linux源码 嵌入式 驱动开发 内核理解
1
linux/ubuntu 操作系统驱动开发中 用到的交叉编译器软件包,需要注意的是 里面有 arm-none-linux-gnueabi 的文件夹,位置可能应该转移到同级目录的bin下面
2022-12-04 13:04:26 95.61MB 驱动开发 交叉编译器
1