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

1、连接TF/SD卡,打开终端

使用ls /dev/sd* 命令查看所有连接到电脑上磁盘。
问题:在这里为什么不用df命令?
原因是假设你的TF/SD卡只有一个分区但这个分区已损坏,或者有多个分区但是没有一个可以识别的分区,那么此时df命令无法查看到tf/sd卡,所以说直接列出dev下所有sd开头的设备,是终极方案。
(1)假设你的tf/sd卡只有一个分区,无论这个分区是否损坏,现象应该是类似这样的:
插上tf/sd卡之前:
 
插上tf/sd卡之后:
 
 
很明显多出的/dev/sdb就是本文后续操作的对象。
 
(2)假设你的tf/sd卡已有多个分区,无论这些分区是否损坏,现象应该是类似这样的:
插上tf/sd卡之前:
 
插上tf/sd卡之后:
 
这里多出5个设备,但是我们仍然将/dev/sdb作为本文后续操作的对象。
注意:我这里是/dev/sdb,但是还有可能是/dev/sdc等等其它符号,必须根据你实际出现的设备名称进行以下操作,否则有可能损坏系统分区,非常重要,切记!!!

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

我们使用linux自带命令hexdump查看tf/sd卡中的数据:
命令为:

sudo hexdump -n 1048576 /dev/sdb

其中-n 1048576代表打印出前1M=1024*1024=1048576字节的数据。

 

执行结果(部分)如下:

 

 

*代表内容为0x00,为了节省空间故作省略。

3、清空TF卡上前1MB的数据

由于4412的uboot大小基本在几百kB的量级,所以清空前1MB空间足够用,注意这里的清空不是格式化,而是填充0x00。

我们利用系统/dev下的zero设备,清零tf/sd卡前1MB。

执行结果如下:

这里的count=2000代表清空2000个block,一个block=512B,2000个正好为1MB。

 

再次hexdump查看tf/sd卡数据,发现:

前1MB空间成功清0x00。

4、烧写uboot启动文件

在这里,我们待烧写的文件为 u-boot-iTOP-4412.bin 这个文件。

终端执行命令:

if代表输入文件地址,以你u-boot-iTOP-4412.bin 这个文件的实际地址为准,of代表输出地址,以你tf/sd卡的实际设备号为准。

到这里,就可以将tf/sd卡插入开发板上电启动了,为了证明我们烧写无误,我们执行后续操作。

5、确认烧写正确(可跳过)

我们需要确定从tf/sd卡的第一个block开始处,确实正确烧写了u-boot-iTOP-4412.bin这个文件,下面我们对比一下,用到的命令同样还是hexdump。

在这里,我们为了显示方便,只打印前5KB数据,发现bin文件被正确的复制到了sd卡的512字节处:

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

Done。

 

感谢:Zinway

如何在Ubuntu下使用TF/SD 卡制作Exynos 4412 u-boot启动盘的更多相关文章

  1. 如何在Mac下使用TF/SD 卡制作Exynos 4412 u-boot启动盘

    /** ****************************************************************************** * @author    Maox ...

  2. SPI模式下MCU对SD卡的控制及操作命令(转)

    源:SPI模式下MCU对SD卡的控制及操作命令 一.前言 SD 卡有两个可选的通讯协议:SD 模式和 SPI模式 SD 模式是SD 卡标准的读写方式,但是在选用SD 模式时,往往需要选择带有SD 卡控 ...

  3. 模拟器下的虚拟sd卡添加文件

    1.若出现mkdir failed for myData Read-only file system,在执行 adb shell 命令后,执行mount -o remount ,rw / (去除文件的 ...

  4. 如何在ubuntu下使用windows下的程序(eg: .exe)

    为了在ubutu下安装百度云管家,上网查了下如何在ubuntu 下安装.exe文件,其中遇到一些问题记录如下: 使用的命令: 开始时直接使用的sudo apt-get install wine 在运行 ...

  5. 如何在ubuntu下重建被grub覆盖的win10引导区?

    如何在ubuntu下重建被grub覆盖的win10引导区? 1.修改grub配置文件: sudo vi /etc/default/grub 2.设置:GRUB_DEFAULT = 2 3.更新配置文件 ...

  6. 荣品RP4412开发板烧写Ubuntu系统应注意SD卡内存大些

    问:RP4412开发板用SD卡烧写光盘中的fastboot失败,现在如何补救呢? 答:INAND格式化, 利用usb来升级啊, 也有文档,看升级文档. 问: 这个是怎么回事? 答:你是升级什么系统? ...

  7. SPI模式下MCU对SD卡的控制及操作命令

    一.前言 SD 卡有两个可选的通讯协议:SD 模式和 SPI模式 SD 模式是SD 卡标准的读写方式,但是在选用SD 模式时,往往需要选择带有SD 卡控制器接口的 MCU,或者必须加入额外的SD卡控制 ...

  8. 如何在Ubuntu下搭建tftp服务器

    远程桌面连接工具   今天开始调试arm的板子,要通过tftp下载到板子上,所以又要配置tftp服务器,真的烦死了… (本人酷爱装系统,所以经常都要搞配置) 因为之前已经在Ubuntu下搭建过很多次t ...

  9. 如何在Ubuntu下的VirtualBox虚拟机(Windows XP)里挂载/使用U盘 (转载)

    文章来源:http://www.codelast.com/ 在Ubuntu下安装了VirtualBox之后,如果你的虚拟机安装的是Windows XP系统,那么,你会发现,当你插上U盘时,无论你怎么折 ...

随机推荐

  1. 如何让静态库中的可执行程序不调用的函数不链接进该可执行程序?(-ffunction-sections -Wl,--gc-sections)

    关键词: -Wl,--gc-sections   -ffunction-sections  链接  elf   库 有时我们会遇到这种情况,可执行程序需要链接一些静态库,但是静态库中的函数并没有全部使 ...

  2. LeetCode4 Median of Two Sorted Arrays

    题目: There are two sorted arrays nums1 and nums2 of size m and n respectively. Find the median of the ...

  3. 完整HttpHelper类

    [代码] [C#]代码 using System; using System.Collections.Generic; using System.Text; using System.Net; usi ...

  4. UML 之 各种视图简介

    统一建模语言(Unified Modeling Language,UML)中各种视图并没有明显的概念区别. 在最上一层,视图被划分为三个视图域:结构,动态行为,模型管理. 结构主要描述了系统中的结构成 ...

  5. Data Struture 之 指针

    指针是C语言中广泛使用的一种数据类型. 运用指针编程是C语言最主要的风格之一.利用指针变量可以表示各种数据结构: 能很方便地使用数组和字符串:  并能象汇编语言一样处理内存地址,从而编出精练而高效的程 ...

  6. G - Not so Mobile

    G - Not so Mobile Time Limit:3000MS     Memory Limit:0KB     64bit IO Format:%lld & %llu     Des ...

  7. MVC+easyui 完整实现

    学习mvc半月有余,趁几天假期,没事做就动手做一个完整的网站玩玩,顺便和上家公司的方法做个比较.页面引擎采用mvc自带的功能,建立视图,交给.net自带渲染出页面(对比:上家公司采用的第三方组件渲染的 ...

  8. Oracle基础 TO_CHAR函数参考(转)

    Postgres 格式化函数提供一套有效的工具用于把各种数据类型(日期/时间,int,float,numeric)转换成格式化的字符串以及反过来从格式化的字符串转换成原始的数据类型. 注意:所有格式化 ...

  9. nginx lua mysql redis设置

    最近公司网站改版,程序和数据库全部用新版,旧版的数据要导入,旧网站的30万条数据url要全部重定向到新版网站,正好前段时间在学习nginx+lua+mysql+memcache(redis),找资料真 ...

  10. poj 3378 二维树状数组

    思路:直接用long long 保存会WA.用下高精度加法就行了. #include<map> #include<set> #include<cmath> #inc ...