linux驱动
文章平均质量分 65
m0mo
这个作者很懒,什么都没留下…
展开
-
Linux Input驱动
向 input 子系统核心层注册好 input_dev 以后,将输入事件上报给 input 子系统核心层,这样 input 子系统核心层才能获取到正确的输入值。input_event 这个结构体来表示所有的输入事件.在include/uapi/linux/input.h。原创 2023-12-18 22:32:37 · 528 阅读 · 0 评论 -
Linux misc设备驱动
misc 的意思是混合、杂项的所有的 MISC 设备驱动的主设备号都为 10,不同的设备使用不同的从设备号。原创 2023-12-18 21:47:57 · 514 阅读 · 0 评论 -
Linux 内存分配
一般情况下,内存只有在被 DMA 访问的时候才需要物理上连续,但为了性能上的考虑,内核中一般使用 kmalloc(),而只有在需要获得大块内存时才使用 vmalloc()。原创 2023-12-14 21:43:33 · 72 阅读 · 0 评论 -
Linux 异步通知
信号类似于我们硬件上使用的“中断”信号是软件层次上的。算是在软件层次上对中断的一种模拟.异步通知的核心就是信号,在 include/uapi/asm-generic/signal.h除了 SIGKILL(9)和 SIGSTOP(19)这两个信号不能被忽略外,其他的信号都可以忽略。这些信号就相当于中断号,不同的中断号代表了不同的中断,不同的中断所做的处理不同,因此,驱动程序可以通过向应用程序发送不同的信号来实现不同的功能。原创 2023-12-14 20:03:15 · 87 阅读 · 0 评论 -
Linux阻塞和非阻塞
nfds: 要操作的文件描述符个数。readfds、 writefds 和 exceptfds:这三个指针指向描述符集合,这三个参数指明了关心哪些描述符、需要满足哪些条件等等这三个参数都是 fd_set 类型的, fd_set 类型变量的每一个位都代表了一个文件描述符。只要这些集合里面有一个文件可以读取那么 seclect 就会返回一个大于 0表示文件可以读取。如果没有文件可以读取,那么就会根据 timeout 参数来判断是否超时。原创 2023-12-13 23:35:58 · 161 阅读 · 0 评论 -
Linux中断驱动
定义在 include/linux/interrupt.haction 成员变量就是软中断的服务函数在 kernel/softirq.c 文件中一共定义了 10 个软中断enum*//* 下一个 tasklet *//* tasklet 状态 *//* 计数器,记录对 tasklet 的引用数 *//* tasklet 执行的函数 *//* 函数 func 的参数 */t:要初始化的 taskletfunc: tasklet 的处理函数。原创 2023-12-12 23:16:22 · 371 阅读 · 0 评论 -
Linux内核定时器驱动
Linux内核提供了定时,短延时函数,比如微秒、纳秒、毫秒延时函数等。原创 2023-12-10 23:01:41 · 133 阅读 · 0 评论 -
Linux并发和竞争
(include/linux/types.h)(32位和64位定义)原创 2023-12-10 16:31:17 · 70 阅读 · 0 评论 -
Linux GPIO驱动
驱动程序中使用 GPIO 之前需要向 gpio 子系统申请,申请成功之后才可以使用,例如设置 GPIO 的输入、输出方向,设置 GPIO 输出高或低电平、读取 GPIO 输入电平等等。原创 2023-12-10 11:54:15 · 620 阅读 · 0 评论 -
备忘 zynq从sd卡启动
system.bit( pl 端 bitstream 文件, Petalinux工程目录下的 images/linux/system.bit)。system-top.dtb(内核设备树 dtb 文件,内核源码目录 arch/arm/boot/dts/system-top.dtb)、zImage(内核镜像,内核源码目录 arch/arm/boot/zImage)、1.将生成的各种镜像文件拷贝到 SD 启动卡的 FAT 分区,2.根文件系统压缩包文件解压到 SD 启动卡的 EXT4 分区。原创 2023-12-07 23:29:58 · 535 阅读 · 0 评论 -
Linux 设备树
DTS 即 Device Tree Source 设备树源码,Device Tree 是一种描述硬件的数据结构。1. dts(device tree source)文件对应一个开发板,一般放置在内核的"arch/arm/boot/dts/"目录下:2. dtsi:一些相同的 dts 配置可以抽象到 dtsi 文件中,这个 dtsi 文件其实就类似于 C 语言当中的.h 头文件,用法:3. dtc: device-tree-compiler,就是设备树文件.dts 的编译器。原创 2023-12-07 22:21:01 · 452 阅读 · 0 评论 -
linux下字符驱动 二 新字符设备驱动
上一篇讲解了字符设备基本框架,此篇继续完善。原创 2023-12-06 22:49:21 · 58 阅读 · 0 评论 -
linux下字符驱动 一 基础框架
说明:字符设备按照一个个字节读写操作。常见:LED,按键,I2c SPI LCD等。原创 2023-12-06 21:15:48 · 43 阅读 · 0 评论 -
ko上电自启动—记录
1. 拷贝ko到kernel: sudo cp pcie2rtc.ko /lib/modules/$(uname -r)/kernel/3. (可省略)打开 /etc/modprobe.d/blacklist.conf 文件,并确保你的KO模块未被列入黑名单。如果该文件中存在对你的KO模块的黑名单条目(以 blacklist 开头),请注释掉或删除这些条目。2. 添加配置:sudo vim /etc/modules 添加 pcie2rtc。sudo vim /etc/modules 添加 xx。原创 2023-12-04 17:14:50 · 155 阅读 · 0 评论