- 博客(14)
- 资源 (15)
- 收藏
- 关注
原创 Linux IIC 驱动分析(1) — 框架分析
目录1、框架2、数据结构&软件层次2.1、i2c_adatper2.2、i2c_algorithm2.3、i2c_bus_type2.4、i2c_client2.5、i2c_board_info2.6、i2c_driver2.7、i2c_msg2.8、i2c_dev3、小结IIC 属于较为常用的总线,一般会集成到 SoC 上,作为一个通...
2019-08-30 00:08:21 992
转载 IIC 总线协议详解
目录1、I2C总线物理拓扑结构2、I2C总线特征3、I2C总线协议4、I2C总线操作转自:https://www.cnblogs.com/aaronLinux/p/6218660.html1、I2C总线物理拓扑结构I2C 总线在物理连接上非常简单,分别由SDA(串行数据线)和SCL(串行时钟线)及上拉电阻组成。通信原理是通过对SCL和SDA线高低电平时序的控制...
2019-08-27 16:09:43 6788
原创 Linux SPI 驱动分析(2)— 框架层源码分析
目录1、spi_alloc_master2、spi_register_controller2.1、spi_init_queue2.2、spi_start_queue3、spi_alloc_device4、spi_add_device5、spi_new_device6、spi_register_board_info7、spi_message_init8、spi...
2019-08-26 15:49:35 6794 3
原创 内核 kthread_worker 和 kthread_work 机制
目录1、数据结构2、使用方式2.1、准备kthread_worker2.2、准备kthread_work2.3、启动 work2.4、flush 指定 worker 上所有 work2.5、停止当前的线程3、实现源码3.1、kthread_init_worker3.2、执行线程 kthread_worker_fn3.3、kthread_init_wo...
2019-08-23 14:51:07 5709
原创 Linux 内核等待队列
目录1、等待队列结构和API1.1、等待队列头1.1.1、定义等待队列头1.1.2、初始化等待队列头1.1.3、定义等待队元素1.1.4、添加/移除等待队列1.1.5、等待事件并睡眠1.1.6、唤醒队列2、等待队列(头)用法2.1、 睡眠2.1.1、方式一2.1.2、方式二2.2、 唤醒3、等待队列相关源码分析3.1、睡眠3.2、唤...
2019-08-22 17:10:40 1679 1
原创 Linux SPI 驱动分析(1)— 结构框架
目录1、总线互联拓扑结构1.1、硬件拓扑1.2、软件抽象2、SPI 软件驱动层次3、数据结构3.1、spi_controller (spi_master)3.2、spi_device3.3、spi_driver3.4、spi_board_info3.5、spi_transfer3.6、spi_message3.7、数据结构之间的关系4、对外接口 ...
2019-08-21 19:25:39 10721 3
原创 Linux设备模型(5) — platform bus/device/driver
本文有部分借鉴 wowo tech ,感谢作者的无私分享目录1、简介2、Platform 软件架构3、Platform 模块向其它模块提供的 APIs3.1、数据结构3.1.1、platform_device3.1.2、platform_driver3.2、APIs3.2.1、Platform Device 提供的 APIs3.2.2、Platform...
2019-08-19 23:58:30 1833 2
转载 Linux设备模型(4) — bus 与 device 和 driver
前面说了 device 和 device_driver,这两者是通过一个叫 bus 的东西联系在一起,不管这个 bus 是否是真实的存在(虚拟的也算)。1、BusLinux 中,对 bus 是由一个叫做 bus_type 的结构体进行描述:struct bus_type { const char * name;//设备名称 struct subsystem subsys;...
2019-08-19 16:08:05 1037
转载 Linux设备模型(3) — Device 和 Device Driver
本文转自 wowo Tech 感谢作者的无私分享目录1、前言2、struct device 和 struct device_driver2.1、struct device2.1、struct device_driver3、设备模型框架下驱动开发的基本步骤4、设备驱动 probe 的时机1、前言device 和 device driver 是Linux...
2019-08-18 22:52:18 771
转载 Linux设备模型(2) — Kobject
本文转自 wowo tech 感谢作者的无私分享目录1、前言2、基本概念3、代码解析3.1、在 Linux Kernel source code 中的位置3.2、主要的数据结构3.2.1、Kobject3.2.2、Kset3.2.3、Ktype3.3、功能分析3.3.1、Kobject 使用流程3.3.2、Kobject 的分配和释放3.3.3、...
2019-08-14 17:12:16 1429
转载 Linux设备模型(1) — 概述
转自 http://www.wowotech.net/device_model/13.html,感谢作者无私分享Linux 是一个通用的操作系统,能够支持 ARM、X86、PPC 等等多 CPU 平台,以及各个平台下的不同的设备驱动!需要支持如此量级的平台以及每个平台下不同芯片的各个设备和驱动,如果没有一个良好的内部设计,那么下场一定很惨;1、Bus, Class, Device, ...
2019-08-14 15:30:19 583
原创 Linux UART 驱动 Part-2 (tty 层流程)
目录1、Operations1.1、file operation1.2、tty operations1.3、tty_ldisc_ops1.4、uart_ops2、Open 流程3、Write 流程3.1、tty_write3.2、n_tty_write3.3、uart_write3.4、start_tx4、Read 流程4.1、tty_read...
2019-08-13 18:00:05 3867 4
原创 Linux UART 驱动 Part-1 (底层对接)
目录1、底层对接1.1、uart_driver 结构1.2、注册uart_driver1.2.1、uart_state 结构1.3、增加 uart_port1.3.1、uart_port 结构1.3.2、uart_ops 结构1.4、小结1.5、注意串口驱动,内核启动的时候,便初始化完成,后期i应用层用到的时候,访问设备节点便,获取串口设备的 fd ...
2019-08-12 10:59:50 5586 3
原创 Linux GPIO 驱动 (gpiolib)
目录1、简述2、Gpiolib 相关数据结构分析2.1 gpio_chip 结构2.2 gpio_desc 结构2.3 gpio_device 结构3、Gpiolib 对接芯片底层3.1、注册 GPIO 资源(gpiochip_add)3.2、gpiochip_add_data_with_key4、Gpiolib 为其他驱动提供的 APIs4.1、gp...
2019-08-04 23:27:42 30531 21
QT 实现的64bit十六进制与十进制相互转换工具,带 bitmap 配置显示
2019-05-07
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人