![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
linux设备驱动开发
文章平均质量分 90
基于linux4.0内核,讲解linux的设备驱动开发
浪矢杂谈
ISP芯片领域嵌入式工程师 | 芯片BSP/SDK
种一棵树最好的时间是十年前,其次是现在...
展开
-
嵌入式C基础——循环队列 ringbuffer 讲解
ringbuffer的原理讲解以及rtos例子,还有实际举例原创 2024-04-06 20:40:30 · 1577 阅读 · 0 评论 -
操作系统的信号量操作以及实战中的踩坑分析
操作系统信号量讲解以及实战中踩坑分析原创 2024-04-04 13:04:02 · 684 阅读 · 0 评论 -
嵌入式C基础——inline的作用
内联函数技巧声明原创 2024-03-24 09:34:03 · 1081 阅读 · 0 评论 -
linux驱动之阻塞与非阻塞I/O
通过例子讲解linux驱动中的阻塞与非阻塞I/O,先讲阻塞/非阻塞的含义再展示代码,阻塞I/O例子使用的是wait_queue(等待队列),非阻塞I/O例子使用的是select、poll(I/O多路复用)原创 2023-10-17 09:31:11 · 260 阅读 · 0 评论 -
【Linux C小技巧】零长度数组的使用
Linux C零长度数组的使用原创 2023-09-16 11:15:34 · 635 阅读 · 0 评论 -
实例讲解,一文弄懂workqueue和waitqueue
通过实例讲清楚waitqueue和workqueue原创 2023-06-24 16:59:43 · 572 阅读 · 0 评论 -
【Linux内核链表】的原理及使用方式整理
内核的双链表原理以及使用方式,包括内核的链表宏解释原创 2023-04-02 10:44:18 · 1009 阅读 · 0 评论 -
petalinux的module编译
petalinux使用教程原创 2022-11-26 09:42:29 · 1410 阅读 · 0 评论 -
Linux下如何操作寄存器(用户空间、内核空间方法讲解)
linux下操作寄存器。原创 2022-11-20 11:36:57 · 3449 阅读 · 0 评论 -
linux驱动调试之Debugfs
linux的debugfs原理以及使用方法介绍原创 2022-07-31 22:24:21 · 3097 阅读 · 0 评论 -
inux字符驱动之read、write部分
本期主题:linux字符驱动之read、write部分往期链接:linux设备驱动中的并发linux设备驱动中的编译乱序和执行乱序linux设备驱动之内核模块linux字符驱动linux字符驱动之read、write部分原创 2022-05-28 20:44:50 · 382 阅读 · 0 评论 -
linux字符驱动之ioctl部分
本期主题:linux字符驱动之ioctl部分往期链接:linux设备驱动中的并发linux设备驱动中的编译乱序和执行乱序linux设备驱动之内核模块linux字符驱动linux字符驱动之ioctl部分1.为什么要用ioctl2.一个简单的例子3.思考1.为什么要用ioctl前面已经讲了怎么对驱动设备进行读写,之所以还需要ioctl的原因是因为 工程师需要对设备进行控制,因此开出了这样的一些接口因此,可以说ioctl是设备驱动程序中对设备的I/O通道进行管理的函数。2.一个原创 2022-05-22 18:02:19 · 661 阅读 · 0 评论 -
linux字符驱动
1.linux文件系统和设备驱动的关系1.1 文件系统UNIX的哲学——一切皆文件1.2 设备驱动设备也是一个文件,驱动在整体系统中的架构+图2.字符驱动2.1 设备号概念生成注册原创 2022-05-21 14:46:45 · 1041 阅读 · 0 评论 -
linux设备驱动之内核模块
环境:虚拟机ubuntu 16.04,内核版本为4.15(通过 $uname -r查看内核版本)1.模块的加载,以hello这个模块加载为例module_init,为模块加载的入口#include <linux/init.h>#include <linux/module.h>MODULE_LICENSE("GPL");MODULE_AUTHOR("PD");static int hello_init(void){ printk("hello_in原创 2022-05-09 08:22:26 · 519 阅读 · 0 评论 -
linux设备驱动中的编译乱序和执行乱序
linux驱动中的编译乱序原理以及该如何去除编译乱序原创 2022-01-23 19:13:34 · 1333 阅读 · 0 评论 -
linux设备驱动中的并发(一篇文章讲清楚,中断屏蔽、原子操作、自旋锁、信号量、互斥体)
本期主题:linux设备驱动并发ARM流水线1.并发与竞态2.并发的主要场景1.对称多处理器(SMP)的多个CPU2.单CPU内的进程与抢占进程3.中断与进程3.面对竞态的常用方法1.中断屏蔽1.并发与竞态并发是指多个执行单元同时、并行的被执行;并发时,执行单元的共享资源的访问(硬件资源、软件变量等)会导致竞态;例如两个进程都打开了串口设备,并且同时往串口发送缓存中写入不同的值,这样就会导致竞态。2.并发的主要场景1.对称多处理器(SMP)的多个CPUSMP是一种共享存储的系统模型,特原创 2021-11-22 09:18:38 · 938 阅读 · 1 评论