自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

fightingup

一个老鸟的积累之路

  • 博客(12)
  • 资源 (1)
  • 收藏
  • 关注

原创 高通源码下载

高通开源源码下载

2023-07-16 10:09:25 784 1

原创 使用gdb调试android用户态代码

如图,windows上运行虚拟机,虚拟机中安装linux系统,主要用于android 系统编译调试环境。至于为什么要这样搞,而不直接在windows上运行gdb程序是因为运行于设备上的gdbserver要和运行于调试pc上的gdb要配套。而目前windows上gdb编译的程序往往是很老的。但是linux环境下的gdbserver和gdb程序是和android编译环境完全匹配的,并且已经预制在android源代码中了(具体位置可以在prebuilts/gdb下找到)。

2023-06-25 10:25:22 653 1

原创 Android按键亮屏之旅

生活中有许多我们习以为常的事情,然而其中的细节往往为我们所忽略。今天,我们将深入探讨 Android 设备从按键到屏幕点亮的一系列过程,以期更好地理解它们的实现方式。注:本文所参考的源代码基于 Android-13.0.0_r3 和 MTK 平台。

2023-03-22 18:53:50 672

转载 RCU设计

显然让替换立刻生效来实现 RCU 的方式,只能说你创造了一个新的同步机制,但它永远也不会有人用。那么为了能超过 rwlock 的性能,一方面不能做读者与写者之间的锁同步,从而让 RCU 能在特定场景下有性能优势,另一方面,如果不做锁同步,那就意味着读者不知道写者什么时候更新,写者也不知道更新时是否存在读者,唯一的方案是:即使 writer 在更新完之后,reader2 读取的依旧是 D1 的旧数据(因为 reader2 不知道数据有更新),而更新完之后新来的读者读到的自然是新数据。

2023-03-17 22:35:06 240

原创 虚拟机中通过模拟器调试android kernel

也可以通过修改device\generic\goldfish\x86_64-kernel.mk文件中KERNEL_MODULES_PATH和 EMULATOR_KERNEL_FILE将kernel和kernel ko加入到emulator镜像中重新编译aosp系统,而无需定制emulator的启动命令。虚拟机安装ubuntu(此处略),需要注意的是虚拟机要开启嵌套虚拟化(即在虚拟机中再次使能虚拟化功能)可使用国内镜像源替换android源(git config --global url.

2023-02-20 23:02:30 769

原创 qemu调试linux内核

有了qemu后我们可以使用一台电脑就能模拟出多种cpu架构的单板,不需要去进行重复复杂的编译烧写调试工作了,提高开发的效率。

2023-02-06 19:05:36 541

原创 android 模拟器运行arm镜像

按照提交注释是说apilevel > 28,就是新的android 9.0及以后版本上不在支持host和guest (android)不匹配的情况,说白了就是x86上只能跑x86版本的android,arm机器上只能跑arm版本的android镜像。具体为什么也没有说,但是我想说这个限制完全和qemu设计的初衷不匹配了,qemu本就是支持在一个实体cpu上模拟出不同架构的cpu,对于需要针对cpu相关的调试可能就没办法用模拟器验证调试了。win10上安装了最新的android studio。

2023-02-02 18:29:26 4897 3

原创 drm框架简介

1、 DRM简介(Direct Rendering Manager)传统linux显示设备驱动开发时,通常使用FB驱动架构,随着显卡性能升级:显示覆盖(菜单层级)、GPU加速、硬件光标,传统FB架构无法很好支持,此外,对于多应用的访问冲突也无法很好控制。在这样的背景下,DRM应用而生。DRM是linux内核中负责与显卡交互的管理架构,用户空间很方便的利用DRM提供的API,实现3D渲染、视频解码和GPU计算等工作。

2023-01-17 13:44:46 777

转载 【转】自上而下解读Android显示流程

假如没有这样一个模块,所有合成任务都将有GPU完成,则会带来性能与功耗的负担,GPU主要用于绘制,参与合成则会造成资源的浪费,特别是在10年前,GPU参与合成,性能会急剧下降——对于如今来说,并没有那么大影响了,基本顺手捎带着就完成了,如今的考虑主要在于功耗,GPU合成的效率太低了。这里的原则也是减小带宽。这是Android发展到2.0之后才出现的概念,算是SF的附属子模块,之前是运行在SF主线程的,如今改成单独的Service,这是Android的设计理念,效率其实是下降了,两个进程的交互是相当频繁的。

2023-01-15 19:48:43 3299 2

原创 Windows上支持大小写敏感的目录文件

unix上文件是区分大小写的,但是unix上不支持大小写,所以需要将windows目录转换为区分大小写的文件目录。需要目录所在分区是ntfs格式。新的目录必须初始的时候为空。安装powershell (

2023-01-15 12:24:34 340

转载 Android深入浅出之Binder机制

一说明 Android系统最常见也是初学者最难搞明白的就是Binder了,很多很多的Service就是通过Binder机制来和客户端通讯交互的。所以搞明白Binder的话,在很大程度上就能理解程序运行的流程。我们这里将以MediaService的例子来分析Binder的使用:l        ServiceManager,这是Android OS的整个服务的管理程序l       

2017-11-09 22:23:57 135

转载 zergRush 提权代码

https://github.com/revolutionary/zergRush/blob/master/zergRush.c /* android 2.2/2.3 libsysutils root exploit use-after-free * * Exploited by rewriting a FrameworkCommand object making the runCom

2017-10-08 19:36:22 840

formatter.py

formatter.py

2023-07-16

模拟电子电路.pdf

讲述模拟电路的基础和实用例子,适合初级的电子工程师阅读。

2010-04-04

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除