zoukankan      html  css  js  c++  java
  • 如何在Mac下使用TF/SD 卡制作Exynos 4412 u-boot启动盘

    /**
    ******************************************************************************
    * @author    Maoxiao Hu
    * @version   V1.0.1
    * @date       Dec-2014
    ******************************************************************************
    * < COPYRIGHT 2014 ISE of SHANDONG UNIVERSITY >
    ******************************************************************************
    **/
     
    如果你的系统是Ubuntu,请移步这里《如何在Ubuntu下使用TF/SD 卡制作Exynos 4412 u-boot启动盘》。
     
    硬件:迅为iTop 4412精英版 & 8GB TF卡
    软件:Hex Fiend & 系统自带终端
     
    首先,我们应该清楚TF/SD卡可以看作一张完全空白的“白纸”,之所以有分区、分区格式的区别不过是在在这张“白纸”的某些特定位置写入了一些数据来指示分区、分区格式。
     
    其次,我们还应该清楚,在TF/SD启动模式下,exynos 4412一上电,内部iROM会从TF/SD的第1个Block(第512个字节开始)读取8KB的数据到内部iRAM,然后从内部iRAM的0地址开始运行。
     
    原理搞清楚了,那么首先需要把TF/SD低级格式化-所有Block全部写0

    1、连接TF/SD卡,打开终端,使用diskutil list命令查看所有连接到电脑上磁盘:

    NewImage
     
    毫无疑问现在/dev/disk2是我的TF卡,从TYPE属性可以看出现在TF卡是FAT32格式。

    2、使用16进制编辑器打开TF卡查看数据(可跳过)

    在这里我们使用一款16进制编辑软件:Hex Fiend (Windows下可使用WinHex)
    NewImage
    Command+Alt+O打开路径:/dev/disk2s1(指定disk2的第一个分区s1)
     
    NewImage
     
    NewImage
     
    我们可以看到TF卡中已被写入了各种FAT磁盘格式的控制字符。
    如有兴趣了解这些字符代表的含义,请下载微软官方Spec:
    如果这时我们写入u-boot,在512行和992行处原来的字符会被保留,这显然不是我们所希望的。

    3、清空TF卡上的数据:

    diskutil zeroDisk disk2

    执行此句之前请关闭Hex Fiend(如果执行了第2步的话),否则会提示Resource Busy。
     
    NewImage
     
    非常长的时间,但是执行到4%就可以了,这时已经有8G*0.04 = 320MB的空间被清0了,足够我们使用了,使用Ctrl + c 打断diskutil进程。
    4、写入u-boot文件
    首先cd到你u-boot文件的存放目录。
    使用dd命令写入:

    sudo dd if=u-boot-iTOP-4412.bin of=/dev/disk2 seek=1

     

    NewImage

     

    5、对比TF卡数据与u-boot bin文件(可跳过)

     再次使用Hex Fiend分别打开u-boot bin文件和TF卡,注意此时TF卡的FAT分区表已经被破坏了,应使用Command+Alt+O打开路径/dev/disk2(指定disk2 RAW数据)
    NewImage
     
    对应位置数据完全一致,搞定。

    6、将TF卡接到开发板上,拨码开关选择TF启动,上电:

     
    NewImage
     

    感谢:Zinway , ridiculousfish

  • 相关阅读:
    robotframework框架
    pytest系列(四)- pytest+allure+jenkins
    robotframework框架
    接口测试时遇到 java 代码加密请求数据,用 python 的我该怎么办?
    selenium原理应用
    pytest系列(一):什么是单元测试界的高富帅?
    python appium搭建app自动化测试环境
    python selenium
    python3.4 + pycharm 环境安装 + pycharm使用
    requests(三):json请求中中文乱码处理
  • 原文地址:https://www.cnblogs.com/humaoxiao/p/4170641.html
Copyright © 2011-2022 走看看