emmc ffu

emmc ffu(Field Firmware Update) 是emmc的现场固件下载的一个功能增强,通过这种机制用户可以通过Host给emmc下载新的固件,下载固件之后需要引导emmc安装已下载的固件文件。FFU在开始之前,用户需要先读取 EXT_CSD寄存器中的SUPPORTED_MODES 和FW_CONFIG字段以确认emmc是否支持FFU功能。如果支持FFU功能,则可开始FFU流程,首先用户需要通过切换EXT_CSD寄存器中的MODE_CONFIG字段的值将emmc切换到FFU模式。F..
摘要由CSDN通过智能技术生成

emmc ffu(Field Firmware Update) 是emmc的现场固件下载的一个功能增强,通过这种机制用户可以通过Host给emmc下载新的固件,下载固件之后需要引导emmc安装已下载的固件文件。

FFU在开始之前,用户需要先读取 EXT_CSD寄存器中的 SUPPORTED_MODES 和 FW_CONFIG
字段以确认emmc是否支持FFU功能。如果支持FFU功能,则可开始FFU流程,首先用户需要通过切换EXT_CSD寄存器中的MODE_CONFIG字段的值将emmc切换到FFU模式。FFU 模式下用户可以使用CMD17/CMD18/CMD24/CMD25命令传输新的固件(FW)或者读取供应商私有数据。这种模式下,用户应当设置读写命令的参数(Arg)为 EXT_CSD寄存器中的FFU_ARG字段,如果这些命令的参数(Arg)为其他值,那么emmc会有不确定的动作,并且FFU流程也会失败。用户需要设置块长度为DATA_SECTOR_SIZE。下载的FW文件包必须与DATA_SECTOR_SIZE保持对齐(有必要时可以文件内部填充数据)。

一旦进入FFU模式,用户可以使用一次或多次写命令想emmc发送固件文件包。

用户可以设置EXT_CSD寄存器中的MODE_CONFIG字段的值将emmc恢复到常规的读写命令功能,并回到正常状态。切出FFU模式会终止固件文件包传输。当回到FFU模式后,用户必须检查FFU状态,通过读取EXT_CSD寄存器中的NUMBER_OF_FW_SECTORS_CORRECTLY_PROGRAMMED字段获取成功传输的sectors数目。如果成功传输的sectors数目为0,那么用户必须从第一个sector重新下载新的固件,如果成功传输的sectors数目大于0,用户应从下一个sector继续传输。

如果emmc支持MODE_OPERATION_CODES,,用户可以通过设置MODE_OPERATION_

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Gabriel_fei

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值