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

/**

******************************************************************************

* @author ? ?Maoxiao Hu

* @version ? V1.0.0

* @date ? ? ? Feb-2015

******************************************************************************

* < COPYRIGHT 2015 ISE of SHANDONG UNIVERSITY >

******************************************************************************

**/

硬件:迅为iTop 4412精英版 & TF卡

软件:系统自带终端即可

首先,我们应该清楚TF/SD卡可以看作一张完全空白的“白纸”,之所以有分区、分区格式的区别不过是在在这张“白纸”的某些特定位置写入了一些数据来指示分区、分区格式。

?

其次,我们还应该清楚,在TF/SD启动模式下,exynos 4412一上电,内部iROM会从TF/SD的第1个Block(第512个字节开始)读取8KB的数据到内部iRAM,然后从内部iRAM的0地址开始运行。

?

原理搞清楚了,那么首先需要把TF/SD低级格式化-所有Block全部写0。

?

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空间成功清0。

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启动,上电:

感谢:Zinway

时间: 2024-10-24 22:38:33

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

如何在Ubuntu 下 重装Tomcat

今天尝试在ubuntu下搭建tomcat,因为某些事情 中途删掉了,后来想重装居然出现了 chmod: cannot access `/etc/tomcat7/tomcat-users.xml': No such file or directory 导致无法正常安装,后来google 了一下,发现了解决办法.原帖:http://askubuntu.com/questions/228888/installing-tomcat-7-using-apt-get-fails 其实就是在通过 自带apt-

[编程菜谱]如何在Ubuntu下编译链接最简单的curl例子

简介:有点时间没有在Linux环境下战斗了,刚好需要研究一下curl的API使用,试图编译链接了一个最简单的curl例子,发现了很多问题,最后决定把过程记录下来,以防止未来再犯类似的简单错误,如果能帮助到某位过客,也算是幸事! 食材: Ubuntu 12.04 64-bit 安装了基本的gcc.g++.make,恕不赘述 simple.c 一个最最简单的官网curl的c实例,万丈高楼平地起嘛 步骤: 1. 首先要安装curl的开发环境 sudo apt-get install libcurl4-

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

一.前言 SD 卡有两个可选的通讯协议:SD 模式和 SPI模式 SD 模式是SD 卡标准的读写方式,但是在选用SD 模式时,往往需要选择带有SD 卡控制器接口的 MCU,或者必须加入额外的SD卡控制单元以支持SD 卡的读写.然而,大多数MCU都没有集成SD 卡控制器接口,若选用SD 模式通讯就无形中增加了产品的硬件成本.在SD卡数据读写时间要求不是很严格的情况下, 选用 SPI模式可以说是一种最佳的解决方案.因为在 SPI模式下,通过四条线就可以完成所有的数据交换,并且目前市场上很多MCU都集

(转)如何在 ubuntu 下使用 iNode 客户端

怎么在ubuntu下使用iNode呢? 以前曾经找到过一种解决方法,但是不太好用,后来发现下面这种办法既简单又实用,挺不错的. 一.安装iNode for linux 1. 首先在学校的信息化办的网站上下载一个iNode的Linux版本的客户端 http://xxhb.nenu.edu.cn/a/fuwuxiangmu/wangluofuwu/2014/0728/10411.php 2. 使用命令 cp iNodeClient_Linux.tar.gz /home/iNode/ 将Linux i

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

文章来源:http://www.codelast.com/ 在Ubuntu下安装了VirtualBox之后,如果你的虚拟机安装的是Windows XP系统,那么,你会发现,当你插上U盘时,无论你怎么折腾,虚拟机(XP)里都是没有任何反应的,既不提示找到新硬件,也看不到U盘的分区.不像VMware,默认安装之后对U盘的支持很好,根本不需要用户去配置什么东西.从这一点上,我觉得VirtualBox太龌龊了,小而美归小而美,但是你不能把最常用的功能放在基础支持列表之外,还要用户去配置才能用,不是么?

windows和ubuntu下gif动态图片的制作

现在社交软件中, 各种各样的动图为大家交流很大的乐趣.  Gif图片比视频小, 比静态JPG图片形象生动, 更适用于产品展示和步骤演示等. 这里简单介绍一下在window系统和ubuntu系统下gif图的制作. ubuntu系统 工具: kazam和ffmpeg kazam是linux下的一款简单但是功能强大的屏幕录制工具. 它可录制声音并选择全屏录制或局部区域录制. 安装方式: 在ubuntu上, 可以选择通过PPA安装. $ sudo add-apt-repository ppa:kazam

LINUX SAMA5D3启动SD卡制作步骤

将SD卡经过读卡器插入虚拟机内,执行如下命令检测挂在位置. mount | grep /media 卸载SD卡 sudo umount /dev/sdxx 用"dd"命令清除MRB和分区信息: sudo dd if=/dev/zero of=/dev/sdx bs=10M count=1 用"fdisk"命令修改分区表 sudo fdisk /dev/sdx 按"P"键显示当前分区信息: Command (m for help): p Disk 

【转】如何在ubuntu下安装vmware-tools?

本文转自http://blog.csdn.net/lishuhuakai/article/details/11880953 用vmware虚拟机安装了ubuntu之后,为了实现更加强大的功能,比如说直接从windows主机拖文件进入ubuntu,以及加强ubuntu的性能,我们一般都要安装vmware tools,这对于新手来说可能有一些困难,我在这里做一下讲解以及记录!   ubuntu在虚拟机里安装完成后,我们点击 上部的 虚拟机(M)——> 重新安装vmware tools(T)当然如果你

如何在Ubuntu下启动Apache的Rewrite功能

在终端中执行 sudo a2enmod rewrite 指令后,即启用了 Mod_rewrite 模块. 另外,也可以通过将 /etc/apache2/mods-available/rewrite.load 连接到 /etc/apache2/mods-enabled/rewrite.load 来打开 Mod_rewrite 模块.用指令操作就是: sudo ln -s /etc/apache2/mods-available/rewrite.load /etc/apache2/mods-enabl