自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(7)
  • 收藏
  • 关注

原创 第3章 Linux内核以及内核编程(宋宝华Linux设备驱动开发详解)

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

2025-06-10 20:15:25 1012

原创 手把手教你写dht11温湿度传感器驱动——Linux驱动

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

2025-05-25 13:19:06 1179

原创 问题记录:在uboot中配置网络后无法ping通服务器(host 192.168.1.111 is not alive)以及通过tftp协议挂载内核和设备树获取内核失败

  最近在帮人复刻智能家居项目,进行到在uboot中配置网络并通过tftp挂载内核和设备树的时候,碰到了一些问题,在此进行记录  进入uboot界面以后,我按照如下配置网络,很奇怪,一开始其实是可以ping通ubuntu服务器的,如下所示。  但后面就不行,一直显示的是这样。解决方案:  搜索了一下,发现有这种解法,我对比之前成功可以ping通的代码,发现它在ping的时候,打印了一句,但我现在不断重新去ping是没有这段话的。重新试看一下,发现成功了。我又搜索了一下,在U-Boot中,FEC1 是

2025-05-20 11:58:21 442

原创 学习误区:以为程序里的头文件都是在交叉编译工具链目录去寻找,混淆了交叉编译工具链的库和内核的库的调用

在交叉编译驱动程序或内核模块时,交叉编译工具链和内核源码的作用不同。交叉编译工具链主要用于编译用户空间应用程序,提供编译器、库文件和基础头文件。而内核模块的编译则依赖于目标板内核源码,因为内核模块直接与内核代码交互,必须与目标板内核的版本、配置和符号表完全一致。编译内核模块时,头文件来自目标板内核源码,而非交叉编译工具链。虚拟机内核仅负责宿主机的操作系统环境,与目标板的驱动编译无关。因此,交叉编译内核模块时,必须确保使用目标板内核源码,以保证模块与内核的兼容性。

2025-05-16 14:08:30 722

原创 用JSONRPC改造智能家居源码——编写一个led测试程序

JSONRPC分JSON和RPC组成。JSON实际上是指JSON格式,它的英文是JavaScript Object Notation, JavaScript 对象表示法。这是一种很常见的数据格式,比如在使用MQTT向某个云平台传输数据的时候就会用到。它的关键成员是“name:value”, value 有多种形式。就是类似于一下这种键值对的形式,它的值还可以是数组、另一个JSON对象。(这里只是简述,不作过多介绍,具体语法可以自己去了解。

2025-04-22 21:25:58 1322

原创 正点原子阿尔法板无法使用触摸屏问题

在我之前复刻智能家居项目时,发现无法使用触摸屏。当时面临诸多因素,如会不会是我的内核问题、设备树问题还是屏幕驱动问题等,当时我也只是看了一些基础课程刚上手,看着头大,于是选择取巧,用mgftool里的官方zImage和里面的设备树进行后续编程。项目完成后,对linux、设备树、驱动有了一定了解,现在回头解决这个问题。

2025-04-19 12:40:01 1146

原创 正点原子阿尔法板ap3216c驱动无法probe问题

最近在用正点原子的阿尔法开发板复刻一个智能家居的项目,该项目使用ap3216c传感器获取红外、光照、距离。该项目采用设备树定义各个传感器的硬件信息。当我编译好驱动,将ko文件加载进内核。发现ap3216c的probe函数并没有运行。后续进行了问题定位和解决

2025-04-17 17:49:42 1050 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除