Platform: ROCKCHIP
OS: Android 6.0
Kernel: 3.10.92

描述:

当系统全部download开机后,会默认进入Recovery模式,这个其实是misc分区里的内容在作怪.

misc分区:

misc.img是RK原始就提供而不是自己编译生成的,其实misc里内容就两行,用UE可查看:

Uboot log:
#Boot ver: 2016-11-29#2.30
empty serial no.
normal boot.
checkKey
vbus = 1
read logo on state from dts [1]
pll_src = 0, dclk_hz = 138700000, dclk_div = 2
edp pll locked
Aux Transaction fail!
link training success.
unable to config video
got recovery cmd from misc.    //从它入手!
load fdt from resouce.
Secure Boot state: 0

Uboot 流程
board_late_init ->    rk32xx.c
    board_fbt_preboot -> fastboot.c
        rkloader_run_misc_cmd ->
            get_disk_partition ->     //获取misc分区的ptn, MISC_NAME是"misc"
            StorageReadLba ->     //这里正是读取misc分区有内容的地方
            do_bootrk    //如果有boot-recovery的命令,那么开机进入recovery模式. 第一此会成立,开机进入recovery后misc cmd会被清掉.

Recovery流程:
main -> recovery.cpp
    get_args ->
        get_bootloader_message ->    bootloader.cpp
            volume_for_path    //获取misc分区
            get_bootloader_message_block_rk29    //和uboot一样读取misc里的内容
            //不过这里主要获取的是--wipe_all 这条命令,接着就会做wipe data/cache的动作.
            finish_recovery ->    //等全部正常完成后,会去清除misc分区里的内容,否则会一直进入recovery模式.
                set_bootloader_message    //清除动作.

这样的设计使得每次download后就不用再去清data/cache了,比较方便.

[RK3288][Android6.0] 调试笔记 --- 系统第一次开机进入Recovery模式原因相关推荐

  1. [RK3288][Android6.0] 调试笔记 --- AndroidTool低格无效问题

    Platform: Rockchip OS: Android 6.0 Kernel: 3.10.92 现象: 之前文章 [RK3288][Android6.0] 调试笔记 - AndroidTool两 ...

  2. [RK3288][Android6.0] 调试笔记 --- touch无法获取坐标点

    Platform: Rockchip OS: Android 6.0 Kernel: 3.10.92 有网友遇到调试touch的时候能触发中断,但无法获取坐标点 具体可参考文章 [RK3288][An ...

  3. [RK3288][Android6.0] 调试笔记 --- 电池电量一直显示100%

    Platform: Rockchip OS: Android 6.0 Kernel: 3.10.92 之前文章[RK3288][Android6.0] 调试笔记 - 伪电池驱动添加 阐述了如何添加一个 ...

  4. [RK3288][Android6.0] 调试笔记 --- WiFi芯片AP6356S添加

    Platform: RK3288 OS: Android 6.0 Kernel: 3.10.92 背景: RK3288 Android6.0平台对AP6356S的支持不是很完善,直接修改wifi ch ...

  5. gpio驱动广播Android,[RK3288][Android6.0] 调试笔记 --- 通用GPIO驱动控制LED【转】

    Platform: ROCKCHIP OS: Android 6.0 Kernel: 3.10.92 由于板子没有lcd无法得知sd卡升级是否完成,因此使用LED显示. Recovery中升级完成后控 ...

  6. [RK3288][Android6.0] 调试笔记 --- 双屏显示内核Patch

    Platform: RK3288 OS: Android 6.0 Kernel: 3.10.92 根据5.1的双屏显示patch,在android6.0上修改了下,因为没硬件环境,所以未经验证,仅供参 ...

  7. android 系统gpu 调试_[RK3288][Android6.0] 调试笔记 --- 读取当前DDR和GPU频率方法

    Platform: Rockchip OS: Android 6.0 Kernel: 3.10.92 ddr和gpu的clock都受dvfs模块管控, 所以只要执行: root@rk3288:/ # ...

  8. [RK3288][Android6.0] 调试笔记 --- user版本固件升级无法开机问题

    Platform: ROCKCHIP OS: Android 6.0 Kernel: 3.10.92 这个是我同事解决的问题,不是我哈,也分享给大家~ user版sd固件升级启动之后开机出现如下err ...

  9. [RK3288][Android6.0] 调试笔记 --- adb无法安装apk提示签名错误

    Platform: RK3288 OS: Android 6.0 Kernel: 3.10.92 现象: 通过adb去安装apk,发现一直安装不上,提示签名相关错误(log被我弄丢了?). 分析: 此 ...

  10. [RK3288][Android6.0] 调试笔记 --- 软硬键盘同时使用【转】

    本文转载自:http://blog.csdn.net/kris_fei/article/details/78748313 Platform: RK3288  OS: Android 6.0  Kern ...

最新文章

  1. hihoCoder-1828 2018亚洲区预选赛北京赛站网络赛 A.Saving Tang Monk II BFS
  2. FMDatabase常见的几个操作
  3. 原创经验:微信小程序开发总结
  4. ucinet计算聚类系数大于1怎么办_聚类性能评估-ARI(调兰德指数)
  5. 读书和不读书的女人之间,一眼就能看得出来差别
  6. php 安装pdo odbc,PHP PDO ODBC连接
  7. 上位机和下位机的概念,理解如何实现PC从PLC中读取数据?
  8. 启航龙图计算机网络,2020年哈尔滨工业大学854计算机基础考研大纲
  9. MySQL 系统表列注释的应用
  10. 阵列卡u盘安装系统步骤_带Raid的服务器安装系统(采用U盘安装)
  11. idea、webstorm使用过程出现问题
  12. c atol()函数_atol()函数以及C ++中的示例
  13. 成都托普计算机职业技术怎么样学校,成都中职学校前景怎么样
  14. PaddlePaddle课程学习第二周笔记
  15. Linux文件许可权764意味着,chmod 777意味着什么
  16. 本科进了大厂拿高薪,为什么硕士和博士却要挤破头进高校?
  17. 关于防止表单重复提交
  18. 12563 劲歌金曲
  19. 微软亚洲研究院推出“人立方”人物关系搜索
  20. 仿礼物说小程序项目实战——1.项目介绍分析

热门文章

  1. 分治法解决赛程安排问题
  2. html如何制作扑克,用css制作扑克牌
  3. 拒绝“重复造轮子”,百度EasyDL让你玩转AI定制开发
  4. 机器学习之你不懂的 sigmoid函数
  5. uni-app 地图拖拽后,回到我的位置
  6. 新增spring Converter解析器中使用lambda表达式代替匿名内部类是启动报错:... does the class parameterize those types?
  7. 基于无监督深度学习的单目深度和自身运动轨迹估计的深度神经模型
  8. craig gentry_为Craig投票!
  9. ORA-01790 expression must have same datatype as corresponding expression 问题解决
  10. [ABAP] MOVE-CORRESPONDING 表