
Linux 驱动系列
clam_zxf
要做自发光的萤火虫,得到想要的三分熟牛排
展开
-
Linux字符设备中的两个重要结构体(file、inode)
对于Linux系统中,一般字符设备和驱动之间的函数调用关系如下图所示上图描述了用户空间应用程序通过系统调用来调用程序的过程。一般而言在驱动程序的设计中,会关系 struct file 和 struct inode 这两个结构体。用户空间使用open()系统调用函数打开一个字符设备时(intfd = open("dev/demo", O_RDWR))大致有以下过程:在虚拟文件系统VFS中的查找对应与字符设备对应struct inode节点 遍历字符设备列表(chardevs数组),根...转载 2020-11-20 18:00:17 · 730 阅读 · 0 评论 -
Linux 驱动移植之Makefile&Kconfig&defconfig的关系
向Linux系统中添加外设时,首先第一步即将外设的驱动代码porting,除了直接将外设的驱动源码放在相应目录,还需要编译进kernel,就需要使用到Makefile &Kconfig。以Led灯的驱动为例1、一般将驱动文件保存在路径:Kernel/drivers/leds/leds-qpnp.c如图所示:2、在相同路径下存在Makefile和Kconfig文件(路径:Kernel/dri...原创 2018-03-06 19:46:21 · 599 阅读 · 1 评论 -
Linux 内核spi-nor的驱动源码分析(一、底层通讯篇)
首先,开头总是要说两句。驱动程序首要目的是让硬件run 起来,硬件device 现在都是封装好接口,连接上指定的总线,和主控 master 部分相连。主控master端 之所以能够 控制device,要设备明白master的意图,就需要双方都遵从统一的语言——协议。那么在硬件电路当中,交谈肯定不是用声音信号,而是用电信号。 故而:时序 = 协议 = Timing chat ,主控mas...原创 2018-12-25 17:26:32 · 2379 阅读 · 0 评论