1. Build uboot

a) 安装好toolchain (arm-linux-gcc-4.5.1-v6-vfp-20120301.tgz)并设置好
环境变量PATH,保证可以正常使用。

b) 解压 uboot_tiny4412-20130729.tgz 并进入相应的目录
tar xzf uboot_tiny4412-20130729.tgz

c) 配置 uboot 并编译
cd uboot_tiny4412
make tiny4412_config
make

d) 编译 用于生成bl2 的工具
make -C sd_fuse
或者
cd sd_fuse; make

-----------------------------------------------------

2. 制作启动 Tiny4412 的SD卡

a) 先准备一张4G或以上的SDHC卡
注意:该卡的已有数据将会被破坏,因此请先对SD卡上的数据进行备份。

b) fusing SD card
假设SD卡已被PC Linux识别为/dev/sdb, 以root用户运行以下命令即可:
cd sd_fuse/tiny4412
./sd_fusing.sh /dev/sdb

-----------------------------------------------------

3. 使用SD卡启动 Tiny4412 并烧写Android

a) 将已经制作好的SD卡插到 Tiny4412 板上,拨动S2切换到SDBOOT,同时连接
串口线到PC且假设已经准备好。

b) 开发板加电,然后在串口控制台(如minicom),按任意键进入uboot 命令行模式

c) 对SD卡进行分区
输入以下uboot命令即可对SD卡进行分区:
fdisk -c 0 320 806 518 fdisk -c 0 320 2057 520
重新分区后,可重新格式化FAT分区
fatformat mmc 0:1

d) 进入fastboot模式以烧写Android
使用USB线连接Tiny4412的MICRO_USB口到PC,然后输入以下uboot命令:
fastboot

e) 烧写 Android 到SD卡
首先请准备好Android image,包括: zImage, ramdisk-u.img, system.img
在PC端输入以下命令进行烧写:
fastboot flash kernel zImage (烧写kernel)

fastboot -w (格式化userdata和cache)

fastboot flash ramdisk ramdisk-u.img (烧写ramdisk)

fastboot flash system system.img (烧写system)

f) 也可以在PC端通过fastboot烧写uboot到SD卡
先手动生成bl2.bin
cd sd_fuse/tiny4412
../mkbl2 ../../u-boot.bin bl2.bin 14336

然后输入以下命令:
fastboot flash fwbl1 E4412_N.bl1.bin

fastboot flash bl2 bl2.bin

fastboot flash bootloader ../../u-boot.bin

fastboot flash tzsw E4412_tzsw.bin

-----------------------------------------------------

4. 使用SD卡启动 Android

a) 如果是使用HD700,则烧写完成后直接重启Tiny4412 即可自动启动 Android

b) 如果是使用S700,则需要在uboot上设置kernel命令行参数:
setenv bootargs console=ttySAC0,115200n8 androidboot.console=ttySAC0 lcd=S700
saveenv
然后重启Tiny4412即可。

5.查看MMC设备的信息

因为我的SD卡是8G的,Tiny4412板载的eMMC是4G的,所以可以看出 mmc 0就是我们的SD卡,mmc 1就是板载eMMC

6.查看设备的分区信息

在Uboot中可以通过fdisk命令来查看MMC设备的分区信息,以及对MMC设备进行分区,使用方法如下:

①其中fdisk -p 加上设备编号用来查看设备的分区信息

其中设备1的的分区信息是友善的SuperBoot对设备进行的分区

②fdisk -c <device_num> [<sys.part size(MB)> <user data part size> <cache part size>]

我们还可以通过上面的命令对MMC设备进行分区,例如

fdisk -c 0 320 806 518

通过fdisk命令的帮助手册,可以看出,上面的命令的含义是对MMC 0设备(即我们的SD卡)进行分区

分别指定了system分区、userdata分区以及cache分区的大小

对比SuperBoot对MMC1的分区信息

system:608  userdata:2057  cache :520

所以可以仿照它对MMC0进行分区

fdisk -c 0 608 2057 520

分区完成后,可以使用fatformat命令重新格式化FAT分区

命令的使用方法为

这句话意思是对mmc 第 dev 号设备的第part分区作fat格式化

例如:fatformat mmc 0:1

则是对mmc 的第 0 号设备(我们的SD卡)的第一个分区作fat格式化

Tiny4412 Uboot的更多相关文章

  1. X-007 FriendlyARM tiny4412 u-boot移植之内存初始化

    <<<<<<<<<<<<<<<<<<<<<<<<< ...

  2. X-004 FriendlyARM tiny4412 uboot移植之点亮指路灯

    <<<<<<<<<<<<<<<<<<<<<<<<< ...

  3. X-003 FriendlyARM tiny4412 uboot移植之添加相应目录文件

    X-003 FriendlyARM tiny4412 uboot移植之添加相应目录文件 <<<<<<<<<<<<<< ...

  4. tiny4412 --Uboot移植(5) DDR3内存

    开发环境:win10 64位 + VMware12 + Ubuntu14.04 32位 工具链:linaro提供的gcc-linaro-6.1.1-2016.08-x86_64_arm-linux-g ...

  5. X-010 FriendlyARM tiny4412 uboot移植之移植网卡驱动TFTP用起来

    <<<<<<<<<<<<<<<<<<<<<<<<< ...

  6. Tiny4412 u-boot分析(2)u-boot启动流程

    从大方面来说,u-boot的启动分成两个阶段,第一个阶段主要的职责是准备初始化的环境,主要有以下几点 ①设置异常向量表 ②把CPU的工作模式设置为SVC32模式 ③关闭中断.MMU和cache ④关闭 ...

  7. X-008 FriendlyARM tiny4412 uboot移植之copy u-boot到DDR内存

    <<<<<<<<<<<<<<<<<<<<<<<<< ...

  8. X-006 FriendlyARM tiny4412 u-boot移植之Debug串口用起来

    <<<<<<<<<<<<<<<<<<<<<<<<< ...

  9. X-005 FriendlyARM tiny4412 uboot移植之时钟初始化

    <<<<<<<<<<<<<<<<<<<<<<<<< ...

  10. X-001 FriendlyARM Tiny4412 uboot移植前奏

    版权声明:本文为博主原创文章,转载请注明出处 开发环境:win7 64位 + VMware12 + Ubuntu14.04 64位 工具链:linaro提供的gcc-linaro-6.1.1-2016 ...

随机推荐

  1. BZOJ2877 [Noi2012]魔幻棋盘

    本文版权归ljh2000和博客园共有,欢迎转载,但须保留此声明,并给出原文链接,谢谢合作. 本文作者:ljh2000 作者博客:http://www.cnblogs.com/ljh2000-jump/ ...

  2. 转:Android命令Monkey压力测试,详解

    停止Monkey命令: 1. ps命令  查找uiautomator的进程 打开cmd命令行窗口 输入: adb shell ps | grep monkey 返回来的第一个数字,即是monkey的进 ...

  3. Linux系统memcached安装

    [memcached安装] Linux系统安装memcached可以自动安装,也可以手动编译安装,这里使用手动编译安装 1.Linux系统安装memcached,首先要先安装libevent库. 下载 ...

  4. [转载]java导出word的5种方式

    在网上找了好多天将数据库中信息导出到word中的解决方案,现在将这几天的总结分享一下.总的来说,java导出word大致有5种解决方案: 1:Jacob是Java-COM Bridge的缩写,它在Ja ...

  5. Unity自带寻路Navmesh

    自带寻路Navmesh的三大组件: 1.Nav Mesh Agent:主要挂在寻路物体上 2.Off Mesh Link:实现区域转移功能(例如,有时不一定只是在地面上进行寻路,可能有些高高的平台,平 ...

  6. 把数据库里面的数据导出来csv

    function export_csv($filename, $data, $head = '') { $string = $head; foreach ($data as $key => $v ...

  7. Leetcode 1014. Capacity To Ship Packages Within D Days

    二分搜索 class Solution(object): def shipWithinDays(self, weights, D): """ :type weights: ...

  8. 学习动态性能表(8)--v$lock&v$locked_object

    学习动态性能表 第八篇-(1)-V$LOCK  2007.5.31 这个视图列出Oracle 服务器当前拥有的锁以及未完成的锁或栓锁请求.如果你觉着session在等待等待事件队列那你应该检查本视图. ...

  9. Java代码使用正则验证和常用工具方法

    1.正则验证邮箱 public static boolean checkEmail(String email){ boolean flag = false; try{ String check = & ...

  10. 4、运行成功的Demo(PyCharm+Selenium)

    1.打开PyCharm,新建一个python.file,输入代码“from selenium import webdriver”报错的解决方法 (1)PyCharm没有找到正确的python,在“Fi ...