• 如何破坏开发板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的用法,如下。

    1. x210 # movi
    2. Usage:
    3. movi - sd/mmc r/w sub system for SMDK board
    4. x210 # help movi
    5. movi init - Initialize moviNAND and show card info
    6. movi read {u-boot | kernel} {addr} - Read data from sd/mmc
    7. movi write {fwbl1 | u-boot | kernel} {addr} - Write data to sd/mmc
    8. movi read rootfs {addr} [bytes(hex)] - Read rootfs data from sd/mmc by size
    9. movi write rootfs {addr} [bytes(hex)] - Write rootfs data to sd/mmc by size
    10. movi read {sector#} {bytes(hex)} {addr} - instead of this, you can use "mmc read"
    11. movi write {sector#} {bytes(hex)} {addr} - instead of this, you can use "mmc write"
    12. x210 #

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

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

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

    SD checksum Error

    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。

  • 相关阅读:
    [JavaScript游戏开发] 2D二维地图绘制、人物移动、障碍检测
    C++ STL(十) --------- 位图模拟实现
    软件测试必备:如何编写测试用例?
    【C++】string类
    webpack-dev-server
    Java项目:SSM物业缴费管理系统
    第六章 树【数据结构和算法】【精致版】
    leetCode 70.爬楼梯 动态规划
    Python基础语法
    Spring Cloud Gateway整合OAuth2思路分享
  • 原文地址:https://blog.csdn.net/oqqHuTu12345678/article/details/126605215