如何破坏开发板iNand中的uboot?

以下内容源于网络资源的学习与整理,如有侵权请告知删除。

一、X210开发板的SD/iNand启动步骤

我们已知,X210开发板第一层启动是从SD0(即板载的iNand)启动,当iNand启动做校验和失败时才会转为启动SD2(接近复位键的那个卡槽)。

我们做裸机实验时是通过SD2来提供裸机程序镜像的,因此需要先破坏内部iNand的uboot才可以强迫开发板从SD2启动去执行我们的裸机程序。

二、两种情形下破坏uboot的方法

1、uboot环境下擦除开发板inand中的uboot

连接串口2(远离网口的那个串口),打开SecureCRT,进入uboot控制台,输入help movi命令确认一下movi的用法,如下。

x210 # movi
Usage:
movi    - sd/mmc r/w sub system for SMDK board

x210 # help movi
movi init - Initialize moviNAND and show card info
movi read  {u-boot | kernel} {addr} - Read data from sd/mmc
movi write {fwbl1 | u-boot | kernel} {addr} - Write data to sd/mmc
movi read  rootfs {addr} [bytes(hex)] - Read rootfs data from sd/mmc by size
movi write rootfs {addr} [bytes(hex)] - Write rootfs data to sd/mmc by size
movi read  {sector#} {bytes(hex)} {addr} - instead of this, you can use "mmc read"
movi write {sector#} {bytes(hex)} {addr} - instead of this, you can use "mmc write"

x210 # 

然后输入“movi write u-boot 0x30000000”,表示将内存地址0x30000000的内容(应该全是0)写入到inand中的u-boot分区。

x210 # movi write u-boot 0x30000000
Writing BL1 to sector 1 (16 sectors).. checksum : 0x13610b
writing bootloader.. 49, 1024 
MMC write: dev # 0, block # 49, count 1024 ... 1024 blocks written: OK
completed
x210 # 

重启X210开发板,如果串口中输出如下则说明头部校验和失败,接下来会转入SD卡通道启动。

SD checksum Error

SD Init Error


 Uart negotiation Error

Insert an OTG cable into the connector!

 2、linux或android系统下擦除inand中的uboot

待X210完全启动进入系统后,先后在SecureCRT中输入以下命令:

busybox dd if=/dev/zero of=/dev/block/mmcblk0 bs=512 seek=1 count=1 conv=sync
sync

此命令把板载inand的第1个扇区用全0来填充,即擦除它,则板载inand的uboot的第1个扇区就被破坏了。将来启动时iROM还是先从inand中读取前16KB,然后计算校验和,但因为有1个扇区被擦掉了,校验和不能通过,因此启动失败,从而转到SD2去启动。

破坏板载inand的uboot后,如果不插入外部SD卡,启动时串口得到:SD checksum Error。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

天糊土

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

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

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

打赏作者

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

抵扣说明:

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

余额充值