<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[qq_39695119的博客]]></title><description><![CDATA[]]></description><link>https://blog.csdn.net/qq_39695119</link><language>zh-cn</language><generator>https://blog.csdn.net/</generator><copyright><![CDATA[Copyright &copy; qq_39695119]]></copyright><item><title><![CDATA[设置-关于手机里面硬件版本为空，如何完美甩锅]]></title><link>https://blog.csdn.net/qq_39695119/article/details/118927825</link><guid>https://blog.csdn.net/qq_39695119/article/details/118927825</guid><author>qq_39695119</author><pubDate>Tue, 20 Jul 2021 09:52:34 +0800</pubDate><description><![CDATA[报一个问题如上图“Setting——About phone——Model &amp; hardware里面的Hardware version显示为空”



而我查看了cmdline、属性、工模，硬件版本都是有的，所以猜也猜的到肯定是上层这个界面获取Hardware version的属性不对

但光凭猜测，锅是甩不出去的。还得找到证据才可以

那就要找到这个显示的代码了



基本上上层的代码就那么几个目录

cd android/packages/

grep "Hardware version" * -]]></description><category></category></item><item><title><![CDATA[MTK平台download烧录大全]]></title><link>https://blog.csdn.net/qq_39695119/article/details/118927551</link><guid>https://blog.csdn.net/qq_39695119/article/details/118927551</guid><author>qq_39695119</author><pubDate>Tue, 20 Jul 2021 09:44:01 +0800</pubDate><description><![CDATA[MTK Download是指通过工具把Images从PC下载到手机/平板的memory(Nand/EMMC/UFS...)中。

我们一般用的工具就是flash tool

使用这个工具烧录样机是需要装驱动的

使用SP MDT 和SP Flashtool之前，需要先安装USB driver到PC侧
	可以在MTK online上下载USB driver
	
一、用flashtool烧录样机

详细操作步骤去看我的wiki：MTK样机用flashtool烧录操作

不过这里对烧录方式做一个说明，我们一般是用]]></description><category></category></item><item><title><![CDATA[Makefile常用函数]]></title><link>https://blog.csdn.net/qq_39695119/article/details/118892746</link><guid>https://blog.csdn.net/qq_39695119/article/details/118892746</guid><author>qq_39695119</author><pubDate>Mon, 19 Jul 2021 11:54:41 +0800</pubDate><description><![CDATA[分析Makefile或者mk文件经常有见到一些函数，这里把我分析Makefile遇到的函数都总结在这里



一、strip

函数名称：去空格函数—strip。函数功能：去掉字串（若干单词，使用若干空字符分割） “STRINT”开头和结尾的空字符，并将其中多个连续空字符合并为一个空字符。返回值：无前导和结尾空字符、使用单一空格分割的多单词字符串。示例：
STR = a b c
LOSTR = $(strip $(STR))
结果是“a b c”。



二、...]]></description><category></category></item><item><title><![CDATA[用命令跳过开机向导]]></title><link>https://blog.csdn.net/qq_39695119/article/details/118891949</link><guid>https://blog.csdn.net/qq_39695119/article/details/118891949</guid><author>qq_39695119</author><pubDate>Mon, 19 Jul 2021 11:23:22 +0800</pubDate><description><![CDATA[adb shell settings put secure user_setup_complete 1
adb shell settings put global device_provisioned 1
]]></description><category></category></item><item><title><![CDATA[挂载sec_efs结果烧进去卡安卓]]></title><link>https://blog.csdn.net/qq_39695119/article/details/118891900</link><guid>https://blog.csdn.net/qq_39695119/article/details/118891900</guid><author>qq_39695119</author><pubDate>Mon, 19 Jul 2021 11:21:26 +0800</pubDate><description><![CDATA[最后发现是由于没有修改分区表设置sec分区烧录sec_efs.img导致的
从这次可以得到一个经验，如果开机如果有类似于“[32m[ 16.636768] [33mEXT4-fs (mmcblk0p64)[0m: recovery complete
[32m[ 16.637702] [33mEXT4-fs (mmcblk0p64)[0m: mounted filesystem with ordered data mode. Opts: errors=remount-ro,nomblk_io_su...]]></description><category></category></item><item><title><![CDATA[高通烧录报ufs需要重新provision]]></title><link>https://blog.csdn.net/qq_39695119/article/details/118891866</link><guid>https://blog.csdn.net/qq_39695119/article/details/118891866</guid><author>qq_39695119</author><pubDate>Mon, 19 Jul 2021 11:20:21 +0800</pubDate><description><![CDATA[烧录报错

烧录工具报

2020-04-2710:07:17.212 10:07:17: {ERROR: Something failed with the&lt; erase&gt; command. The port_trace.txt can shed more information on this

2020-04-2710:07:17.212 Note that for eMMC &lt;erase&gt; is only valid for physical_partition ...]]></description><category></category></item><item><title><![CDATA[高通sm6125平台如何修改允许二次绑定]]></title><link>https://blog.csdn.net/qq_39695119/article/details/118891831</link><guid>https://blog.csdn.net/qq_39695119/article/details/118891831</guid><author>qq_39695119</author><pubDate>Mon, 19 Jul 2021 11:19:06 +0800</pubDate><description><![CDATA[KBA-170821193938
How to do CPU/EMMC swap test on secure devices
[Issue descrption]
Please note the solutions list in this KBA can only used for aftermarket analysis. Can NOT be used
on any commercial devices.
注意：本KBA所列的方案只能用于售后分析，不能用于任何的量产设备In ...]]></description><category></category></item><item><title><![CDATA[MTK超详细启动流程]]></title><link>https://blog.csdn.net/qq_39695119/article/details/118891778</link><guid>https://blog.csdn.net/qq_39695119/article/details/118891778</guid><author>qq_39695119</author><pubDate>Mon, 19 Jul 2021 11:17:57 +0800</pubDate><description><![CDATA[个人认为对MTK的整个的启动流程有一个了解还是很有必要的



深入MTK平台bootloader启动之【 Pre-loader -&gt; Lk】分析笔记

https://blog.csdn.net/forever_2015/article/details/53000643



深入MTK平台bootloader启动之【 lk -&gt; kernel】分析笔记

https://blog.csdn.net/forever_2015/article/details/53047993



上面两个是c]]></description><category></category></item><item><title><![CDATA[MTK超详细启动流程]]></title><link>https://blog.csdn.net/qq_39695119/article/details/118891685</link><guid>https://blog.csdn.net/qq_39695119/article/details/118891685</guid><author>qq_39695119</author><pubDate>Mon, 19 Jul 2021 11:14:29 +0800</pubDate><description><![CDATA[个人认为对MTK的整个的启动流程有一个了解还是很有必要的



深入MTK平台bootloader启动之【 Pre-loader -&gt; Lk】分析笔记

https://blog.csdn.net/forever_2015/article/details/53000643



深入MTK平台bootloader启动之【 lk -&gt; kernel】分析笔记

https://blog.csdn.net/forever_2015/article/details/53047993



上面两个是c]]></description><category></category></item><item><title><![CDATA[制作OTA坏包，故意进入死机]]></title><link>https://blog.csdn.net/qq_39695119/article/details/118891518</link><guid>https://blog.csdn.net/qq_39695119/article/details/118891518</guid><author>qq_39695119</author><pubDate>Mon, 19 Jul 2021 11:09:35 +0800</pubDate><description><![CDATA[drivers/mmc/core/mmc.c

static int mmc_init_card(struct mmc_host *host, u32 ocr,
 struct mmc_card *oldcard)
{
 struct mmc_card *card;
 int err;
 u32 cid[4];
 u32 rocr;

- BUG_ON(!host);
+ BUG_ON(host);
 WARN_ON(!host-&gt;claimed);
...]]></description><category></category></item><item><title><![CDATA[低温flash测试测试过程关机]]></title><link>https://blog.csdn.net/qq_39695119/article/details/118891405</link><guid>https://blog.csdn.net/qq_39695119/article/details/118891405</guid><author>qq_39695119</author><pubDate>Mon, 19 Jul 2021 11:07:55 +0800</pubDate><description><![CDATA[在kernel log中发现"1C991 &lt;6&gt; [15800.285941][01-11 22:17:25.285] charger-manager charger-manager: battery voltage = 3778000, OCV = 4335710, current = -430000, capacity = 4, charger status = 2, force set full = 0, charging current = 0, charging limit curr.]]></description><category></category></item><item><title><![CDATA[添加flash name&&vendor]]></title><link>https://blog.csdn.net/qq_39695119/article/details/118891318</link><guid>https://blog.csdn.net/qq_39695119/article/details/118891318</guid><author>qq_39695119</author><pubDate>Mon, 19 Jul 2021 11:02:36 +0800</pubDate><description><![CDATA[添加flash name&amp;&amp;vendor

这个有同事做过，但是我们需要知道一下如何加一个flash信息

因为如果是一个新的厂商，新的flash，照抄同事的代码是不可以的



我先说一下参考提交

http://192.168.30.13:8081/#/c/269720/

参考这个提交就可以



这个提交里面一共加了四个函数，其中两个是显示flash大小的，这两个函数我先不说，因为你换一款flash，还是这么写，不会改。

我说一下会改的两个函数

static ssize_t fl]]></description><category></category></item><item><title><![CDATA[ufs死机乌龙]]></title><link>https://blog.csdn.net/qq_39695119/article/details/118891248</link><guid>https://blog.csdn.net/qq_39695119/article/details/118891248</guid><author>qq_39695119</author><pubDate>Mon, 19 Jul 2021 11:01:17 +0800</pubDate><description><![CDATA[先说问题，然后说为什么是一个乌龙

操作步骤】1.插入两张移动卡，待机过程中，按Power键【预期结果】1.屏幕正常亮起【实际结果】1.屏幕卡住，死机我们用QCAP抓取dump在其中的DMESG中可以看到（QCAP和DMESG都在附件里面有）1534.821854: &lt;6&gt; spi_geni 4a88000.spi: spi_geni_suspend: Force suspend1535.336254: &lt;6&gt; ufshcd-qcom 4804000.ufshc: pw...]]></description><category></category></item><item><title><![CDATA[QMVS测试及相关问题总结]]></title><link>https://blog.csdn.net/qq_39695119/article/details/118859230</link><guid>https://blog.csdn.net/qq_39695119/article/details/118859230</guid><author>qq_39695119</author><pubDate>Sat, 17 Jul 2021 17:01:17 +0800</pubDate><description><![CDATA[一、测试步骤



（一）环境准备

 1：电脑1台：安装adb工具，DUT驱动及QMVS_TEST软件工具包

 2： DUT 1台：安装去温控UserDebug版本软件

 3：数据线1根：根据DUT的接口类型选择MicroUSB或Type C数据线



（二）安装QMVS





1、 打开QMVS_TEST文件夹，双击软件python-2.7.7.msi进行安装；

2、打开QMVS_TEST文件夹，双击软件node-v6.3.1-x64.msi进行安装；

...]]></description><category></category></item><item><title><![CDATA[MTK平台内存显示不足]]></title><link>https://blog.csdn.net/qq_39695119/article/details/118859198</link><guid>https://blog.csdn.net/qq_39695119/article/details/118859198</guid><author>qq_39695119</author><pubDate>Sat, 17 Jul 2021 16:54:21 +0800</pubDate><description><![CDATA[首先先说一下查看dram大小的命令

adb free -m

或者

（后面这个查看dram信息更全一点）



当时项目的问题是dram明明是1G的，但用上面两个命令查看居然都只有478M，严重不够

这个原因很简单，因为客制化配置有限定dram大小

修改两个地方

alps/device/wingtechsh/项目名/ProjectConfig.mk和

vendor/mediatek/proprietary/bootable/bootloader/preloader/custom/项目名/项目名.]]></description><category></category></item><item><title><![CDATA[MTK开机报错“no MTK_LP4_HIGHEST_DDR2400 for LP4”]]></title><link>https://blog.csdn.net/qq_39695119/article/details/118859165</link><guid>https://blog.csdn.net/qq_39695119/article/details/118859165</guid><author>qq_39695119</author><pubDate>Sat, 17 Jul 2021 16:53:11 +0800</pubDate><description><![CDATA[报错信息

"[DRAMC] no MTK_LP4_HIGHEST_DDR2400 for LP4

&lt;ASSERT&gt; /home/wangguanyu/work/T99651/AP_code/alps/vendor/mediatek/proprietary/bootable/bootloader/preloader/platform/mt6765/src/drivers/emi.c:line 1933 0

PL fatal error..."



我们把"no MTK_LP4_HIGHES]]></description><category></category></item><item><title><![CDATA[MTK分区案例2：adb reboot laf需求上层或内核实现]]></title><link>https://blog.csdn.net/qq_39695119/article/details/118807248</link><guid>https://blog.csdn.net/qq_39695119/article/details/118807248</guid><author>qq_39695119</author><pubDate>Fri, 16 Jul 2021 16:51:52 +0800</pubDate><description><![CDATA[用命令切换到laf模式：就是我使用命令adb reboot laf，机器重启后就会进入laf模式

（laf模式就是用来升级LG软件版本的模式）



这个需求有两个要点：

（1）输入命令到关机的流程中要把一个标志记录到某个位置

（2）重启后要在lk阶段从某个位置读出数据判断是否进入laf模式

 如果要进入laf模式，清除进入laf标志，不影响下次正常启动

 如果不进入laf模式，正常启动



这里说的某个位置，客户要求是FTM分区的3584*2048+13位置处
...]]></description><category></category></item><item><title><![CDATA[reboot流程简述]]></title><link>https://blog.csdn.net/qq_39695119/article/details/118807739</link><guid>https://blog.csdn.net/qq_39695119/article/details/118807739</guid><author>qq_39695119</author><pubDate>Fri, 16 Jul 2021 16:47:53 +0800</pubDate><description><![CDATA[要实现这个需求，除了要知道在lk阶段和上层或者内核阶段如何读写分区，还要很清楚reboot流程



下面说一下以adb reboot recovery重启进入recovery模式说一下reboot流程



system/core/libcutils/android_reboot.cpp

 int android_reboot(int cmd, int /*flags*/, const char* arg) {

 ret = property_set(ANDROID_RB_PROP...]]></description><category></category></item><item><title><![CDATA[MTK分区案例1：system_b分区中没有system_other.img]]></title><link>https://blog.csdn.net/qq_39695119/article/details/118806993</link><guid>https://blog.csdn.net/qq_39695119/article/details/118806993</guid><author>qq_39695119</author><pubDate>Fri, 16 Jul 2021 16:40:48 +0800</pubDate><description><![CDATA[（一）首次开机五十几秒

乍一看，开机慢不归我们管，没错，是系统组负责。系统组会做开机优化，然后把开机优化的数据放在system_other.img里面，system_other.img在分区表里面在ab分区默认设置是烧到system_b分区里面



Ok，问题来了，系统组弄完开机时间还是五十几秒



在安卓Q，system_b在动态分区里面。

这里system就有点特殊了。我们一般a分区和b分区放的东西应该是一样的才对。而system却不是这样，system_a放system.img，而system]]></description><category></category></item><item><title><![CDATA[MTK分区之（七）MTK分区修改规则总结]]></title><link>https://blog.csdn.net/qq_39695119/article/details/118806749</link><guid>https://blog.csdn.net/qq_39695119/article/details/118806749</guid><author>qq_39695119</author><pubDate>Fri, 16 Jul 2021 16:36:14 +0800</pubDate><description><![CDATA[1、对于客户，闻泰新加的分区

 （1）要放在分区表靠后的位置

 （2）如果分区大小以后需要扩大，或者很有可能，最好放在动态分区里

 （3）和提需求的owner或客户确认添加的分区在升级的时候需不需要不丢失数据

 如果需要不丢失数据，分区表Operation_Type列要设为PROTECTED    

2、对于persist、sec1、seccfg、md1img、vendor、system、super、userdata、ints...]]></description><category></category></item></channel></rss>