- 博客(14)
- 收藏
- 关注
原创 Pixel 7 AOSP源码编译与烧录防踩坑指南
最近在折腾 Android 系统, 一直使用公司的开发环境,比较大, 不适合在家里折腾。因此在闲鱼上买了一个 Piexl 7手机,准备自己编译源码烧录进去玩,没想到历经坎坷,一度觉得买手机的钱要打水漂了。在此记录一下过程。
2025-02-20 14:03:03
954
2
原创 Android getevent源码解析
最新在研究 Android input 子系统,准备首先从 getevent 的源码开始下手,在此记录下getevent源码分析过程。
2025-01-09 20:14:28
698
原创 Linux inotify使用教程以及解析
inotify(inode notify)是 Linux 内核提供的一种用于监控文件系统变化的机制。它允许程序监控文件系统中的文件或目录的各种事件(如文件的创建、删除、修改等),以便程序可以在这些事件发生时做出响应。
2025-01-08 18:49:34
887
原创 Linux下getopt、getopt_long函数解析以及使用例程
今天准备在阅读Android系统dumpsys源码的时候,初次看到getopt_long函数,看着有点懵逼,严重阻塞我的源码阅读,因此下定决心要研究明白它,顺便记录一下如何使用,防止遗忘。
2024-11-11 15:31:07
1160
原创 RK3588底层的CEC消息是如何给到Android Framewrok的
从这里就可以看出来,整个流程是在线程中,启动了一个while循环,从"/dev/cec_in_pipe"节点中读取CEC消息,然后通过handleCecMessage调用IHdmiCecCallback中onCecMessage, 最终回调到Framework层,触发整个过程。
2024-10-26 21:43:47
913
原创 再探RK3588 CEC关机流程
我们在探索RK3588 framework层到Hal层CEC关机流程实现大概梳理了Framework层到kernel层CEC的关机流程。但是前段时间又遇到TV关机,CEC设备没有关机问题,在排查过程中,发现前面对于Framework层的认识有点错误, 在这里更正一下。
2024-08-12 16:56:24
1533
原创 学习嵌入式Linux驱动真的不需要开发板!!!
不知道大家刚学习Linux驱动的时候,是否会一定要买一块开发板才正式开始学习。反正我刚开始接触Linux驱动的时候,开发板买了一大堆。但是随着开发年限的推移发现,开发板真的不方便。环境、网络、硬件、更换电脑等等因素都会干扰我们的学习热情。最近在gitee发现了个大佬采用qemu来虚拟arm/arm64平台,真的超级方便。仅仅需要一个Ubuntu环境即可,相当于在自己电脑上运行了一个开发板。本人购置了一个阿里云服务器,更加是锦上添花。
2024-01-14 11:32:12
2110
原创 替代grep的神器---ripgrep
ripgrep是一个基于Rust编写的高效文本以行为单位的搜索工具搜索工具,用于在文件中快速查找匹配的文本。它具有类似于grep的功能,但在性能方面更加出色。与同类工具相比,最大的优点就是快。话不多说直接上图:自动递归搜索 (grep 需要-R)自动忽略.gitignore 中的文件以及 2 进制文件可以搜索指定文件类型(rg -tpy foo限定 python 文件, rg -Tjs foo排除 js 文件)高速搜索:ripgrep使用多线程和其他优化技术,以实现快速的搜索速度。
2023-12-19 13:52:49
1498
原创 探索RK3588 framework层到Hal层CEC关机流程实现
近一段时间遇到一个CEC功能失效的bug,即TV关机,DVD没有关机。因为CEC功能涉及 app–> framework --> hal --> kernel,任何一个环节出问题,都可能造成DVD关机失败,所以需要查看android源码来分析原因。第一次从framework 层到kernel一层一层看。感觉还是比较有意思的,在这里分享一下过程。
2023-11-05 18:29:44
1330
原创 从源码来看android启动流程
BootLoader是在操作系统内核运行之前运行。可以初始化硬件设备、建立内存空间映射图,从而将系统的软硬件环境带到一个合适状态,以便为最终调用操作系统内核准备好正确的环境。
2023-11-03 01:23:54
144
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人