<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[Jason_florg的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/Jason_florg</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; Jason_florg]]></copyright><item><title><![CDATA[sh_malloc_debug_false_positive]]></title><link>https://blog.youkuaiyun.com/Jason_florg/article/details/169265201</link><guid>https://blog.youkuaiyun.com/Jason_florg/article/details/169265201</guid><author>Jason_florg</author><pubDate>Tue, 27 Oct 2026 17:33:53 +0800</pubDate><description><![CDATA[sh malloc_debug 报告的“size 8 leaked block”实为误判，根源在于 libc++ 全局初始化时通过 newlocale 分配的 locale 对象未被释放。该分配发生在 std::ios_base::Init 构造过程中，属平台层静态初始化行为，非 mksh 真实内存泄漏。类似现象亦见于 iptables 等程序，证实为 leak_track 机制对初始化对象的误报。结论：此为 false positive，不应归责于 shell 代码。]]></description><category></category></item><item><title><![CDATA[malloc_debug_notes]]></title><link>https://blog.youkuaiyun.com/Jason_florg/article/details/169265155</link><guid>https://blog.youkuaiyun.com/Jason_florg/article/details/169265155</guid><author>Jason_florg</author><pubDate>Tue, 27 Oct 2026 17:31:33 +0800</pubDate><description><![CDATA[分配时在用户数据前后埋标记校验时拿实际内存和期望模板逐字节比对一旦发现差异，就把损坏方向、偏移、字节内容和回溯一起打出来对于 native 内存问题，尤其是图像 buffer 越界、use after free、泄漏和非法 free，这是一套非常直接且有效的工具。]]></description><category></category></item><item><title><![CDATA[V4l2相关]]></title><link>https://blog.youkuaiyun.com/Jason_florg/article/details/160466064</link><guid>https://blog.youkuaiyun.com/Jason_florg/article/details/160466064</guid><author>Jason_florg</author><pubDate>Fri, 24 Apr 2026 10:38:20 +0800</pubDate><description><![CDATA[是Linux内核中专门为视频设备设计的驱动框架，它为应用程序提供了一套统一的操作接口来控制摄像头、视频采集卡等设备。在Linux系统中，V4L2设备通常表现为设备节点。V4L2：顶层容器，管理整个设备：子设备抽象，支持模块化驱动开发：用户空间接口，提供标准访问方式：处理复杂数据通路，支持动态pipeline配置Videobuf2：高效缓冲区管理，支持多种内存模型这种架构使得驱动开发者可以专注于硬件相关的实现细节，而通用功能由框架提供，大大简化了V4L2驱动的开发工作。]]></description><category></category></item><item><title><![CDATA[Android内存相关]]></title><link>https://blog.youkuaiyun.com/Jason_florg/article/details/158383349</link><guid>https://blog.youkuaiyun.com/Jason_florg/article/details/158383349</guid><author>Jason_florg</author><pubDate>Wed, 25 Feb 2026 11:56:06 +0800</pubDate><description><![CDATA[的机制，简单说，就是允许进程“固定”正在使用的内存，也允许在内存紧张时“释放”暂时不用的内存给内核回收。Ashmem 在较新的系统中也面临着被取代的命运，它的继任者是 Linux 标准的 memfd。来管理不同类型的内存（如物理连续的、非连续的），硬件需要什么内存，就找对应的堆去取。但 ION 有一个致命的弱点：它的用户空间接口是单一的 /dev/ion。这意味着，一旦一个进程能打开这个文件，它就有可能访问到所有类型的内存，这在安全上是巨大的隐患。系统调用与内核驱动交互，它的核心亮点是一个叫做。]]></description><category></category></item><item><title><![CDATA[Android010 MMC SD卡 驱动初始化通讯相关]]></title><link>https://blog.youkuaiyun.com/Jason_florg/article/details/156017681</link><guid>https://blog.youkuaiyun.com/Jason_florg/article/details/156017681</guid><author>Jason_florg</author><pubDate>Wed, 17 Dec 2025 15:04:36 +0800</pubDate><description><![CDATA[2.2 检测到SD卡,初始化:mmc_attach_sd。2. mmc_gpio_cd_irqt：判断插拔。2.3  mmc_sd_init_card 过程。1. sdhci_irq：中断信号。2.1 SD卡插拔检测。]]></description><category></category></item><item><title><![CDATA[TF 卡检测&初始化通讯命令]]></title><link>https://blog.youkuaiyun.com/Jason_florg/article/details/155949544</link><guid>https://blog.youkuaiyun.com/Jason_florg/article/details/155949544</guid><author>Jason_florg</author><pubDate>Mon, 15 Dec 2025 19:30:44 +0800</pubDate><description><![CDATA[CMD0:功能：TF卡初始化命令参数：0x00000000回复：0x00000000CMD8：功能：查询电压是否支持参数：0x000001aa[14~31]：0回复：R7CMD2：功能：读取卡的唯一标识信息（CID寄存器）,获取卡的制造商、产品信息、序列号等,用于后续为卡分配相对地址（RCA）参数：必须为 0x00000000,广播命令，不需要指定特定卡,所有处于Idle状态的卡都会响应回复：R2CMD3：功能：主机分配地址给卡参数：通常为0（卡生成RCA）回复：R6。]]></description><category></category></item><item><title><![CDATA[Linux dd命令介绍及简单使用]]></title><link>https://blog.youkuaiyun.com/Jason_florg/article/details/155346519</link><guid>https://blog.youkuaiyun.com/Jason_florg/article/details/155346519</guid><author>Jason_florg</author><pubDate>Fri, 28 Nov 2025 10:50:06 +0800</pubDate><description><![CDATA[root]$参数介绍参数含义示例值说明if=输入文件input.bin指定要读取的源二进制文件of=输出文件output.bin指定将数据写入哪个文件，默认为标准输出（屏幕）bs=块大小1(字节)设置一次读取/写入的字节数。为精确控制，常设为1字节skip=跳过输入块数102567指定从文件开头跳过多少个bs大小的块后再开始读取seek=文件开头跳过10从输出文件开头跳过 10 个块后再开始写入count=读取块数253指定要读取多少个bs。]]></description><category></category></item><item><title><![CDATA[Android10 系统休眠调试相关]]></title><link>https://blog.youkuaiyun.com/Jason_florg/article/details/149944336</link><guid>https://blog.youkuaiyun.com/Jason_florg/article/details/149944336</guid><author>Jason_florg</author><pubDate>Tue, 05 Aug 2025 19:27:49 +0800</pubDate><description><![CDATA[实时打印休眠日志(实测好像没作用)：echo 1 > /sys/module/printk/parameters/console_suspend。查看冻结进程的超时时间（ms）：cat /sys/power/pm_freeze_timeout。查看唤醒源：cat /sys/kernel/debug/wakeup_sources。查看系统启动以来唤醒次数：cat /sys/power/wakeup_count。查看休眠/唤醒模式：cat /sys/power/pm_async。]]></description><category></category></item><item><title><![CDATA[Android Ntp系统校时流程]]></title><link>https://blog.youkuaiyun.com/Jason_florg/article/details/149645813</link><guid>https://blog.youkuaiyun.com/Jason_florg/article/details/149645813</guid><author>Jason_florg</author><pubDate>Fri, 25 Jul 2025 18:12:43 +0800</pubDate><description><![CDATA[NTP请求通过NtpTrustedTime实现，NtpTrustedTime处理请求逻辑与数据存储，SntpClient负责网络请求。]]></description><category></category></item><item><title><![CDATA[Android toybox常用工具介绍]]></title><link>https://blog.youkuaiyun.com/Jason_florg/article/details/149572539</link><guid>https://blog.youkuaiyun.com/Jason_florg/article/details/149572539</guid><author>Jason_florg</author><pubDate>Wed, 23 Jul 2025 15:18:23 +0800</pubDate><description><![CDATA[源码路径：external/toybox,间隔5S执行一次ps -A命令。]]></description><category></category></item><item><title><![CDATA[Android 进程 线程分析]]></title><link>https://blog.youkuaiyun.com/Jason_florg/article/details/149564899</link><guid>https://blog.youkuaiyun.com/Jason_florg/article/details/149564899</guid><author>Jason_florg</author><pubDate>Wed, 23 Jul 2025 11:03:32 +0800</pubDate><description><![CDATA[子线程创建时由内核动态分配，无固定规则，但通常按创建顺序递增，线程终止后，其。通过对进程的线程分析能直观看到相关信息，帮助优化APP或者服务提供参考。​	Android线程号规则：主线程与进程号一致（首个线程（主线程）的。可能被回收并重新分配给新线程，线程的。系统调用分配，是真正的硬件线程标识。]]></description><category></category></item><item><title><![CDATA[Android perfetto 工具使用]]></title><link>https://blog.youkuaiyun.com/Jason_florg/article/details/149545097</link><guid>https://blog.youkuaiyun.com/Jason_florg/article/details/149545097</guid><author>Jason_florg</author><pubDate>Tue, 22 Jul 2025 19:14:34 +0800</pubDate><description><![CDATA[控制命令解释备注立即退出命令行界面，并继续在后台记录您的跟踪数据自定义配置文件protobuf格式–out | -o保存的文件-t+time检测时长–txt–help | -h帮助–time | -t时长需要跟单位–size | -sATRACE_CAT–alert-id–config-id模块模块介绍sched跟踪CPU调度、上下文切换等内核事件‌freq记录CPU频率动态调整过程‌idle监控CPU进入/退出低功耗状态‌am。]]></description><category></category></item><item><title><![CDATA[高通Camera 调试日志开关]]></title><link>https://blog.youkuaiyun.com/Jason_florg/article/details/149397807</link><guid>https://blog.youkuaiyun.com/Jason_florg/article/details/149397807</guid><author>Jason_florg</author><pubDate>Wed, 16 Jul 2025 14:28:30 +0800</pubDate><description><![CDATA[​	Camera 调试开关通过persist系统属性控制(1~6：开启  0：关闭)，等级越高日志越详细，设置后无需重启。保存metadata数据开关： persist.vendor.camera.dumpmetadata。存储路径：/data/vendor/camera/metadata_dump/属性：persist.vendor.debug.sf.showfps。保存 persist.vendor.camera.dumpimg。开关：1：开  0：关。1：开启  0：关闭。]]></description><category></category></item><item><title><![CDATA[Android 10 Gnss数据流程]]></title><link>https://blog.youkuaiyun.com/Jason_florg/article/details/149172480</link><guid>https://blog.youkuaiyun.com/Jason_florg/article/details/149172480</guid><author>Jason_florg</author><pubDate>Mon, 07 Jul 2025 14:32:12 +0800</pubDate><description><![CDATA[GnssLocationProvider主要通过JNI处理与HAL层交互逻辑。GnssLocationProvider通过class_init_native()初始化jni，jni 通过android_location_GnssLocationProvider_set_gps_service_handle方法判断当前HAL层使用那个版本，从2.0获取Service，如果获取不到认为不支持2.0，继续试获取1.1的服务，如果获取不到默认使用1.0服务。:Nmea数据回调`]]></description><category></category></item><item><title><![CDATA[Android Binder简介]]></title><link>https://blog.youkuaiyun.com/Jason_florg/article/details/148893978</link><guid>https://blog.youkuaiyun.com/Jason_florg/article/details/148893978</guid><author>Jason_florg</author><pubDate>Wed, 25 Jun 2025 10:40:45 +0800</pubDate><description><![CDATA[​	本文主在简单介绍框架层的结构及使用，从Kernel 源码看从V3.19之后已经支持binder驱动，默认不编译，如需使用需要配置编译选项：make menuconfig驱动源码：kernel/msm-4.9/drivers/android(高通源码目录)框架源码：frameworks/native/libs/binderKernel源码在线：https://elixir.bootlin.com。]]></description><category></category></item><item><title><![CDATA[Camera1 打开Camera流程]]></title><link>https://blog.youkuaiyun.com/Jason_florg/article/details/148633959</link><guid>https://blog.youkuaiyun.com/Jason_florg/article/details/148633959</guid><author>Jason_florg</author><pubDate>Fri, 13 Jun 2025 15:30:43 +0800</pubDate><description><![CDATA[*小结：**从以上看FW与jni层主要都是一些接口与方法，打开camera后会先获取media.camera服务，获取到ICamera远程对象。后续的动作都由ICamera对象下发给CameraService（框架一般不会改动除非有定制接口，注意数据只要不阻塞不会出问题）Camera1 通过open静态方法获取Camera对象。]]></description><category></category></item><item><title><![CDATA[Android Binder 通讯内存调整]]></title><link>https://blog.youkuaiyun.com/Jason_florg/article/details/148342402</link><guid>https://blog.youkuaiyun.com/Jason_florg/article/details/148342402</guid><author>Jason_florg</author><pubDate>Fri, 30 May 2025 17:41:06 +0800</pubDate><description><![CDATA[查上层请求binder内存，源码路径：frameworks/native/libs/binder。源码路径：kernel\msm-4.9\drivers\android\binder.c。]]></description><category></category></item><item><title><![CDATA[OTA升级erase、new、zero流程：]]></title><link>https://blog.youkuaiyun.com/Jason_florg/article/details/148148559</link><guid>https://blog.youkuaiyun.com/Jason_florg/article/details/148148559</guid><author>Jason_florg</author><pubDate>Thu, 22 May 2025 20:18:58 +0800</pubDate><description><![CDATA[将命令对应的方法存入CommandMap，继续看PerformBlockImageUpdate方法实现。如：erase 6,134685,163328,164354,228864,229953,257475。调用discard_blocks丢掉对应的block。zero调用PerformCommandZero实现。new 调用PerformCommandNew方法。]]></description><category></category></item><item><title><![CDATA[Camera2 笔记之二：CameraDevice分析]]></title><link>https://blog.youkuaiyun.com/Jason_florg/article/details/148095627</link><guid>https://blog.youkuaiyun.com/Jason_florg/article/details/148095627</guid><author>Jason_florg</author><pubDate>Tue, 20 May 2025 18:09:44 +0800</pubDate><description><![CDATA[​	ICameraDeviceUserWrapper持有打开openCamera时创建的ICameraDeviceUser主要功能：于CameraService 通讯（提交请求、取消请求等），检测服务是否挂掉。]]></description><category></category></item><item><title><![CDATA[Camera2 笔记之一：CameraManager分析]]></title><link>https://blog.youkuaiyun.com/Jason_florg/article/details/148094896</link><guid>https://blog.youkuaiyun.com/Jason_florg/article/details/148094896</guid><author>Jason_florg</author><pubDate>Tue, 20 May 2025 17:55:37 +0800</pubDate><description><![CDATA[【代码】Camera2 笔记之一：CameraManager分析。]]></description><category></category></item></channel></rss>