<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[aa25012的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/aa25012</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; aa25012]]></copyright><item><title><![CDATA[How to confirm if Microtrust TEEI is enabled]]></title><link>https://blog.youkuaiyun.com/aa25012/article/details/158380454</link><guid>https://blog.youkuaiyun.com/aa25012/article/details/158380454</guid><author>aa25012</author><pubDate>Wed, 25 Feb 2026 09:46:05 +0800</pubDate><description><![CDATA[Please use adb shell "getprop | grep soter" command via USB cable to check if Microtrust TEEI is enabled normally.Please use adb shell "ps | grep teei_daemon" command via USB cable to check if Microtrust TEEI daemon is ready.]]></description><category></category></item><item><title><![CDATA[APK 系统签名（platform 签名）]]></title><link>https://blog.youkuaiyun.com/aa25012/article/details/158380155</link><guid>https://blog.youkuaiyun.com/aa25012/article/details/158380155</guid><author>aa25012</author><pubDate>Wed, 25 Feb 2026 09:32:23 +0800</pubDate><description><![CDATA[本文介绍了 Android 系统签名（platform 签名）的三种方法：1）使用 signapk.jar 命令行工具对已有 APK 进行签名；2）在源码编译时通过 Android.mk 或 Android.bp 指定平台证书自动签名；3）将平台密钥转换为 keystore 供 Android Studio/Gradle 使用。文章提供了详细的脚本和命令示例，包括签名脚本 sign_apk_platform.sh 的使用说明，并强调 platform 密钥仅适用于开发调试，正式发布应使用项目专属密钥。]]></description><category></category></item><item><title><![CDATA[查看前台应用的包名]]></title><link>https://blog.youkuaiyun.com/aa25012/article/details/153251130</link><guid>https://blog.youkuaiyun.com/aa25012/article/details/153251130</guid><author>aa25012</author><pubDate>Tue, 14 Oct 2025 10:31:58 +0800</pubDate><description><![CDATA[列出所有安装的应用包名。]]></description><category></category></item><item><title><![CDATA[wifi 自适应failSOP]]></title><link>https://blog.youkuaiyun.com/aa25012/article/details/153250944</link><guid>https://blog.youkuaiyun.com/aa25012/article/details/153250944</guid><author>aa25012</author><pubDate>Tue, 14 Oct 2025 10:28:48 +0800</pubDate><description><![CDATA[这些平台在不同频段的不同带宽均有单独的一行用于修改，哪一项fail了，就加哪一行到wifi.cfg文件里面去，里面的0xFFB2里面的B2就是触发阈值，同样如上往小了改即可。当遇到客户测试EDCCA时，出现fail情况，请客户加大干扰信号强度，看下DUT是否可以停掉TX,如果可以停掉TX，那需要按照下面的方式进行调整。注：不同的平台分成不同架构的，可以通过getprop ro.vendor.wlan.gen ，看下是gen4m/gen3/gen2。i，可以解决没有显示屏而无法操作WIFI的问题，]]></description><category></category></item><item><title><![CDATA[如何确认 Android 设备是否自带 wpa_cli]]></title><link>https://blog.youkuaiyun.com/aa25012/article/details/152118066</link><guid>https://blog.youkuaiyun.com/aa25012/article/details/152118066</guid><author>aa25012</author><pubDate>Fri, 26 Sep 2025 10:30:15 +0800</pubDate><description><![CDATA[8781平台wpa_cli在vendor/bin下。8781平台在system/bin/下。使用基本命令确认 iw 是否正常工作。确认 iwpriv 是否存在。就能直接使用wpa_cli。也可以临时加 PATH。]]></description><category></category></item><item><title><![CDATA[调PWM背光遇到过的问题？启动时屏幕闪烁怎么解决的？]]></title><link>https://blog.youkuaiyun.com/aa25012/article/details/152117885</link><guid>https://blog.youkuaiyun.com/aa25012/article/details/152117885</guid><author>aa25012</author><pubDate>Fri, 26 Sep 2025 10:25:40 +0800</pubDate><description><![CDATA[如果前后设置不一致（如 Bootloader 配了固定占空比，Kernel 再重置），就会闪一次。背光点亮时不是直接跳到 100%，而是逐步调节（比如 0 → 20 → 50 → 100%）。开机过程中，PWM 没有初始化完成，默认输出不稳定 → 屏幕亮暗不均或闪一下。BL_EN（背光使能脚）提前拉高，但 PWM 还没输出稳定频率 → 出现闪烁。确保 PWM 输出稳定频率和占空比（比如 0% 或默认亮度），再打开背光电源。初始化时先写 0%，这样即使 BL_EN 打开，屏幕也是黑的，不会闪。]]></description><category></category></item><item><title><![CDATA[Android使用内存压力测试工具 StressAppTest]]></title><link>https://blog.youkuaiyun.com/aa25012/article/details/151147555</link><guid>https://blog.youkuaiyun.com/aa25012/article/details/151147555</guid><author>aa25012</author><pubDate>Wed, 03 Sep 2025 13:43:32 +0800</pubDate><description><![CDATA[StressAppTest是一款开源系统压力测试工具，用于检测内存、CPU和显存的稳定性。通过GitHub获取源码后，可集成到系统开发环境中。测试时使用命令&quot;stressapptest -s10 -M1000 -W -m8&quot;，即用8个线程占用1000MB内存进行10秒写入验证。测试结果显示：83970MB数据在10秒内完成传输，速率达8394.37MB/s，无硬件问题和错误，最终状态为&quot;PASS&quot;。该工具支持Android系统，可帮助开发者验证硬件稳定性。]]></description><category></category></item><item><title><![CDATA[Android编译移植memtester，内存压测试工具]]></title><link>https://blog.youkuaiyun.com/aa25012/article/details/151143994</link><guid>https://blog.youkuaiyun.com/aa25012/article/details/151143994</guid><author>aa25012</author><pubDate>Wed, 03 Sep 2025 13:38:54 +0800</pubDate><description><![CDATA[本文介绍了在Android系统中使用memtester工具进行DDR内存压测的方法。首先下载memtester源码并添加Android.mk编译脚本，通过mm命令编译生成aarch64架构的可执行文件。编译完成后需将文件push到设备/system/bin目录，或在device.mk中加入PRODUCT_PACKAGES配置打包进系统。使用时通过命令行执行，如&quot;memtester 100M 1&quot;测试100MB内存循环1次。注意普通应用需修改SEPolicy权限才能运行。测试示例展示了1G]]></description><category></category></item><item><title><![CDATA[mt6897 scp a+g sh5201 porting记录]]></title><link>https://blog.youkuaiyun.com/aa25012/article/details/150060375</link><guid>https://blog.youkuaiyun.com/aa25012/article/details/150060375</guid><author>aa25012</author><pubDate>Fri, 08 Aug 2025 11:01:24 +0800</pubDate><description><![CDATA[本文摘要介绍了在MTK平台（MT6897芯片）上添加SCP侧传感器的完整流程。主要包括：1）硬件连接确认（供电、I2C/SPI组号、中断GPIO）；2）驱动代码添加位置（vendor/mediatek/tinysys/scp/middleware/sensorhub/drivers）；3）DTS配置（传感器名称、总线ID、中断号等）；4）编译配置修改（project.mk和sensorhub.mk）；5）HAL层声明（SensorListV2.cpp中添加传感器参数）；6）系统宏开关设置（ProjectCo]]></description><category></category></item><item><title><![CDATA[stm32f103rct6+freertos+platformio LittleFS移植记录]]></title><link>https://blog.youkuaiyun.com/aa25012/article/details/150059509</link><guid>https://blog.youkuaiyun.com/aa25012/article/details/150059509</guid><author>aa25012</author><pubDate>Fri, 08 Aug 2025 10:38:54 +0800</pubDate><description><![CDATA[本文介绍了将LittleFS文件系统适配到NOR Flash和NAND Flash的步骤。主要内容包括：1)从GitHub获取LittleFS源码并集成到工程中；2)修改内存管理函数为FreeRTOS接口；3)实现底层Flash读写接口函数；4)在STM32F103+FreeRTOS平台测试验证。通过重写read、prog、erase和sync函数，实现了LittleFS对W25Q系列Flash的支持，测试表明系统掉电后数据不会丢失。]]></description><category></category></item><item><title><![CDATA[Android默认背光亮度配置说明]]></title><link>https://blog.youkuaiyun.com/aa25012/article/details/149415557</link><guid>https://blog.youkuaiyun.com/aa25012/article/details/149415557</guid><author>aa25012</author><pubDate>Thu, 17 Jul 2025 10:20:38 +0800</pubDate><description><![CDATA[本文介绍了两种修改Android系统默认亮度配置的方法。第一种是通过Overlay机制覆盖系统默认值，将默认亮度从0.5调整为0.85。第二种是直接修改AOSP源码中的config.xml文件，其中包含6个关键配置项，分别控制屏幕亮度的最小、最大和默认值，包括整型版本(10-255)和浮点版本(0.0-1.0)。目前浮点版本被设置为-2(无效)，系统会回退使用整型值控制亮度。要启用浮点控制，需要设置合理的0.0-1.0之间的值。]]></description><category></category></item><item><title><![CDATA[Git Revert 使用指南（基础用法）]]></title><link>https://blog.youkuaiyun.com/aa25012/article/details/149414910</link><guid>https://blog.youkuaiyun.com/aa25012/article/details/149414910</guid><author>aa25012</author><pubDate>Thu, 17 Jul 2025 09:58:22 +0800</pubDate><description><![CDATA[本文介绍了Git中撤销变更的两种方法：git revert和git reset。git revert通过创建反向提交安全撤销指定改动，支持-n参数延迟提交，适用于公共分支；处理冲突时可选择中止(--abort)、退出(--quit)或解决冲突后继续。相比之下，git reset直接回滚到指定提交，会删除后续记录，仅推荐用于个人分支。总结指出：公共分支推荐使用git revert保留历史，个人分支可使用git reset清理记录。两种方法各适用于不同场景，git revert更安全，git reset则更彻底]]></description><category></category></item><item><title><![CDATA[使用FreeRTOS时，需要将HAL时基从SysTick切换到定时器（如 TIM6、TIM7）]]></title><link>https://blog.youkuaiyun.com/aa25012/article/details/148113949</link><guid>https://blog.youkuaiyun.com/aa25012/article/details/148113949</guid><author>aa25012</author><pubDate>Wed, 21 May 2025 13:59:54 +0800</pubDate><description><![CDATA[中断优先级问题引发HAL_Delay()死等，FreeRTOS 默认使用SysTick作为自己的心跳，并将设置为SysTick最低中断优先级，以保证高优先级中断正常执行。当FreeRTOS与HAL库共用SysTick作为系统时基时，如果在一个高于SysTick优先级的中断中（如串口、DMA等）调用 HAL_Delay()，SysTick 无法打断当前中断，也就无法递增 uwTick。将 HAL 的时基切换为其他定时器（如 TIM6、TIM7），尽量不要在中断中使用延时HAL_Delay()]]></description><category></category></item><item><title><![CDATA[MCU 上电不启动的常见原因分析与排查思路]]></title><link>https://blog.youkuaiyun.com/aa25012/article/details/148106388</link><guid>https://blog.youkuaiyun.com/aa25012/article/details/148106388</guid><author>aa25012</author><pubDate>Wed, 21 May 2025 10:40:34 +0800</pubDate><description><![CDATA[在开发过程中，“MCU 上电不运行”是我们经常遇到的问题之一。但客户对此类问题的描述往往较为模糊，仅简单表示“产品不工作”或“怀疑 MCU 没有运行”，这给我们现场排查带来了较大的挑战。其它MCU，像STM32G0/G4，它并没有外接VCAP，它的内核电压都是在芯片内部的，也就是说我们无法探测和改善它，这样就更应该注重外部VDD的供电环境了。因此，本文总结了一些 MCU 上电后不运行的典型原因和系统性的排查方法，供大家参考和借鉴。，距离越远，信号衰减和受干扰的风险越大，从而影响起振效果。]]></description><category></category></item><item><title><![CDATA[深入理解 SPI 通信中的时钟极性与相位（CPOL 与 CPHA）]]></title><link>https://blog.youkuaiyun.com/aa25012/article/details/148063224</link><guid>https://blog.youkuaiyun.com/aa25012/article/details/148063224</guid><author>aa25012</author><pubDate>Mon, 19 May 2025 14:42:30 +0800</pubDate><description><![CDATA[在 SPI 通信协议中，时钟极性（CPOL）和时钟相位（CPHA）是两个关键配置参数，它们决定了数据传输的时序规则。理解这两个参数对于正确配置主从设备之间的数据交互至关重要。本文将通过简明的解释和直观的时序图，深入解析 CPOL 与 CPHA 的含义，以及它们组合形成的四种 SPI 模式，帮助读者快速掌握 SPI 总线的核心时序逻辑。]]></description><category></category></item><item><title><![CDATA[Android设备 显示充电速度流程]]></title><link>https://blog.youkuaiyun.com/aa25012/article/details/148062491</link><guid>https://blog.youkuaiyun.com/aa25012/article/details/148062491</guid><author>aa25012</author><pubDate>Mon, 19 May 2025 14:23:00 +0800</pubDate><description><![CDATA[设备充电速度的判断系统通过读取充电器的最大电流和电压，计算最大充电功率，以此判断充电速度。]]></description><category></category></item><item><title><![CDATA[TEE可信执行环境的安全业务保护方案]]></title><link>https://blog.youkuaiyun.com/aa25012/article/details/145996931</link><guid>https://blog.youkuaiyun.com/aa25012/article/details/145996931</guid><author>aa25012</author><pubDate>Mon, 03 Mar 2025 19:26:35 +0800</pubDate><description><![CDATA[安全业务可在**TEE（可信执行环境）**中运行，以保障安全资产的完整性。可帮助企业便捷管理Android移动设备，提升安全性并优化运维流程。，通过摄像头采集人脸数据，并存储于。，防止盗版，特别适用于。]]></description><category></category></item><item><title><![CDATA[[RPMB] CPU and EMMC/UFS RPMB Region 绑定说明]]></title><link>https://blog.youkuaiyun.com/aa25012/article/details/145977170</link><guid>https://blog.youkuaiyun.com/aa25012/article/details/145977170</guid><author>aa25012</author><pubDate>Mon, 03 Mar 2025 10:03:18 +0800</pubDate><description><![CDATA[2   同一片主板上初始状态CPU_A+UFS_A，换其他板子上使用过的UFS，但是不换CPU：即换一个已经在其他主板被使用过，已经写入CPU_B ID派生出来key_B的UFS_B ，新的key_B跟当前UFS_A在此之前已经存储的由CPU_A派生出来的key_A不匹配，CPU_B无法访问当前板子上的UFS_A RPMB数据；新的UFS_B上没有存储当前板子CPU_A ID派生的key_A，CPU_A 也无法凭借Key_A访问更换过来的UFS_B RPMB保护的数据。]]></description><category></category></item><item><title><![CDATA[Android Logcat 高效调试指南]]></title><link>https://blog.youkuaiyun.com/aa25012/article/details/145932051</link><guid>https://blog.youkuaiyun.com/aa25012/article/details/145932051</guid><author>aa25012</author><pubDate>Fri, 28 Feb 2025 16:35:11 +0800</pubDate><description><![CDATA[Logcat 是 Android SDK 提供的命令行日志工具，支持灵活过滤、格式定制和实时监控，官方文档详见。]]></description><category></category></item><item><title><![CDATA[eMMC安全简介]]></title><link>https://blog.youkuaiyun.com/aa25012/article/details/145931413</link><guid>https://blog.youkuaiyun.com/aa25012/article/details/145931413</guid><author>aa25012</author><pubDate>Fri, 28 Feb 2025 16:10:53 +0800</pubDate><description><![CDATA[如果一段恶意软件执行重放攻击，拦截了初始消息（将账户余额设置为 $2,000），通过在 $1,600 购买后重新发送相同的消息，它可以将账户余额重置为 $2,000。在eMMC5.1之前，永久写保护机制是防护启动分区的唯一可靠方案，然而该机制在防黑客篡改的同时，也使得制造商无法在需要时更新该区域。在 RPMB 中，设备管理一个只读计数器，该计数器在每次写入消息后递增，并且其新值将包含在下次要发送的认证码计算中。然而，黑客可能试图利用相同机制，将用户设备软件降级至旧版本，以利用先前版本的漏洞。]]></description><category></category></item></channel></rss>