戈壁老王

64
获赞数
3
关注数
68
粉丝数
北京
IP 属地北京
2019-09-26 加入
浏览 14.5k

做为一个不称职的老年码农,一直疏忽整理笔记,开博记录一下,用来丰富老年生活,

146 声望|学徒
android
114
binder
42
linux-kernel
33
c
30
linux
20
黄金勋章
暂未获得该勋章
如何获得
白银勋章
暂未获得该勋章
如何获得
个人动态
  • 发布了文章2024-01-29
    Android系统中底层Reboot流程
    本文主要关注 Android 系统底层的 Reboot 流程,主要涉及 Native、Kenrel、Recovery、Bootloader。
  • 发布了文章2022-10-08
    Android平台上ABI的确认
    ABI 即 Application binary interface,是 CPU 与指令集专属的应用程序二进制接口。它定义了一套规则,允许编译好的二进制目标代码能在所有兼容该ABI的操作系统中无需改动就能运行。不同的 Android 设备使用不同的 CPU,而不同的 CPU 支持不同的指令集。
  • 发布了文章2022-09-30
    USB传输速率
    注:表中的数据包大小和每帧传输次数是最大速率时的配置,不代表可选最大值。帧间隔为1ms。最大速率计算时考虑协议开销,周期传输(等时和中断)还需要考虑90%的带宽限制。
  • 发布了文章2022-08-01
    Uinput Module
    uinput是一个内核模块,可以从用户空间模拟输入设备。通过写入/dev/uinput(或 /dev/input/uinport)设备,进程可以创建具有特定功能的虚拟输入设备。一旦创建了这个虚拟设备,进程就可以通过它发送事件,这些事件将传递给用户空间和内核中事件消费者。
  • 发布了文章2022-08-01
    Multi-touch Protocol
    kernel/Documentation/input/multi-touch-protocol.rst:Copyright: |copy| 2009-2010 Henrik Rydberg mailto:rydberg@euromail.se
  • 发布了文章2022-05-27
    Android OTA升级(二)之ota_from_target_files文件分析
    此部分为全包升级主要实现过程,涉及到ota_from_target_files 文件,这个也是制作全包和差分包的主要工具,接下来我们就着重分析怎么利用这个工具制作full_ota_package的。
  • 发布了文章2022-05-27
    Android OTA升级(一)之Makefile文件分析
    此篇文章主要介绍 Android ota 包(Android L)的编译制作过程,侧重于 Makefile 中编译 ota 的流程,从指定 target 到编译 cmd 等流程。
  • 发布了文章2022-04-12
    Android 鼠标光标的图形合成
    一直很好奇鼠标光标是如何实现的,它反映很快、延迟很小,没有受到 Android 显示系统的影响。正好最近做相关的工作,跟着源码好好研究一下。本文参考 Android 9.0 源码。
  • 发布了文章2021-12-09
    Binder、HwBinder 和 VndBinder
    碰到研究过 Android 进程间通信的朋友,我通常喜欢请教 Binder 相关的问题。但是,太细节的问题有点吹毛求疵了,对于本质的理解是我期望的。标题的问题通常是我最喜欢问的一个。
  • 发布了文章2021-12-09
    什么时候不适合使用Shell脚本
    一个shell脚本是一个类似于"小吃店的(quick and dirty)"方法, 在你使用原型设计一个复杂的应用的时候. 在工程开发的第一阶段, 即使从功能中取得很有限的一个子集放到shell脚本中来完成往往都是非常有用的. 使用这种方法, 程序的结果可以被测试和尝试运行, 并且在处理...
  • 发布了文章2021-06-22
    Android 系统性能优化
    这篇不讲细节,讲方法,讲思路。看到好多人在做系统优化时完全摸不着头脑,毫无章法的乱打乱撞,实在忍不住想说几句,又不好直说,还是写下来做个笔记吧。
  • 发布了文章2021-06-01
    Android 系统实时调度优先级
    之前在Android进程调度中介绍过Android使用的调度策略。Android对调度策略和优先级的管理是很谨慎的,一般情况下不需要应用和服务调整自己的优先级。但是,一些有系统开发能力的厂商有时会对优先级进行修改。如果没有经过充分考虑,可能会对系统运行产生不良影响,尤...
  • 发布了文章2020-12-25
    configfs_sample.c 理解
    转载:[链接]1. 编译运行代码从如下链接获得:[链接]编写 Makefile 文件: {代码...} 编译生成内核模块: {代码...} 其中,configfs_sample.ko 使编译好的内核模块,使用如下命令加载该模块: {代码...} 如果出现如下错误:modprobe: FATAL: Module configfs_sample....
  • 发布了文章2020-12-25
    configfs-用户空间控制的内核对象配置
    configfs 是一个基于内存的文件系统,它提供了与sysfs相反的功能。sysfs 是一个基于文件系统的内核对象视图,而configfs 是一个基于文件系统的内核对象管理器(或称为config_items)。
  • 发布了文章2020-12-24
    数字音频接口
    I2S 是飞利浦定义的数字音频传输标准,用于数字音频数据在系统内器件之间传输。使用三根数据线:SD(数据线)、WS(帧时钟,也称LRCLK)、SCLK(位时钟,也称BCLK)。I2S 分为 i2s-standard mode ,i2s-MSB-Left-justified mode,i2s-MSB-Right-justified mode三种模...
  • 发布了文章2020-12-24
    Android log 输出控制
    很简单的话题。当我听到有人在讨论自己实现机制控制 log 输出时,我觉得还是有必要记录一下。最近让我比较困扰的是,很多 Android 基本的技巧都不被知晓。许多人的“锤子”意识很严重,一直使用以往的经验处理一切问题。
  • 发布了文章2020-11-25
    Logcat 读取 Kernel Log
    最近做 Android 系统开发,系统开发通常要建立自己的 Log 系统,抓取 Android Log、Kernel Log 和其他一些特定的 Log。对于 Kernel Log 的需求也很简单,
  • 发布了文章2020-06-18
    Android ANR 原理
    ANR:Application Not Responding,即“应用程序无响应”。Android 运行时,AMS 和 WMS 会监测应用程序的响应时间,如果应用程序主线程(即UI线程)在超时时间内对输入事件没有处理完毕,或者对特定操作没有执行完毕,就会上报 ANR。
  • 发布了文章2020-04-23
    IoT OS 初步设想
    IoT OS 主要是运行在嵌入式设备上。因为嵌入式设备的硬件千差万别,性能也差距很大。为兼容所有嵌入式设备,IoT OS 必须保持轻小的特点和良好的兼容性。同时保证其灵活性和易扩展,从而可以适应不同的外围设备。
  • 发布了文章2020-04-17
    Android 中看不见的外部存储路径
    这个问题起源一个bug的分析过程,APP的cache路径无法通过adb进行访问。基于Android 5.1代码进行分析 在 Android 应用中,获取存储路径的方法通常使用以下几个, Environment.getDownloadCacheDirectory():/cache ,cache目录路径。 Environment.getRootDirectory()...