
linux_驱动
文章平均质量分 89
landishu
这个作者很懒,什么都没留下…
展开
-
Linux内核的同步/互斥机制(待完善)
文章目录一、原子操作二、锁机制2.1 自旋锁2.2 读写锁2.3 RCU2.4 信号量2.5 读写信号量2.6 互斥量三、等待队列Linux是一个多用户多任务的操作系统,在多处理器(SMP)情况下,存在真正的并行运算。内核同步机制和用户空间的同步机制并不是一 一对应的,但是基本的思想都是相同的:保护临界区。只是内核同步机制更适合于在解决内核中的同步问题。一、原子操作原子操作是由编译器来保证的,保证一个线程对数据的操作不会被其他线程打断。在对称多处理器结构中,即使能在单条指令中完成的操作也有可能被打原创 2021-07-29 18:06:06 · 774 阅读 · 0 评论 -
Android系统添加USB共享网络
测试平台:MT2712,Android9.0,Linux4.9使用场景:Android车机,通过USB线连接T-box、手机、PC电脑,进而使用他们的网络上网。其实Android系统已经支持USB共享网络,但相应的产品系统中还未开启USB共享网络,那么这个时候就需要添加USB网络共享的一些配置,使得产品支持此功能。一、代码修改:1.内核添加RNDIS的支持CONFIG_USB_USBNET=yCONFIG_USB_NET_DM9601=yCONFIG_USB_NET_SR9700=yCON原创 2021-07-09 15:25:17 · 6605 阅读 · 1 评论 -
Linux内核驱动:gpio模拟i2c驱动
目录一、配置二、代码分析三、应用读写本文基于linux 4.19 版本内核进行分析。Linux内核很多驱动都使用到I2C子系统。EEPROM、RTC,电池,tp等。inux内核的i2c-gpio是使用GPIO模拟I2C协议的驱动,在内核中已经实现了,我们要做的只需要配置2根GPIO即可。GPIO模拟I2C协议的驱动位于drivers/i2c/busses目录。驱动名称为“i2c-gpio”,驱动文件为drivers/i2c/busses/i2c-gpio.c一、配置config配置1.1.原创 2021-07-03 19:16:03 · 7171 阅读 · 4 评论 -
转一个解析linux内核I2C体系结构的例子,说的比较清楚 .
http://blog.youkuaiyun.com/yangxingbo0311/article/details/7553661 作者:刘洪涛,华清远见嵌入式学院讲师。四、在内核里写i2c设备驱动的两种方式前文介绍了利用/dev/i2c-0在应用层完成对i2c设备的操作,但很多时候我们还是习惯为i2c设备在内核层编写驱动程序。目前内核支持两种编写i2c驱动程序的方式。下面分别介绍这两转载 2012-08-22 14:54:48 · 447 阅读 · 0 评论 -
I2C 时序详解,精确到每一个时钟
1 输入输出模式设置官方文档中有这样的介绍: SDA和SCL都是双向线路,都通过一个电流源或上拉电阻连接到正的电源电压,当总线空闲时,这两条线路都是高电平,连接到总线的器件输出级必须是漏极开路或集电极开路才能执行线与的功能;2C 总线上数据的传输速率在标准模式下可达100kbit/s,在快速模式下可达400kbit/s,在高速模式下可达 3.4Mbit/s ;连接...转载 2019-05-09 14:56:22 · 1515 阅读 · 0 评论