linux驱动
文章平均质量分 84
kerwin liu
这个作者很懒,什么都没留下…
展开
-
linux workqueue工作队列的理解和使用示例
本文使用的内核源码为linux 4.15.2。对wrkqueue知识的较深入的分析和应用原创 2023-07-29 12:37:31 · 1007 阅读 · 0 评论 -
linux tasklet 的分析与使用
tasklet 是利用软中断实现的一种下半部机制,本质上是软中断的一种变种,运行在中断上下文中.有关于软中断的分析,可以参考之前的文章,有详细的分析。原创 2023-07-26 20:45:00 · 395 阅读 · 0 评论 -
linux 软中断
关于软中断相关的代码在softirq.c中在interrupt.h 中定义了相关软中断类型的枚举enum {softirq.c中有可以在系统中 cat /proc/softirqs 查看软中断类型和当前的一些统计数值。原创 2023-07-25 20:45:00 · 335 阅读 · 0 评论 -
linux 驱动开发常用知识点与API
之前的读书笔记,以.c 文件的方式记录,在这里也以代码的方式记录最后笔记中有这么一段话:Linux设计中强调的一个基本观点是机制和策略的分离。 机制是做某样事情的固定步骤、 方法, 而策略就是每一个步骤所采取的不同方式。 机制是相对固定的, 而每个步骤采用的策略是不固定的。 机制是稳定的, 而策略则是灵活的, 因此, 在Linux内核中, 不应该实现策略。其中的机制与策略面向对象语言的抽象的思想很相似。原创 2023-07-20 19:45:38 · 266 阅读 · 0 评论 -
TI BQ27421电量计驱动的调试
在使用bq27421时,只进行了简单的配置(电池容量,充放电电压等等)然后让电量计自学习,测试时发现不同的机器电量表现不一样(关机时bq27421是断电的)。所有就有了上面的工作。对于我们的项目,硬件通过TI 提供的工具,对电池进行了一个轮回的充电放电,导出了电量的配置文件,就是上在提到的类似下方的文件,所以不能用原来的方式。这一段代码的意思是如果有相同的subclass 由组成32个字节的块写到电量计中(先读出块的内容,然后再更新要对应的字节)。AA为I2C的地址,AA后面的00表示寄存器地址。原创 2023-06-09 09:38:35 · 1054 阅读 · 1 评论 -
linux 中断相关知识
下面中断的分析以vexpress v2p 平台为例使用的内核版本为 4.15.2当一个CPU进入中断异常后,会去读取GICC_IAR寄存器来响应中断,寄存器会返回硬件中断号。当处理器完成中断服务,必须发一个完成信号EOI(End of interrupt) 给GIC中断控制器,软件写EOIR寄存器GIC-400 32个内部中断用于连接CPU核和GIC中断控制器。分析中断代码常用的数据结构(注意下面的注释 )原创 2022-10-10 19:59:30 · 224 阅读 · 0 评论 -
RV1108 EMMC 程序下载失败原因分析
对于目前的SDK包,要想编译loader下的源码,在sdk目录下输入make build_loader ,再把生成的bin 复制到指定的目录Windows_Upgrade_Tool/AndroidTool_Release_v2.65/Image/ 再把名字改为RV1108_usb_boot.bin,与linux_upgrade.sh脚本一样 (make fww 正式烧录时会用到)会运行到MMC_Init,这里面会判断卡容量,如果容量大小2G,一些参数的设置是要读取ext_csd的,而不是读csd。原创 2022-09-14 21:45:00 · 1702 阅读 · 1 评论 -
rv1126 rv1109系统关机功能的分析与实现
rk809开关机流程原创 2023-04-10 18:45:00 · 466 阅读 · 0 评论 -
rv1126 rv1109平台下Qt应用程序交叉编译
rk平台下的qt 应用程序交叉编译原创 2023-04-11 19:00:00 · 678 阅读 · 0 评论 -
linux 平台驱动分析
本文记录在读关于platform 平台驱动的内核源码的一些记录。平台介绍:linux 内核版本:3.15 rv1108提供的sdk包中的内核。原创 2022-09-21 22:13:57 · 414 阅读 · 0 评论 -
linux内核禁止优化的设置
linux 内核关闭优化,方便调试原创 2022-09-15 19:07:42 · 1294 阅读 · 1 评论 -
5G模块的使用-FIBOCOM FX650
5G模块的使用原创 2023-05-18 20:00:00 · 849 阅读 · 0 评论 -
qemu + vscode linux内核调试
linux 内核调试原创 2022-09-15 20:05:51 · 595 阅读 · 0 评论 -
链接脚本lds 相关的知识
本文主要记录与链接脚本相关的知识。文中内容多来自网上资料,或者书本内容。(解读的除外)。把重要的、常用的或容易忘记的知识点总结记录下来,供以后查询与巩固。原创 2022-09-24 22:35:31 · 472 阅读 · 0 评论 -
linux GPIO驱动的一些理解
简单的说就是有些GPIO控制器是外接扩展的,不是内部芯片集成的,一般扩展的接口多为I2C的接口,I2C在读写外部控制器的寄存器时是有时序要求的,增加延时等,这时控制外部的GPIO就必做在进度上下文,或者threaded IRQ 这些允许睡眠(延时)的地方使用,不能在IRQ处理程序内使用。在一些驱动代码中经常看到gpiod_get_value,但有时也会看到gpiod_get_value_cansleep,二者有什么区别,什么时候该使用gpiod_get_value_cansleep。原创 2023-05-29 20:01:39 · 1262 阅读 · 0 评论 -
RV1109 音频的调试与使用
rv1109 音频的使用原创 2023-05-26 21:45:00 · 1211 阅读 · 1 评论 -
RK1108系统无法启动的原因分析与查找
瑞芯微1108概率性无法开机问题的分析原创 2022-07-04 18:27:42 · 882 阅读 · 0 评论 -
Rv1109内核调试
瑞芯微rv1126/rv1109 内核调试原创 2023-02-03 21:00:00 · 405 阅读 · 0 评论 -
ARM架构相关知识
本文记录linux 内核源码相关的知识点。原创 2022-10-01 11:49:19 · 312 阅读 · 0 评论 -
V4L2 USB摄像头节点增长的解决方法
linux +RV1108 +usb 摄像头,usb摄像头使用中的问题。原创 2023-05-30 19:45:00 · 218 阅读 · 0 评论 -
Linux Regulator驱动框架与应用
linux regulator 的文档Documentation/power/regulator下这里有几个概念要清楚:regulator 谷歌翻译意思为“调节器”,理解为控制电压,电流的一种装置。PMIC 电源管理芯片。Consumer : 由regulator 控制供电的设备。Constraints: 约束和限制电源参数。Power Domain:电源域,输出提供给输入的。字面意思比较难理解,可以参考一下面的。原创 2023-03-04 18:27:34 · 955 阅读 · 0 评论 -
rv1126/1109平台下的lt8912显示驱动的调试
瑞芯微rv1109 的mipi显示驱动调试,使用lt8912b 把mipi信号转lvds和hdmi原创 2023-02-20 20:09:22 · 3231 阅读 · 6 评论