![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
linux驱动
JOJO___
嵌入式,Linux driver,Kernel
展开
-
RTC驱动 m41t80 代码简析
RTC驱动十分常见,这篇博文就以m41t80为例,简单分析一下RTC驱动的常用套路,本文注重重代码逻辑,轻寄存器hack,寄存器hack,请参考datasheet。代码解析源码路径drivers/rtc/rtc-m41t80.c首先分析驱动的probe函数static int m41t80_probe(struct i2c_client *client, ...原创 2019-04-27 14:06:25 · 863 阅读 · 0 评论 -
AM335X下Linux驱动 485串口 只能收不能发 问题的解决
小弟刚拿到am335的开发板。最近在做linux驱动移植,Kernel版本3.14.26,这两天移植485和232的驱动也就是Ti公司的omap-serial.c文件。由于电路板上232和485是硬件支持切换的,485的rts管脚不需要在dts上配置。移植之后,连接电脑做对发测试。由于手里的转接线有限,只能像如下方式连接电脑连接图为:...原创 2017-11-22 23:17:50 · 4345 阅读 · 0 评论 -
AM335X下Linux驱动 spi 收不到消息
示波器有波形,但是spiget不到数据,结果是dts配置问题spi的clk管脚一定要设置为input!!原创 2017-11-30 21:27:17 · 595 阅读 · 2 评论 -
关于Linux 驱动软件架构的理解
最近调了一些USB驱动,也查看了一些驱动代码,发现不管是I2C,SPI,还是USB驱动,都做了软件分层的处理。 而且软件架构十分雷同,可能就是万变不离其中的一些东西吧。驱动框架分析在linux 驱动中,一般会将一个驱动子系统分成三部分,以USB 子系统为例子。1.最上层的驱动:USB触摸屏驱动,USB键盘驱动,USB鼠标驱动,USB转串口驱动,4G的ttyACM驱动等对上(应...原创 2018-12-20 23:02:35 · 633 阅读 · 0 评论 -
制作LCD 的测试图片RGB666格式
缘起由于工作原因,小弟需要调试和测试AM335x上的AT070TN83这块7寸的显示屏。查datasheet发现他的格式为RGB666,所以想着制作一张RGB666的BMP格式的图片,结果发现BMP常见为RGB888和RGB565,没有RGB666这种格式的BMP图片.之前用的测试方法是:cat xxx.bmp > /dev/fb0由于RGB666没有bmp...原创 2018-04-10 20:15:04 · 6328 阅读 · 1 评论 -
触摸屏驱动 ad7879 代码简析
触摸屏驱动十分常见,这篇博文就以ad7879为例,简单分析一下触摸屏驱动的常用套路,本文注重重代码逻辑,轻寄存器hack,寄存器hack,请参考datasheet。代码解析源码路径drivers/input/touchscreen/ad7879-i2c.c.首先简单看下驱动注册部分static const struct i2c_device_id ad7879_id[] =...原创 2019-04-24 21:50:13 · 825 阅读 · 0 评论 -
pwm驱动 pca9685 代码简析
pwm驱动十分常见,这篇博文就以pca9685为例,简单分析一下pwm驱动的常用套路,本文注重重代码逻辑,轻寄存器hack,寄存器hack,请参考datasheet。代码解析源码路径drivers/pwm/pwm-pca9685.c首先看驱动的probe函数static int pca9685_pwm_probe(struct i2c_client *client, ...原创 2019-05-01 11:12:56 · 4018 阅读 · 1 评论 -
USB 网口和u盘 驱动模块功能动态切换
测试环境kernel version 4.4.49开始首先将网口和u盘的驱动都编译成模块,这里省略。作为U盘加载模块顺序,注意不按顺序加载模块会出现依赖问题insmod configfs.koinsmod libcomposite.koinsmod usb_f_mass_storage.ko insmod g_mass_stora...原创 2019-05-21 21:20:18 · 1466 阅读 · 0 评论 -
IMX6 wm8960 驱动调试记录
最近在调试wm8960, 在此记录一下。ALSA 架构下,imx6平台的wm8960驱动支持两种模式。codec-master在codec-master模式下,由芯片旁的晶振提供mclk时钟(我用的是24m),wm8960输出bclk时钟给cpucodec-slave在codec-slave模式下,由cpu输出mclk时钟(我用的是24m),bclk时钟给wm896...原创 2019-06-01 08:35:01 · 4196 阅读 · 1 评论