- 博客(40)
- 资源 (1)
- 收藏
- 关注
原创 RK3568显示子框架简单分析
1.先分析rockchip_drm_platform_driver做了什么。这个主要是由驱动rockchip_drm_drv.c来初始化。而MIPI_DSI包含了ENCODER与CONNECTOR。vop2_platform_driver的probe。dw_mipi_dsi_driver的probe。其中VOP的内容包含了PLANE与CRTC。简单分析一个DSI接口的RK显示框架。2.再看vop与mipi的bind。2.ioctl的属性。
2025-01-13 17:07:08
263
原创 RK3568 设置VP0与VP1内容到对应显示接口(DSI0/DSI1)
项目上结构上使用DSI1接口做单屏标签,而DSI1是副屏内容的输出,我们需要将主屏内容输出,设置到DSI1上。这一章就是讲解RK3568如何把主屏内容VP0设置到DSI1上,因为主要的修改都在设备树上,所以,本文仅围绕设备树进行讲解。
2024-12-11 16:53:54
585
原创 基于platform的总线、设备、驱动模型分析
如I2C总线,I2C总线是集成在SOC内部的,因此总线是跟着平台走到,不同芯片厂商,所使用的I2C控制器不同,引起其驱动也有所不同,但又一个问题,如果不同芯片厂商与相同的I2C设备进行通讯,使这些外围的I2C设备工作起来,如果不对其解耦,那么每一个SOC平台都需要写一个对应的I2C设备驱动,这样耦合性过高,不方便移植。由 3.4 可知 module_init最终会注册一个设备到对应总线的总线设备链表中,再调用platform_driver_register时,即在总线中找到对应的设备,匹配成功。
2024-11-14 10:28:06
1044
原创 rc服务执行二进制文件demo
rc服务执行二进制文件demo,主要包含以下几点:1.关于服务如何修改2.关于二进制文件存放的位置3.关于服务涉及到selinux权限的设置。
2024-07-19 11:05:02
339
原创 linux GPIO 中断 Demo
记录一下GPIO 中断demo,需要用的时候直接赋值修改即可。如果中断后判断高低电平,可以通过定时器加入一个防抖动的机制。
2024-06-05 09:56:19
283
原创 RK3568 编写U-BOOT驱动 demo
U-BOOT的启动也分阶段,第一阶段是SPL阶段,主要负责初始化芯片,这部分代码一般是SOC厂商来编写的;第二阶段就是U-boot的BL2,会执行一些板级初始化,其中我们主要关注的是外设的初始化。
2024-05-27 14:32:00
531
原创 linux 内核 通知链的使用例子
两个驱动模组之间的通信:A驱动模组发生了一些事件,需要通知B驱动模组,这时就可以使用通知链。通知链 内核中的具体实现就不描述了,感兴趣可以去查看一下。
2024-05-25 17:01:40
509
原创 mt8167 audio驱动的配置及代码分析
参考文章:https://zhuanlan.zhihu.com/p/537564029基础知识:一个audio驱动组成:machine + platform + codec其中machine是起粘合剂的作用,把platform和codec绑定起来,在这里,我们仅关注machine即可。这三者主要的功能如下:machine:主要负责注册card(这个就是声卡,给到上层应用的),并且注册dai-link下的codec(包括cpu dai和codec dai)dai-link一般在C文件中配置,在设备树中
2024-04-24 09:55:06
1765
2
原创 linux 通过激活gpio去使能对应regulator的引脚的电分析
使用了一个外部电路,是通过gpio的高低对这个外部电路的固定电压进行一个使能,在linux如何通过regulator_enable这个regulator使能的func与对应gpio关联起来?提示:以下是本篇文章正文内容,下面案例可供参考根据上述分析,可知如何通过gpio去控制一个regulator引脚。
2024-04-03 15:19:12
1154
原创 驱动调试过程中pmu各引脚的电、gpio状态、总线状态
调试一个驱动模组(panel、tp、camera、audio等)需要对这些模组进行引脚上电、gpio引脚拉高拉低等动作,因此需要查看这些引脚的上电,同时因为模组还涉及到控制相关的内容,需要使用各类总线,因此,还需要查看总线的状态。
2024-04-01 11:15:02
475
原创 移植webrtc的3a模块至MTK HAL层进行3A的处理
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、思路二、步骤1.程序流程图总结前言一、思路创建一个3A服务做输入输出,输入未经处理的音频数据,输出经3A处理的数据。服务的输入接口在MTK AudioHAL中,处理完数据的输出接口也在MTK 的AudioHAL中。将录音与播音的音频数据看成两条水管,播音是往外流,录音是往里流。3A算法服务就是两根水管外的一个混水器,需要对这两根水管进行操作,仅做ns和agc是不需要对播音的那条水管进行导流的,但是如果需要做
2024-02-21 10:36:46
1382
原创 重写Android原生代码中的StateMachine状态拓扑,由树状改为网状
模仿Android StateMachine.java重写一个网状拓扑的状态机
2023-02-23 12:28:34
192
原创 Android Audio 服务层与HAL层之间的接口分析 Service<->interface<->HAL
对Android的Audio server层到HAL层的接口进行分析
2022-08-11 15:49:51
2366
2
原创 Android串口的使用(转载+移植)
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、移植java文件二、移植jni文件总结前言最近需要在上层app使用串口,发送指令对底层硬件进行操作,因此需要将Android串口移植到代码中一、移植java文件路径如下:pro\app\src\main\java\android_serialport_api二、移植jni文件cmake添加如下add_library(SerialPort SHARED SerialPo.
2022-04-25 17:09:25
730
原创 Android部分参考文章(持续更新)
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言(Android部分参考文章,持续更新)1.Android10 关机流程2.Android广播接收者3.android系统待机和休眠4.Android使用串口(基于android-serialport-api)5.深入理解SELinux SEAndroid(第一部分)总结前言(Android部分参考文章,持续更新)工作时用到的一些内容,记录一下这些文章的地址1.Android10 关机流程//可以在Android.
2022-04-25 16:45:24
1788
原创 Android 部分定制修改(持续更新)
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言1.修改之前的接4K显示器,默认4K60Hz记录2.移除launcher搜索框3.设置客户默认壁纸,添加客户壁纸到壁纸库4.内置客户需要的apk5.亮度条调节呈线性变化,修复99%~100%亮度突变的问题6.替换开机画面为客户给的画面7.修改默认语言为中文,修改设备名称型号与硬件为27M3U-A8.关闭systemUI中的下拉栏中的飞行模式,电源相关的saver9.清除主界面的应用图标10.移除点击菜单键跳出屏幕设置的弹窗11.
2022-04-25 16:29:57
4266
1
原创 Android11 Settings的部分功能移除(持续更新)
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言1.除Settings中的Battery和飞行模式2.移除Settings中的Display目录下的HdmiSettings3.对Settings中的Sound菜单下的部分二级菜单进行移除4. 移除Settings的Accounts菜单5.Setting->Gesture->Prevent ringing 移除Vibrate选项6.移除Settings->connected devices->Print.
2022-04-25 16:03:45
2122
4
原创 Android AIDL的使用与实现(接上一篇HIDL的实现)
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录接上一篇HAL C++创建服务,这一篇使用AIDL对其进行通信一、获取jar包,并在项目加载这个jar包二、Client方法的实现2.读入数据总结接上一篇HAL C++创建服务,这一篇使用AIDL对其进行通信在上一篇中,创建了一个服务,我们需要使用这个服务,这一篇,就讲解如何使用这个服务。一、获取jar包,并在项目加载这个jar包从/out/soong/.intermediates/vendor/mediatek/p.
2022-03-31 09:51:08
3423
原创 Android C++服务创建和HIDL的生成
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录Android C++服务创建和HIDL的生成一、HIDL的生成二、c++服务的创建三、SElinux总结Android C++服务创建和HIDL的生成总结c++创建服务和HIDL生成的一些步骤,本文未使用指令去生成创建hidl和对应的服务文件。一、HIDL的生成1.首先,在vendor/mediatek/proprietary/hardware/interfaces中创建文件夹testofhidl/1.0,在上述.
2022-03-24 16:13:17
8259
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人