UFS 启动

2 篇文章 1 订阅

目录

一. UFS启动概述

二. UFS启动分析


一. UFS启动概述

            随着Android系统的发展,对存储的性能要求越来越高,UFS在慢慢替代EMMC,扮演着越来越重要的角色。截至目前EMMC只更新到EMMC5.1,就停止更新了,由于EMMC并行化传输的原因,提高频率会对数据稳定性有影响,所以限制了EMMC的发展。后面出现了UFS,解决了这个问题,UFS是使用串行传输,且是差分信号,提高频率后也能保证数据稳定性,目前UFS更新到UFS3.1.

            当然说到Android,就必须要看Android启动,因为UFS是存储Android系统镜像的,所以Android启动也可以称为UFS启动,UFS启动主要分为下面几个阶段:

开机 --> RomCode --> Pre UEFI --> UEFI --> Kernel -->Android

   流程图如下:

二. UFS启动分析

1. 开机阶段

        Android开机一般是按键,如果是手机开机就是按下手机边上的开机键(Power 键盘),如果是开发板平台一般是按下Power 键盘开机。

2 .Romcode阶段

        开机后,会进入RomCode阶段,Romcode阶段代码是固化在芯片内部ROM的一段程序,一般是芯片设计厂商提供, 手机厂商不能修改此程序。

        按下开机键后,会判断如果是按下开机键后,芯片就加载Romcode到内部RAM执行,主要是初始化UFS,将Boot Lun的启动代码加载到内部RAM运行,并跳转到Pre UEFI阶段运行。

3 .Pre UEFI阶段

         Pre UEFI阶段是Boot Lun启动代码运行的阶段,此阶段主要是初始化DDR,将UEFI加载DDR上运行。此阶段的代码一般也是芯片设计公司(比如QCOM/MTK等手机芯片厂商)提供的,方案厂商(小米等手机整机厂商)直接使用即可。

4 .UEFI阶段

         UEFI阶段是一个小型系统,此阶段主要是初始化UFS, 将UFS切换到高速,初始化UEFI Driver(比如USB/Display/GPIO等),将Kernel加载到内存后,跳转到Kernel阶段运行。

         接下来我们就看看UEFI阶段关于UFS启动做的事情:

        (1)UFS初始化, 进行ATF(Arm Trust Firmware)启动,也成为安全启动

UFS相关操作: Link up - - > nop out - - > set fdeviceInit Flag - - > 
read fDeviceInit Flag - - >test unit ready - - > read capacity10

        (2)ATF启动完成后,加载UEFI真正程序,进行UFS初始化, 初始化Fastboot, 加载Kernel

UFS相关操作: Link up - - > nop out - - > set fdeviceInit Flag - - > 
read fDeviceInit Flag - - >read device descriptor - - > read config descriptor


scsi inquiry device - - > test unit ready - - > read capacity10

5. Kernel阶段

         Kernel阶段是内核阶段,此阶段是初始化Driver,FS,.进程调度,内存管理等,将Android加载到内存,就跳转到Android阶段运行。

6. Android阶段

         Android阶段是启动的最后一个阶段,此阶段是加载Framewark,启动上层应用,进入UI界面。

参考文章:

(1) . ARM Trusted Firmware分析——启动、PSCI、OP-TEE接口

  • 2
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值