linux驱动笔记
linux驱动笔记
23℃
这个作者很懒,什么都没留下…
展开
-
linux驱动笔记-WK2124驱动分析
probe函数中的内容设置进程调度参数。sched_param = { .sched_priority = MAX_RT_PRIO / 2 }设置spi_device:通信字长、SPI_MODE_0(WK2124只支持模式0)、设置SPI通信速率,spi_setup()初始化spi_device。申请WK2124要用的GPIO引脚cs、irq、rst。测试WK2124。初始化kthread_worker、kthread_work、设置task_struct进程调度参数。uart_registe原创 2024-08-29 10:50:33 · 189 阅读 · 0 评论 -
linux驱动笔记-uart驱动
uart_register_driver用于注册UART设备,实际上就是tty_driver的注册,都是将uart的参数传递给tty_driver,后注册字符设备、分配设备文件、将驱动注册到tty_driver链表中。每一个uart端口对应着一个uart_state,该结构体将uart_port与对应的circ_buf联系起来。uart_port存储的是与UART串口硬件相关的信息,需要芯片厂家定义自己的 uart_port 结构并填充它。原创 2024-08-25 20:04:09 · 265 阅读 · 0 评论 -
linux驱动笔记-tty驱动
struct tty_driver用来描述一个tty驱动,定义在include/linux/tty_driver.h。原创 2024-08-23 21:31:00 · 146 阅读 · 0 评论 -
linux驱动笔记-gpio子系统
gpio_chip用于抽象一个gpio控制器,包含struct gpio_devic和一系列gpio操作函数,控制器驱动需要实现这些gpio操作函数,将其注册到gpiolib,供gpiolib调用。原创 2024-08-22 21:02:18 · 156 阅读 · 0 评论 -
linux驱动笔记-pinctrl子系统
pinctrl_dev用于抽象一个pinctrl controller,其中包含pinctrl_desc用于描述具体的pinctrl controller。原创 2024-08-22 10:42:48 · 248 阅读 · 0 评论 -
linux设备驱动-input子系统
input_dev表示一个输入设备,其中的evbit、keybit表示事件类型和按键值。原创 2024-08-19 16:28:33 · 126 阅读 · 0 评论 -
linux驱动笔记-spi驱动
spi_controller代表一个spi控制器,其中包含device结构体,spi_message结构体。主机驱动中还需要填充spi_master结构体中的。原创 2024-08-19 10:18:06 · 227 阅读 · 0 评论 -
linux驱动笔记-device_node生成platform_device
一般情况下只针对根节点下的子节点转换,子节点必须包含compatible属性,子节点的子节点如果不包含compatible属性则不转换。原创 2024-08-18 11:20:11 · 133 阅读 · 0 评论 -
linux驱动笔记-设备树解析device_node
setup_arch()函数中三个主要函数用于对设备操作:原创 2024-08-18 11:04:23 · 229 阅读 · 0 评论 -
linux驱动笔记-字符设备驱动
linux中struct cdev来表示一个字符设备。cdev中包含几个重要成员,name、file_operations、dev_t。name用来表示字符设备名称,file_operations表示操作集向用户空间提供操作接口,dev_t代表设备号,前12位代表主设备号,后20位代表次设备号。原创 2024-08-16 22:03:18 · 184 阅读 · 0 评论 -
linux驱动笔记-I2C驱动
struct i2c_adapter代表一个i2c控制器,本质上也是一个设备,所以包含struct device,其中包含重要成员struct i2c_algorithm,i2c_algorithm 中的master_xfer()用来实现i2c数据通信方法。原创 2024-08-16 22:02:13 · 175 阅读 · 0 评论 -
linux设备驱动-platform
struct platform_device中包含三个重要属性:const char *name、struct device dev、struct resource *resource。device结构体包含bus_type类型结构体,bus_type结构体实现match()函数,用于匹配设备和驱动。原创 2024-08-16 20:32:17 · 155 阅读 · 0 评论