amlogic 某个芯片系统的nand flash刷写及uboot更新流程

step1:由于按键组合为更新模式,首先挂载SD卡

step2:在卡里搜索文件u-boot-aml-ucl.bin是否存在,如果存在,进入step3,否则进入step6

step3: 擦写(scrub)整个flash(nand_erase_nand()函数), 包括OOB区,也就是有可能把本来保存在flash里的厂商提供的坏块标志刷掉。擦写的过程中,如果发现擦写失败(失败检测标志推断为判>断erase fail的管脚,这里需确认),那么就运行aml_nand_block_markbad(),把坏快标志写到数据结构体aml_chip->block_status里。这个结构体为内核申请的一块非易失性空间(可能为sram,也可>能是flash里的第一个扇区,要确认)。

step4:把u-boot-aml-ucl.bin刷写到flash里,并且把启动配置(env)也写到flash里

step5: 软复位系统,重启

step6: 跑flash里的uboot程序

step7:在卡里寻找uImage_recovery,进入kernel恢复模式

step8: kernel恢复模式会根据卡里的更新脚本(factory_update_param.aml )或根据手动操作重新刷写系统等操作

        由上可知,该系统方案的nand flash的坏块管理是用非易失性内存数据结构保留坏块信息的方式。当更新系统时,如果需要更新uboot程序,则会进行flash的全面擦写及坏块表的全面更新,如果不需要更新
uboot程序,只更新系统,则不会进行擦写操作。



  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值