
Linux驱动--驱动开发基础
文章平均质量分 71
韦东山老师学习视频笔记
陈 洪 伟
这个作者很懒,什么都没留下…
展开
-
Linux驱动开发基础__mmap
Linux驱动开发基础__mmap原创 2023-02-09 16:49:30 · 4272 阅读 · 2 评论 -
Linux驱动开发基础__中断的线程化处理
Linux驱动开发基础__中断的线程化处理原创 2023-02-08 14:30:00 · 3261 阅读 · 5 评论 -
Linux驱动开发基础__定时器
Linux驱动开发基础__定时器原创 2023-02-07 11:16:31 · 4384 阅读 · 1 评论 -
Linux驱动开发基础__阻塞与非阻塞
Linux驱动开发基础__阻塞与非阻塞原创 2023-02-02 10:59:31 · 710 阅读 · 0 评论 -
Linux驱动开发基础__POLL机制
Linux驱动开发基础__POLL机制原创 2023-02-01 11:29:42 · 1369 阅读 · 0 评论 -
Linux驱动开发基础_在设备树中指定中断以及在代码中获得中断
Linux驱动开发基础_在设备树中指定中断以及在代码中获得中断原创 2023-01-13 11:09:12 · 1651 阅读 · 0 评论 -
Linux驱动开发基础__ Linux中断系统中的重要数据结构
Linux驱动开发基础__ Linux 中断系统中的重要数据结构原创 2023-01-12 10:47:20 · 853 阅读 · 0 评论 -
Linux驱动开发基础__基于GPIO子系统的LED驱动程序
基于GPIO子系统的LED驱动程序原创 2023-01-11 14:09:47 · 1013 阅读 · 0 评论 -
Linux驱动开发基础__gpio子系统重要概念
Linux驱动开发基础__gpio子系统重要概念原创 2023-01-07 16:07:13 · 3429 阅读 · 0 评论 -
Linux驱动开发基础__Pinctrl子系统重要概念
Linux驱动开发基础__Pinctrl子系统重要概念原创 2023-01-07 14:12:39 · 226 阅读 · 0 评论 -
Linux驱动开发基础__总线设备驱动模型
Linux驱动开发基础__总线设备驱动模型原创 2022-12-29 14:53:24 · 644 阅读 · 0 评论 -
Linux驱动开发基础__IMX6ULL的GPIO操作方法
Linux驱动开发基础__IMX6ULL的GPIO操作方法原创 2022-12-23 11:03:16 · 390 阅读 · 0 评论 -
字符设备驱动程序之同步、互斥、阻塞
字符设备驱动程序之同步、互斥、阻塞原创 2022-06-15 18:04:20 · 262 阅读 · 0 评论 -
字符设备驱动程序之poll机制
字符设备驱动程序之poll机制原创 2022-06-06 17:17:35 · 838 阅读 · 0 评论 -
字符设备驱动程序----中断方式的按键驱动
1 查询方式按键驱动程序回顾我们前面的查询方式的按键中断程序为:字符设备驱动程序之查询方式的按键驱动程序_陈 洪 伟的博客-优快云博客#include <linux/module.h>#include <linux/kernel.h>#include <linux/fs.h>#include <linux/init.h>#include <linux/delay.h>#include <asm/uaccess.h&g原创 2022-04-19 16:40:41 · 558 阅读 · 0 评论 -
字符设备驱动程序----Linux中断处理结构
1 裸机中断处理函数流程分辨是哪一个中断 调用中断对应的处理函数 处理完毕清中断2 Linux中断处理流程在Linux内核里面,上面所说的这三项都是在linux-2.6.22.6\arch\arm\kernel\irq.c的asm_do_IRQ函数里面做的,/* * do_IRQ handles all hardware IRQ's. Decoded IRQs should not * come via this function. Instead, they should pr原创 2022-04-17 22:07:29 · 1426 阅读 · 0 评论 -
字符设备驱动程序----Linux异常处理结构
目录1 裸机异常处理流程回顾2 Linux异常处理结构2.1 设置异常向量入口1 裸机异常处理流程回顾cpu发生异常/中断 跳转到异常向量表执行(异常向量表是跳转指令),跳转到某个函数然后在这个函数里面进行保存被中断的现场 执行中断处理函数 恢复现场2 Linux异常处理结构2.1 设置异常向量入口首先我们也要像之前裸机那样,设置一个异常向量表,linux-2.6.22.6\arch\arm\kernel\entry-armv.S中vector_sub宏原创 2022-04-17 15:27:06 · 955 阅读 · 0 评论 -
字符设备驱动程序之查询方式的按键驱动程序
1 框架2 代码2.1 second_drv.c#include <linux/module.h>#include <linux/kernel.h>#include <linux/fs.h>#include <linux/init.h>#include <linux/delay.h>#include <asm/uaccess.h>#include <asm/irq.h>#include &l.原创 2022-04-16 21:53:44 · 202 阅读 · 0 评论 -
字符设备驱动程序之LED驱动程序_操作LED
我们前面写的led驱动程序里面只是打印,并没有真正点亮led,那么怎么写一个led驱动写出驱动框架 完善硬件的操作其中硬件操作包含看原理图确定引脚 看2440芯片手册 写代码,之前裸机程序时是直接操作物理地址,驱动程序里面要操作虚拟地址,用ioremap将物理地址映射为虚拟地址。驱动框架我们在前面已经写出来了,接下来我们开始第二部,晚上硬件的操作,1 原理图2 芯片手册寄存器我们需要配置GPFCON寄存器将引脚设置为输出,这个放到open函数中,设置GPFD原创 2022-04-15 16:16:25 · 624 阅读 · 0 评论 -
字符设备驱动程序之LED驱动程序_测试改进
前面我们写了一个初步的led驱动程序框架,下面来简单测试一下。使用如下的makefile编译KERN_DIR = /work/system/linux-2.6.22.6all: make -C $(KERN_DIR) M=`pwd` modules clean: make -C $(KERN_DIR) M=`pwd` modules clean rm -rf modules.orderobj-m += first_drv.o编译得到first_drv.ko,在加载之前我们先用c原创 2022-04-15 14:15:54 · 545 阅读 · 0 评论 -
字符设备驱动程序----框架
1写出led_open led_read首先我们先写出驱动程序中的led_open,led_read这些函数,例如先写出open函数和write函数,这里只是为了举例子,所以函数内容没有写。2 告诉内核写出来之后要告诉内核有这个东西,告诉内核有这么个驱动程序,那么怎么告诉内核呢2.1 定义一个file_operation结构体,并填充它定义一个file_operation结构体,这个结构体里面有什么呢,有哪些成员呢,我们的用户程序里面有什么函数接口,那么我们的这个结构体里面就原创 2022-04-14 20:42:02 · 473 阅读 · 0 评论 -
字符设备驱动程序----概念介绍
我们uboot的目的是启动内核,然后内核的目的是启动应用程序,我们的引用程序会涉及很多操作,比如电灯,获取按键值,我们的应用程序中统一都用open read write这种标准接口去操作硬件,最简单的办法是,应用程序中有一个open,那么我们驱动程序中也有一个led_open,应用程序中有个read,那么我们的驱动程序中也有一个led_read,应用程序中有个write,那么我们的驱动程序中也有一个led_write,那么我们应用程序是怎么调用到驱动程序中的接口的呢。我们先写一个简单的应用程序in原创 2022-04-14 11:45:59 · 287 阅读 · 0 评论 -
Linux应用层操作GPIO,查看GPIO状态
cat /sys/kernel/debug/gpio原创 2021-12-13 17:06:28 · 3706 阅读 · 0 评论 -
Linux驱动程序涉及的几个小概念
1 应用程序调用驱动过程分析 uboot的任务是启动内核,内核的作用是启动应用程序,应用程序里面会涉及很多文件操作,读写文件,还会涉及很多硬件的操作,比如说点灯,按键,对于写应用程序的人不应该要求他们去看原理图,去了解芯片手册,去看硬件构造,你的键盘怎么接,这是不合理的,他们写应用程序的人直接用open ,read, write这种标准的接口来调用我们的驱动程序,最简单的办法就是,应用程序里面有一个open,对应于我们的驱动程序,比如说我们的灯也会有一个led_open,应用程序去读灯的状...原创 2021-08-11 17:37:41 · 944 阅读 · 0 评论