自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(79)
  • 收藏
  • 关注

原创 个人CSDN文章导航

一、操作及调试类

2021-07-12 17:06:30 151

原创 设置-关于手机里面硬件版本为空,如何完美甩锅

报一个问题如上图“Setting——About phone——Model & hardware里面的Hardware version显示为空”而我查看了cmdline、属性、工模,硬件版本都是有的,所以猜也猜的到肯定是上层这个界面获取Hardware version的属性不对但光凭猜测,锅是甩不出去的。还得找到证据才可以那就要找到这个显示的代码了基本上上层的代码就那么几个目录cd android/packages/grep "Hardware version" * -

2021-07-20 09:52:34 808

原创 MTK平台download烧录大全

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烧录操作不过这里对烧录方式做一个说明,我们一般是用

2021-07-20 09:44:01 2112

原创 Makefile常用函数

分析Makefile或者mk文件经常有见到一些函数,这里把我分析Makefile遇到的函数都总结在这里一、strip函数名称:去空格函数—strip。函数功能:去掉字串(若干单词,使用若干空字符分割) “STRINT”开头和结尾的空字符,并将其中多个连续空字符合并为一个空字符。返回值:无前导和结尾空字符、使用单一空格分割的多单词字符串。示例:STR = a b cLOSTR = $(strip $(STR))结果是“a b c”。二、...

2021-07-19 11:54:41 1277

原创 用命令跳过开机向导

adb shell settings put secure user_setup_complete 1adb shell settings put global device_provisioned 1

2021-07-19 11:23:22 2167 1

原创 挂载sec_efs结果烧进去卡安卓

最后发现是由于没有修改分区表设置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...

2021-07-19 11:21:26 235

原创 高通烧录报ufs需要重新provision

烧录报错烧录工具报2020-04-2710:07:17.212 10:07:17: {ERROR: Something failed with the< erase> command. The port_trace.txt can shed more information on this2020-04-2710:07:17.212 Note that for eMMC <erase> is only valid for physical_partition ...

2021-07-19 11:20:21 2060 1

原创 高通sm6125平台如何修改允许二次绑定

KBA-170821193938How 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 usedon any commercial devices.注意:本KBA所列的方案只能用于售后分析,不能用于任何的量产设备In ...

2021-07-19 11:19:06 1096

原创 MTK超详细启动流程

个人认为对MTK的整个的启动流程有一个了解还是很有必要的深入MTK平台bootloader启动之【 Pre-loader -> Lk】分析笔记https://blog.csdn.net/forever_2015/article/details/53000643深入MTK平台bootloader启动之【 lk -> kernel】分析笔记https://blog.csdn.net/forever_2015/article/details/53047993上面两个是c

2021-07-19 11:17:57 517

原创 MTK超详细启动流程

个人认为对MTK的整个的启动流程有一个了解还是很有必要的深入MTK平台bootloader启动之【 Pre-loader -> Lk】分析笔记https://blog.csdn.net/forever_2015/article/details/53000643深入MTK平台bootloader启动之【 lk -> kernel】分析笔记https://blog.csdn.net/forever_2015/article/details/53047993上面两个是c

2021-07-19 11:14:29 1119

原创 制作OTA坏包,故意进入死机

drivers/mmc/core/mmc.cstatic 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->claimed);...

2021-07-19 11:09:35 106

原创 低温flash测试测试过程关机

在kernel log中发现"1C991 <6> [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.

2021-07-19 11:07:55 164

原创 添加flash name&&vendor

添加flash name&&vendor这个有同事做过,但是我们需要知道一下如何加一个flash信息因为如果是一个新的厂商,新的flash,照抄同事的代码是不可以的我先说一下参考提交http://192.168.30.13:8081/#/c/269720/参考这个提交就可以这个提交里面一共加了四个函数,其中两个是显示flash大小的,这两个函数我先不说,因为你换一款flash,还是这么写,不会改。我说一下会改的两个函数static ssize_t fl

2021-07-19 11:02:36 163

原创 ufs死机乌龙

先说问题,然后说为什么是一个乌龙操作步骤】1.插入两张移动卡,待机过程中,按Power键【预期结果】1.屏幕正常亮起【实际结果】1.屏幕卡住,死机我们用QCAP抓取dump在其中的DMESG中可以看到(QCAP和DMESG都在附件里面有)1534.821854: <6> spi_geni 4a88000.spi: spi_geni_suspend: Force suspend1535.336254: <6> ufshcd-qcom 4804000.ufshc: pw...

2021-07-19 11:01:17 153

原创 QMVS测试及相关问题总结

一、测试步骤(一)环境准备 1:电脑1台:安装adb工具,DUT驱动及QMVS_TEST软件工具包 2: DUT 1台:安装去温控UserDebug版本软件 3:数据线1根:根据DUT的接口类型选择MicroUSB或Type C数据线(二)安装QMVS1、 打开QMVS_TEST文件夹,双击软件python-2.7.7.msi进行安装;2、打开QMVS_TEST文件夹,双击软件node-v6.3.1-x64.msi进行安装;...

2021-07-17 17:01:17 2664 1

原创 MTK平台内存显示不足

首先先说一下查看dram大小的命令adb free -m或者(后面这个查看dram信息更全一点)当时项目的问题是dram明明是1G的,但用上面两个命令查看居然都只有478M,严重不够这个原因很简单,因为客制化配置有限定dram大小修改两个地方alps/device/wingtechsh/项目名/ProjectConfig.mk和vendor/mediatek/proprietary/bootable/bootloader/preloader/custom/项目名/项目名.

2021-07-17 16:54:21 221

原创 MTK开机报错“no MTK_LP4_HIGHEST_DDR2400 for LP4”

报错信息"[DRAMC] no MTK_LP4_HIGHEST_DDR2400 for LP4<ASSERT> /home/wangguanyu/work/T99651/AP_code/alps/vendor/mediatek/proprietary/bootable/bootloader/preloader/platform/mt6765/src/drivers/emi.c:line 1933 0PL fatal error..."我们把"no MTK_LP4_HIGHES

2021-07-17 16:53:11 224

原创 MTK EMI定制

1EMI定制1.1介绍--用Perl script脚本自动生成DDR初始化的头文件和原文件。 下面以mtk6797 平台为例。1)pl脚本文件存放位置:/vendor/mediatek/proprietary/bootable/bootloader/preloader/tools/emigen/MTK6797 /emigen.pl--Memory DB 文件文件存放位置:1)/vendor/mediatek/proprietary/bootable/bootload...

2021-07-17 16:51:38 249

原创 MTK分区案例2:adb reboot laf需求上层或内核实现

用命令切换到laf模式:就是我使用命令adb reboot laf,机器重启后就会进入laf模式(laf模式就是用来升级LG软件版本的模式)这个需求有两个要点:(1)输入命令到关机的流程中要把一个标志记录到某个位置(2)重启后要在lk阶段从某个位置读出数据判断是否进入laf模式 如果要进入laf模式,清除进入laf标志,不影响下次正常启动 如果不进入laf模式,正常启动这里说的某个位置,客户要求是FTM分区的3584*2048+13位置处...

2021-07-16 16:51:52 188

原创 reboot流程简述

要实现这个需求,除了要知道在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...

2021-07-16 16:47:53 1349

原创 MTK分区案例1:system_b分区中没有system_other.img

(一)首次开机五十几秒乍一看,开机慢不归我们管,没错,是系统组负责。系统组会做开机优化,然后把开机优化的数据放在system_other.img里面,system_other.img在分区表里面在ab分区默认设置是烧到system_b分区里面Ok,问题来了,系统组弄完开机时间还是五十几秒在安卓Q,system_b在动态分区里面。这里system就有点特殊了。我们一般a分区和b分区放的东西应该是一样的才对。而system却不是这样,system_a放system.img,而system

2021-07-16 16:40:48 551

原创 MTK分区之(七)MTK分区修改规则总结

1、对于客户,闻泰新加的分区 (1)要放在分区表靠后的位置 (2)如果分区大小以后需要扩大,或者很有可能,最好放在动态分区里 (3)和提需求的owner或客户确认添加的分区在升级的时候需不需要不丢失数据 如果需要不丢失数据,分区表Operation_Type列要设为PROTECTED 2、对于persist、sec1、seccfg、md1img、vendor、system、super、userdata、ints...

2021-07-16 16:36:14 1696

原创 MTK分区之(六)kernel阶段分区相关

(一)添加分区代码调用流程./drivers/mmc/card/block.cmmc_blk_probe /*Murphy.liu note: 为EMMC分配和设置mmc_blk_data */ md = mmc_blk_alloc(card); /*Murphy.liu note: * EMMC上有多个物理分区,这里用于为这些物理分区(例如rpmb分区)分配和设置mmc_blk_data */...

2021-07-16 16:35:05 283

原创 MTK分区之(五)lk阶段分区相关

(一)分区初始化kmain bootstrap2 platform_init init_storage mmc_legacy_init mt_part_register_device //Murphy.liu note:终于看到分区初始化了 part_init//Murphy.liu not...

2021-07-16 16:33:11 645

原创 MTK分区之(四)MTK preloader阶段分区相关

(一)相关调用流程我们忽略和分区不相干的代码,研究一下preloader阶段分区相关的代码platform/mt6765/src/core/main.c main() ... bldr_pre_process() ... platform_init(); //Murphy.liu note:平台初始化 mt_mem_init(); //Murphy.liu note:内存Dram初...

2021-07-16 16:31:55 893

原创 MTK分区之(三)MTK scatter.txt生成过程

三、MTK scatter.txt生成过程MTK的分区相关过程简单来说:分区生成工具ptgen(alps/device/mediatek/build/build/tools/ptgen)根据alps/device/mediatek/build/build/tools/ptgen/MT6765目录下的分区表文件生成scatter.txt然后MTK的烧录工具需要选两个东西,一个DA.bin,一个就是这个scatter.txt在MTK样机接上usb线开机时,在preloader阶段会进行u

2021-07-16 16:27:04 3440

原创 MTK分区之(二)单分区、AB分区、动态分区及virtualAB分区

二、单分区、AB分区、动态分区及virtualAB分区这里把单分区、AB分区、动态分区及virtualAB分区放在一起说明一下,virtualAB是安卓R新特性会相对详细说明。(一)单分区——>AB分区单分区,我之前讲的那个MTK分区布局图就是单分区的可以看到单分区在EMMC的USER区域是没有备份的,所以比如lk所在的EMMC区域发生了坏块或者被用户无意修改损坏,整个系统就启动不了。怎么解决这个问题呢?答:做备份啊,如果我EMMC空间足够,而我备份一下重要的分区:

2021-07-16 16:23:05 5462

原创 MTK分区之(一)MTK分区布局及分区基础

一、MTK分区布局及分区基础上图就是MTK分区布局图首先为了让大家能看懂这张图,先介绍一下这种图上看上去比较陌生的词(这些陌生的概念我们必须了解一下,因为后面我讲MTK分区工具ptgen的时候也要用到这些知识)(一)MBR、GPT介绍看上面的MTK分区布局图,首先从左往右看,左边是MBR分区方案、右边是GPT分区方案。下面介绍一下这两种分区方案1、MBR上图就是MBR分区方案示意图从左往右看,MBR分区方案使用第一个物理扇区作为分区表的空间保存..

2021-07-16 16:01:01 2412 1

原创 开机报错failed to find device default fstab

开机进入kernel后重启了抓了一份正常的,又抓了一份异常的log,对比后可以发现"[ 3.466078] <0>.(0)[1:init]init 3: [libfs_mgr]ReadDefaultFstab(): failed to find device default fstab[ 3.467237] <0>.(0)[1:init]init 3: Failed to fstab for first stage mount[ 3.468166] <0>.(

2021-07-16 15:40:20 1798

原创 加一个分区,开机init阶段报找不到“分区名_a“

加了一个分区,结果开机在init阶段报“[ 9.083167] c4 init: DM_DEV_STATUS failed for engineering_a: No such device or address[ 9.091053] c4 init: Failed to mount /engineering: No such device or address[ 9.098300] c4 init: Failed to mount required partitions early ...

2021-07-16 10:26:01 581

原创 查看Super分区layout

先说一下当时的问题原来P版本分区表设置system_other.img烧到system_b分区system_other.img里面有odx文件但是Q版本分区表中虽然有system_b分区,并且也设置了下载system_other.img。但是最后编译生成的scatter.txt居然没有system_b这个分区查阅了一下android的动态分区文档,我找到了一张图可以看到这是因为system_a、system_b、vendor_a、vendor_b、product_a、product_

2021-07-16 10:24:25 680

原创 Q版本比P版本会多出一些分区,导致分区不一致不能升级

我当时是P升Q直接把原来P的分区表直接拷贝过来,结果编译报错了“2019-12-17 05:07:31 - common.py - INFO : Partition table must have at least one entry.2019-12-17 05:07:31 - build_super_image.py - ERROR : ERROR:Traceback (most recent call last):”从这个报错信息很清楚就知道,这是因为编译super.img这...

2021-07-16 10:19:25 142

原创 MTK修改分区表及验证方法

项目经常会增加、删除分区、还有改分区的大小,包括要不要下载镜像到这个分区这些设置都是去修改alps/device/mediatek/build/build/tools/ptgen/MT6765/partition_table_MT6765_emmc_ab.csv分区表文件ptgen是一个分区工具,和分区表文件同目录下有一个脚本文件ptgen.pl,这个脚本的作用就是根据分区表文件生成scatter.txt,烧录工具就是根据scatter.txt来进行烧录的所以有的时候比如我想在分区表文件中保

2021-07-16 10:18:14 1339

原创 MTK各个分区功能大全

各分区作用preloader:存储第一阶段的bootloaderDSP_BL:DSP引导加载程序。MBR、EBR1、EBR2:ext4文件系统的分区索引表。PMT:分区管理表。pgpt:存储主引导分区表。boot_para:内部MTK参数用于启动顺序。recovery:存储内核和ramdisk以进行恢复引导。recovery_ramdisk:存储recovery_ramdisk镜像,仅针对另一个客户,请不要开启“MTK_RECOVERY_RAMDISK_SPLIT”rec

2021-07-16 10:16:59 2087

原创 高通AB分区改成单分区

高通默认AB分区,改成单分区关于这一点,高通有一个文档《kba-181128215921_6_[master]_how_to_disable_a_b.pdf》说明 但是这个文档介绍的并不详细一、CP侧 (一)首先要修改分区表 就是修改platform/amss/common/config/ufs/partition_deg.xml,platform/amss/common/config/ufs/partition_factory.xml platfor...

2021-07-16 10:11:41 1401

原创 Android新特性virtualAB总结

一、原理(一)Virtual A/B分区布局上面这个表是Virtual A/B分区布局其中这些分区对于引导非常重要,它是由引导加载程序直接加载的。所有启动关键分区都有一个A和一个B副本。大多数启动关键分区都很小。例如,vbmeta是64KiB, boot是64MiB, dtbo是8MiB等等。创建这些分区的A/B副本所需的空间相对较少。其他这些分区是动态的,所以它们包含在super中。(二)virtualAB新特性:快照合并1、名字解释先解释.

2021-07-16 10:06:16 3409 3

原创 展锐将SD卡挂载类型由fuse改为sdcardfs

1. 打开sdcardfs config arch/arm|arm64/configs/sprd_xxx_defconfig:-# CONFIG_SDCARD_FS is not set+CONFIG_SDCARD_FS=y2. 使用sdcardfs build/target/product/emulated_storage.mk:-PRODUCT_PROPERTY_OVERRIDES += external_storage.sdcardfs.enabled=0+PRODUCT_PR...

2021-07-15 15:59:42 732

原创 三代UHS超高速SD卡

先说一下我们为什么要关心这个,主要是在解决速度问题的时候要用超高速和超高清接口是下一代实现SDHC和SDXC卡高速数据传输的的总线接口。随着UHS-III的发布,UHS总线接口现在共有三个版本,包括UHS-I和UHS-II。三种版本分别提供不同的总线速度一、如何判断手里的SD卡是UHS-几这个最简单了,看SD卡外观上的罗马数字就可以了,比如下面分别介绍一下三个版本的UHS二、UHS-IUHS-I(Ultra High-Speed Phase-I,超高速第一代)是超高速

2021-07-15 15:58:10 649

原创 给SD卡拷贝文件过程中拔出SD卡

有很多相似的问题,比如在导出通讯录到SD卡中拔出SD卡,结果再插入SD卡,通讯录文件大小为0B拔出SD卡,mainlog中会显示M06D59F 01-27 17:35:43.734 29603 29603 D ExternalStorage: After updating volumes, found 1 active rootsM06D5A2 01-27 17:35:43.744 1912 2041 V MediaStore: Examining volume emulated;0 wi...

2021-07-15 15:54:51 722

原创 T卡防烧卡测试,VMCH_PMU上下电存在延迟

先说明一下这个问题现对SD卡的烧卡问题做详细的解释原来的波形显示在EINT拉低后(拔出SD卡)后,VMCH过了一段时间才拉低,如果在这段时间内,sim卡触碰到这个引脚,就有烧卡的风险mtk回复这个根本原因是硬件的设计有缺陷,软件可以修改降低这个风险,但是无法完全解决。mtk提出的解决方案很容易理解:在中断处理函数里面加断电函数请参考(FAQ15216)的第四项4、拔出卡后快速给sdcard关电 ...

2021-07-15 15:53:24 427

空空如也

空空如也

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

TA关注的人

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