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格式化

转载于:https://www.cnblogs.com/CoderTian/p/5935363.html

Tiny4412 Uboot相关推荐

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

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

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

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

  3. tiny4412 uboot 2020.10版本移植(四)——uboot修改支持sd卡、eMMC引导内核及其他一些杂项设置

    本文在<tiny4412 uboot 2020.10版本移植(三)--uboot初步启动> 的基础上继续向tiny4412 uboot 2020.10版添加功能. 主要有三块内容:1. D ...

  4. tiny4412 u-boot 启动参数的设置

    参考 http://www.cnblogs.com/chenfulin5/p/5887552.html 制作SD卡 u-boot 编译完之后, 进入 u-boot 目录里面的 sd_fuse cd ~ ...

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

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

  6. 第六章、Tiny4412 U-BOOT移植六 Nand Flash源码分析

    一.U-Boot参考源码 NandFlash的初始化代码我们放在board/samsung/tiny4412/lowlevel_init.S ,这一段代码是三星SMDK4212中没有提供的,所以我们需 ...

  7. 第二章、Tiny4412 U-BOOT移植二 启动分析【转】

    本文转载自:http://blog.csdn.net/eshing/article/details/37521481 版权声明:本文为博主原创文章,未经博主允许不得转载. 一.启动过程说明 讲解启动过 ...

  8. 第三章、Tiny4412 U-BOOT移植三 时钟设置【转】

    本文转自:http://blog.csdn.net/eshing/article/details/37521789 这一章说明配置时钟频率基本原理 OK,接着说,这次先讲讲CPU的系统时钟.U-BOO ...

  9. 第十九章、TIny4412 U-BOOT移植十九 LCD移植

    这一篇主要参考博文,流程差不多,只是代码内容得自己写 http://5istt.com/cookies/blog/?post=122 <s5pv-u-boot-2011.06之增加LCD显示功能 ...

最新文章

  1. 终端html页面,HTML5的终端适配
  2. 大脑进化追不上社会文化:化石和脱氧核糖核酸证明人类大脑进化比社会慢
  3. Python入门100题 | 第040题
  4. java三目运算符判断boonlean,java三元运算符
  5. 【竞赛相关】Kaggle知识点:入门到进阶的10个问题
  6. java的发展_java的发展
  7. 为什么python不需要编译_为什么我用Go写机器学习部署平台,而偏偏不用Python?...
  8. 《人件》--- 读书笔记
  9. springboot之redis整合
  10. Struts2 通配符
  11. 微服务学习笔记 演进式架构 适应度函数概念
  12. 微星笔记本电脑安装Linux(Ubuntu)系统–失败
  13. Scala使用ALS模型做推荐
  14. 数理统计01:线性相关性系数,斯皮尔曼相关性系数计算及详解
  15. ERROR: 报错分析 phase.raise_objection(this)不能是phase.raise_objection(phase)
  16. 一套实用性最强的商业方案,让他白手起家做到全国十大财阀之一!
  17. C++中不能重载的运算符
  18. 第十一届蓝桥杯大赛决赛赛题 C++ 大学C组
  19. 硬件电路设计原理图设计
  20. 企业邮箱注册申请,如何注册电子邮箱域名

热门文章

  1. 计算机视觉预备知识,计算机视觉:泊松融合
  2. 计算机音乐戏子多秋,抖音戏子多秋是什么歌
  3. 华为鸿蒙系统概念图,华为P50Pro概念图:没有麒麟芯片,鸿蒙系统和7镜头也可以很豪横...
  4. java socket 包头包体_自定义协议封装包头、包体
  5. python wait_window_pywinauto客户端自动化---窗口等待方法
  6. oracle valueerror,Oracle VALUE_ERROR异常(挑战题编号000005)
  7. java servlet 路径_JavaServlet 路径书写总结
  8. Python,OpenCV中的K均值聚类——K-Means Cluster
  9. OpenCV 畸变校正函数undistortPoints()与remap()详解及校正效果对比
  10. 几何空间中坐标系转换