[DESCRIPTION]
有时候bootup过程中,会出现preloader启动时间过程的问题。此FAQ帮助你如何去debug这个阶段的perfoamnce问题。
建议测试时一定要用user load来测试,以免debug因素造成的影响。

[SOLUTION]
(1)preloader阶段
在bootable/bootloader/preloader/platform/mt6735/makefile.mak中
# make unmark for PL booting time profiling
#C_OPTION += -DPL_PROFILING 将此处的# 拿掉
(2)LK阶段
在bootable/bootloader/lk/target/$ProjectName/rules.mk中将LK_PROFILING := yes
注意,要确保bootable/bootloader/lk/project/$ProjectName.mk中DEBUG := 2
抓到的LOG就会有每个阶段所用的时间。 单位为ms. 再根据每个阶段做优化。
[24/09/15 - 14:34:29:123] #T#PLL=1
[24/09/15 - 14:34:29:123] #T#GPIO=0
[24/09/15 - 14:34:29:467] #T#PWRAP=26
[24/09/15 - 14:34:29:467] #T#I2C=0
[24/09/15 - 14:34:29:825] #T#chk DDR Reserve status=91
[24/09/15 - 14:34:30:824] #T#check Boot status-RTC=1069 (如果直接掉电关时间会比较长)
[24/09/15 - 14:34:30:824] #T#check Boot status-WDT=0
[24/09/15 - 14:34:30:839] #T#check Boot status=1
[24/09/15 - 14:34:30:855] #T#rtc_bbpu_power_on=0
[24/09/15 - 14:34:30:855] #T#Enable PMIC Kpd clk=0
[24/09/15 - 14:34:31:042] #T#mem_init=207 (这部分eng启动时间会很长,是因为会印很多LOG出来)
[24/09/15 - 14:34:31:105] #T#Init Dram buf=3
[24/09/15 - 14:34:31:120] #T#Ram console=2
[24/09/15 - 14:34:31:136] #T#Boot dev init=0
[24/09/15 - 14:34:31:136] #T#Part Init=81
[24/09/15 - 14:34:31:167] #T#Sec lib init=9
[24/09/15 - 14:34:31:167] €€€€
[24/09/15 - 14:34:31:557] #T#before bldr_handshake=0
[24/09/15 - 14:34:31:557] #T#seclib_brom_meta_mode=0
[24/09/15 - 14:34:31:604] #T#USB handshake=410
[24/09/15 - 14:34:31:635] #T#UART handshake=15
[24/09/15 - 14:34:31:635] #T#bldr_handshake=0
[24/09/15 - 14:34:31:666] #T#sec_boot_check=3
[24/09/15 - 14:34:31:775] #T#Battery detect=55
[24/09/15 - 14:34:31:775] #T#MTJTAG switch=0
[24/09/15 - 14:34:31:775] #T#MTMETA Detect=0
[24/09/15 - 14:34:31:853] #T#Boot Argu=15

开机过程中preloader慢抓取preload模块开机log
[DESCRIPTION]
在开机过程中, 会出现preloader慢的问题, 由于preloader本身不把时间信息印出来, 需要把相关marco打开才能够看到每个阶段的耗时情况.

[SOLUTION]
对于KK版本,请修改以下文件:
mediatek/platform/mt6xxx/preloader/src/drivers/inc/platform.h 会看到以下宏包着的内容:
#ifdefined (PL_PROFILING)
下面会有印出print 的信息,
。。。。。。
请将此开关拿掉,方式如下:修改mediatek/platform/mt6xxx/preloader/makefile.mak
找到
# make unmark for PL booting time profiling
#C_OPTION += -DPL_PROFILING 将此处的 # 拿掉

对L版本,需要修改的点:
修改alps/bootable/bootloader/preloader/platform/mt6xxx/src/drivers/inc 里面platform.h 下上述的定义:
alps/bootable/bootloader/preloader/platform/mt6xxx, 找到# make unmark for PL booting time profiling
#C_OPTION += -DPL_PROFILING 将此处的# 拿掉

函数print 的内容: 被 #if define(TARET_BUILD_VARIANT_ENG) 包住了,user 版本默认此print 函数打印出的是空信息
需要将TARGET_BUILD_VARIANT_ENG去掉,才可以在user 版本print 出相关的内容

如何debug preloader bootup time 问题以及开机过程中preloader慢抓取 preload模块开机log相关推荐

  1. 安卓系统开机过程中logo和动画

    安卓系统在开机过程中有多处会显示logo或动画,每个都会被next覆盖: boot 这个是可选的,和硬件平台相关.boot运行过程非常短暂,显示logo也是一闪而过,所以一般不会使用. kernel ...

  2. grub开机选项中没有linux,安装 Ubuntu 后 Grub 开机选项中的 Fedora 不见了

    原本因为工作的关系, 装了 Fedora 17 测试, 想说干脆试用看看, 不过使用了一段时间后, 还是不习惯, 所以又安装了 Ubuntu 12.04 版, 没想到安装完后怎么原本 Grub2 开机 ...

  3. 货物监控设备开发中,关于EC600S和BG95模块开机方式差异的说明

    近年来,随着社会经济的不断发展,货物运输行业也在不断壮大.对于贵重货物.生鲜货物或易损货物的运输,经常出现货物受损的情况,造成损失较大且定责复杂的问题,该问题一直是承运方与托运方的争议点. 物联网作为 ...

  4. 关于物联网2G/3G/4G/5G/NB模组开机后模组AT指令无反应/模块开机失败/模块开机不响应AT指令等问题

    一.背景 近些年物联网行业如日中天,越来越多的设备需要接入网络平台.因此无线通信模组便成为了连接物联网感知层和网络层的关键环节,属于底层硬件环节,具备其不可替代性,且无线通信模块与物联网终端存在一一对 ...

  5. DRM驱动代码分析:开机过程中显示驱动做了什么

    前言: 有些信息是在网上查资料后总结的,没有去追代码验证.如果有说得不对的地方,欢迎提出指正.感谢! 手机启动的大致流程 1.长按开机键 2.执行存储在ROM里(应该是某一个固定地址或是预定义的地址) ...

  6. 计算机启动到一半就重新启动怎么办,电脑开机过程中自动重启怎么解决

    有网友反映电脑开机到一半就自动重启了,需要多次重启才成功开机,甚至一直重启,应该怎么解决呢?下面就由学习啦小编跟大家分享具体的处理方法吧,希望对大家有所帮助~ 电脑开机到一半的时候电脑自动重启的处理方 ...

  7. MTK 驱动(80)---MTK平台User版本开机异常/无法开机,如何抓取log

    User版本开机异常/无法开机,如何抓取log User版本出现开机异常, 无法开机,如何抓取log 资讯     首先需要确认开机异常发生在哪个阶段. 1. 没有任何LOGO 显示:       在 ...

  8. linux进程故障如何修复,33.Linux开机过程及启动故障修复

    一.Linux系统启动 Linux系统启动过程如下: initramfs镜像用来启动系统,解压后是一个临时的根目录. 用file查看initramfs-2.6.32-696.el6.i686.img的 ...

  9. 计算机架构及开机过程

    一.计算机架构 下图是一台台式机机箱内部样子: 总的来说,计算机由5大基本组件组成:算术运算器,逻辑控制器,内存,输入设备,输出设备.其中算术运算器和逻辑控制器封装在CPU之中:内存是CPU计算数据的 ...

最新文章

  1. python【蓝桥杯vip练习题库】ALGO-120 学做菜
  2. Ubuntu 误改/etc/sudoers 文件权限
  3. 计算机应用基础实训任务书,《计算机应用基础》任务书
  4. leetcode 4 --- 寻找两个有序数组的中位数
  5. windows server 2008 + IIS 7.5实现多用户FTP(多账号对应不同目录)
  6. vim自己主动缩进配置
  7. Python---列表与元组
  8. 安装fusionPBX
  9. 耳挂式蓝牙耳机原理_专为运动而生的DOSS T63无线蓝牙耳挂式运动耳机
  10. 投稿选刊必备,2021较全的国内SCI期刊汇总整理
  11. Oracle ORA-28000 the account is locked
  12. 继续教育计算机组成试卷,计算机继续教育考试模拟练习.doc
  13. ‘MSOCache’是什么文件?
  14. web前端之Vue——子组件的详解
  15. 菜单导航间竖杠竖线间隔符 | 效果的CSS实现
  16. iOS系统越狱研究现状梳理
  17. 初识python——python的发展历程及python各个版本之间的区别,python的安装
  18. otn 709帧结构
  19. 是非人生 — 一个菜鸟程序员的5年职场路 第20节
  20. 2022双非计算机保研经历

热门文章

  1. 短语、直接短语、句柄、素短语
  2. word粘贴 默认html,如何更改Microsoft Word中的默认粘贴设置 | MOS86
  3. git 生成ssh 密钥
  4. Tomb.finance每周更新(11.29-12.5)
  5. c语言课程设计文献检索,文献检索课学习心得三篇(2)
  6. 牛视系统怎么做矩阵?牛视系统源码怎么独立部署?
  7. 生成EAN13条码(C语言实现)
  8. 荣耀v40怎么样 荣耀v40值得入手吗
  9. KK 给年轻人的99条建议
  10. 人脸识别4-百度商用方案调研