logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

第4章 Linux内核模块(宋宝华Linux设备驱动开发详解)

​Linux为避免内核过大,提供了一个机制,当我需要这些功能时,再加载进去内核。这种机制叫做模块(module)​lsmod可以获得系统中已加载的所有模块以及模块间的依赖关系,lsmod命令,实际上是读取并分析“/proc/modules”文件。内核中已加载模块的信息也存在于/sys/module目录下。​modprobe命令比insmod命令要强大,它在加载某模块时,会同时加载该模块所依赖的其他

文章图片
#linux#驱动开发#嵌入式硬件
第3章 Linux内核以及内核编程(宋宝华Linux设备驱动开发详解)

的意义它是一个​​零开销的占位符​​,标记结构体末尾动态数据的起始地址,使能直接访问连续内存。的原因编译器将零长度数组视为 ​​0 字节成员​​,不参与结构体大小计算。适用场景高效管理网络数据包、二进制流等​​变长结构​​(如 Linux 内核的sk_buff结构)。​本章主要讲解了 Linux 内核和 Linux 内核编程的基础知识,为读者在进行 Linux 驱动开发打下软件基础。

文章图片
#linux#驱动开发#b树
第3章 Linux内核以及内核编程(宋宝华Linux设备驱动开发详解)

的意义它是一个​​零开销的占位符​​,标记结构体末尾动态数据的起始地址,使能直接访问连续内存。的原因编译器将零长度数组视为 ​​0 字节成员​​,不参与结构体大小计算。适用场景高效管理网络数据包、二进制流等​​变长结构​​(如 Linux 内核的sk_buff结构)。​本章主要讲解了 Linux 内核和 Linux 内核编程的基础知识,为读者在进行 Linux 驱动开发打下软件基础。

文章图片
#linux#驱动开发#b树
第5章 Linux文件系统与设备文件(宋宝华Linux设备驱动开发详解)

​Linux用户空间的文件编程有两种方法,即通过Linux API和通过C库函数访问文件。用户空间看不到设备驱动,能看到的只有与设备对应的文件,因此文件编程也就是用户空间的设备编程。​Linux按照功能对文件系统的目录结构进行了良好的规划。/dev是设备文件的存放目录,devfs 和udev分别是Linux2.4和Linux2.6以后的内核生成设备文件节点的方法,前者运行于内核空间,后者运行于用户

文章图片
#linux#驱动开发#运维
手把手教你写dht11温湿度传感器驱动——Linux驱动

dht11是通过单总线协议同主机通讯,其对时序的要求非常严格!!!(划重点,后面会因为这个踩坑)。dht11的时序,其实也蛮简单。首先,主机拉低18ms,再拉高20-40us,作为启动dht11的信号(如下方第一张图所示)。然后,dht11发送80us的低电平和80us的高电平作为应答信号(如下方第一张图所示)。最后dht11开始发送数据。50us的低电平,30us左右的高电平为数据0(下方第二张

文章图片
#linux#c语言#嵌入式硬件
到底了