- 博客(9)
- 收藏
- 关注
原创 Linux page与addr分析
物理地址内核空间表示为phy_addr_t;作用内存在总线上的实际地址,未开启MMU的CPU,或者MMU可以通过物理地址访问内存。地址总线设置为物理地址,数据总线便能够访问到物理地址对应的内存空间。本文梳理了各项计算机术语种出现的地址,分析了他们与页表之间的关系。
2023-03-30 10:33:46
403
原创 Android Systrace使用技巧之TraceOrdinal
systrace 是分析 Android 设备性能的主要工具,在PC端使用。Android设备端对应的应用层控制程序是atrace。Kernel对应使用的模块是ftrace。建议使用systrace之前,先简单学习ftrace的使用方法。
2022-12-01 16:55:32
878
原创 VESA DSC简单解析
VESA DSC标准是一项用于图像显示流的压缩与解压缩的规范。包含了压缩视频比特流所需要的语法与语义的规范。DSC被设计用于实时系统中,具有实时压缩,传输,解压与显示的情况。DSC定义了视频比特流的压缩规范,但是并没有规定使用什么传输层。实际使用DSC的系统中必须遵守一个合适的传输层规范,比如MIPI DSI,使用该传输层将DSC比特流从source端传输到destination端。DSC常用场景有:手机处理器到显示屏,电脑图形输出到显示器,消费电子视频源设备到显示设备比如电视等。...
2022-08-03 09:53:10
22959
5
原创 UEFI学习笔记
作为一个嵌入式软件开发工程师,如果不懂UEFI实在说不过去,因此决定接下来一段时间把这块骨头啃了。UEFI是一种规范,定义了操作系统与平台固件之间衔接的软件接口。
2022-07-21 13:25:28
1000
原创 【从零开始的软件开发】
前言学生时期,学过许多东西,光机电算,自以为什么都会,却没有一项拿得出手足以竞争的。工作也非常无奈,所有的工作都只要求一个人只做一个方面的事,我所学过的终究是没有用,无奈只能从事软件行业。最后发现所有的项目中,都会用到的计算机知识,却没有学过根基,面试一问三不知。现实已经这样了,那就开卷吧,本文将记录我今后所有软件开发学习路程中,所看过的书籍,从零开始软件开发。路* <梦开始的地方>|* 2020.11 <嵌入式C语言自我修养>|* 2021.04 </嵌入式C
2022-05-22 19:16:27
414
原创 Linux 内核驱动platform_data分析
文章目录前言一、Linux platform 数据结构二、驱动示例1. 设备树示例2. 设备树入口3. 父设备驱动入口4. 子设备驱动总结前言在Linux内核驱动开发中,通常会以设备的probe()函数为入口,而在这入口函数,经常会遇到平台资源的情况,导致阅读者不清楚它的来历,本文目的即为分析平台设备的平台资源的来龙去脉。一、Linux platform 数据结构struct platform_device { const char *name; int id; bool id_auto
2022-04-29 16:24:11
1894
原创 Android Binder使用与内核特性总结
文章目录一、Binder是什么?二、使用案例1.服务端2.客户端三、细节一、Binder是什么?Binder是Android采用的一种实现跨进程通讯的模块。是一种CS模型的通讯方法,利用共享内存的机制提高通讯效率。二、使用案例1.服务端代码如下(示例):int main(int argc, char **argv){ /* 打开binder设备节点,配置进程唯一的ProcessState */ sp<ProcessState> ps(ProcessState::self(
2022-04-22 10:30:52
355
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人