【嵌入式学习笔记二】烧录制作好的镜像到4412开发板中

歌之王子殿下 发布于 2016/05/24 16:30
阅读 642
收藏 0


 

说明:本来打算第二份笔记作开发环境搭建的,但是整个开发环境的搭建比较复杂,所以学到后面的时候再回过来系统的讲述一下如何搭建开发环境,这一节内容就讲如何烧录制作好的镜像到开发板中。

 

 

一、Android4.0.3的烧写(OTG烧写)

1.准备工作

1)硬件准备:

iTOP-4412开发板、电源、串口线、OTG线

 

2)软件及驱动准备:

ADB驱动、串口驱动、超级终端

3)安装镜像(压缩包):

u-boot-iTOP-4412.binuboot,通用引导程序)

zImagekernel,内核) 

ramdisk-uboot.imgsystem.imgrootfs,根文件系统)

2.烧写过程

(1)连接电源、串口线和OTG线

(2)打开超级终端,连接开发板

(3)打开开发板电源,超级终端下立刻按下回车,进入uboot引导程序

(4)分区和格式化操作:

(5)第四步:格式化eMMC并创建分区,

注:此步骤可以跳过!不必每次都格式化分区;2、格式化命令不会删除uboot文件和Linux内核文件
fdisk -c 0        
按照默认方式给EMMC分区
Linux内核镜像文件为5M
Android镜像文件为300M
DataCache文件为1G
临时文件为300M
剩下的为用户区,例如使用手机的时候下载的电影小说都是放在这个区域。如果想更改Linux内核镜像文件区域的大小,只能更改u-boot文件

a)fatformat mmc 0:1
格式化Fat文件系统,也就是默认最大的用户存储空间
b)ext3format mmc 0:2
格式化Android镜像文件
c)ext3format mmc 0:3
格式化DataCache分区
d)ext3format mmc 0:4
格式化临时文件保存区

5)输入fastboot 连接主机,这时候超级终端应该不能动了,切到cmd

:如果正常连接的话,输入fastboot应该会有音效,设备管理器也可以看到相应的驱动。不正常的话,重新安装一下驱动。网盘的驱动不是适合每台电脑的,我就出现了在Android下驱动正常,fastboot连接主机时出现“未知设备Android1.0”。后来听群里的朋友建议,用来手机助手比如豌豆荚后才安装正常。

(5)如何你设置了环境变量的话,adbfastboot命令应该是可以直接调用的,没有的话到platform-tools目录下打开cmd.exe

(6)烧写uboot ,输入命令:

fastboot.exe(这里用fastboot也可以) flash  bootloader  u-boot-iTOP-4412.bin

注:最后一个是文件名,是在当前目录下,如果不在的话应该输入文件的全路径。

另外一般不用烧写uboot。这里很有意思,使用OTG烧写本身我们就需要通过uboot来进行引导,没有uboot是根本无法进行烧写的。所以一般使用OTG烧写的情况下只烧写内核和文件系统。只有在uboot损坏的情况下,我们会首先进行uboot烧写,就是我们所说的出厂第一次烧写。

(7)烧写kernel,输入命令:

fastboot flash kernel zImage

(8)烧写rootfs ,输入命令:

fastboot flash ramdisk ramdisk-uboot.img

fastboot flash system system.img

(9)输入擦除命令:fastboot -w

(10)输入重启命令:fastboot reboot 

重启成功就可以使用全新的安卓系统了。

二、QT系统的烧写(TF卡烧写)

QT系统其实也可以使用OTG时烧写,但烧写方法与Android系统相同,所以这里使用TF卡烧写方式烧写QT系统

1.准备工作

1)硬件准备:

开发板、电源、串口线、TF

2)软件及驱动准备:

ADB驱动、串口驱动、超级终端

3)安装镜像(压缩包):

u-boot-iTOP-4412.binuboot,通用引导程序)

zImagekernel,内核) 

ramdisk-uboot.imgsystem.imgrootfs,根文件系统)

(4)源码

 iTop4412_uboot_20151119.tar.gz

 注:上述的文件可能文件名不同,使用时请注意

2.烧写过程

1)连接电源、串口线、插入TF

2)打开超级终端,连接开发板

3)打开开发板电源,超级终端下立刻按下回车,进入uboot引导程序

4)分区和格式化操作(完成后可暂时关机,拔出TF卡):

:上面的分区命令的是参数“1”,代表的是 tf 卡,如果是“0”则代表是 eMMC。
如果是 2G 的 TF 卡,请将命令“fdisk -c 1”改为“fdisk -c 1 300 300 300”。

a) fdisk -c 1

b) fatformat mmc 1:1

c) ext3format mmc 1:2

d) ext3format mmc 1:3

e) ext3format mmc 1:4

5)制作TF

a) 拷贝iTop4412_uboot_20151119.tar.gzubuntu,目录自定

注:拷贝方式很多:ssh、共享文件夹等,但是装了VMWare-Tools的话,实际上是可以直接拷贝的,从windows下拉过来就好了,很方便。

b) 解压缩到当前目录 tar -vxf  iTop4412_uboot_20151119.tar.gz,得到 iTop4412_uboot

 

注:文件名长可以使用TAB键补全,这个很有用

c) 拷贝u-boot-iTOP-4412.bin到 iTop4412_uboot下。

d) 使用读卡器连接TF卡到Ubuntu系统,查看磁盘命令
进入U-boot所在目录iTOP4412_uboot
通过使用df -l命令查看盘符,确认盘符编号下面指令最后一位由盘符决定
执行命令烧写u-bootTF卡:./mkuboot  /dev/sdb(有可能sdc或者其它)

e) 检查可以烧写的 TF 卡是否制作成功。 检查的方法很简单,使用读卡器连接 TF 卡到Windows,如果在系统上发现 TF 卡的存储空间减少了部分空间,那么这个 TF 卡就制作成功了。

注:虚拟机下切换USB Device使用右下角的MTX USB Device

f) 在Widows下进入刚才的TF卡,新建文件夹sdupdate(只能使用该名字)

g)拷贝u-boot-iTOP-4412.binuboot,通用引导程序)、zImagekernel,内核) 

ramdisk-uboot.imgsystem.imgrootfs,根文件系统)到sdupdateTF卡启动盘制作完成

6)烧写烧写uboot,输入命令(不建议烧写):

sdfuse flash bootloader u-boot-iTOP-4412.bin

7)烧写kernel,输入命令:

sdfuse flash kernel zImage

8)烧写rootfs,输入命令:

sdfuse flash ramdisk ramdisk-uboot.img

sdfuse flash system system.img

(9)输入重启命令:reset 

重启成功就可以使用全新的QT系统了。

三、出厂烧写

其实了解了出厂烧写是个什么东西就明白怎么操作了,原理上和上面的TF卡烧写一样。只是启动介质从eMMc变成了TF卡。这里就不写重复操作了,简单讲述一下整个过程

(1)将uboot烧录到TF卡中

(2)使用TF启动将TF卡分区

(3)拷贝四个压缩包(镜像)到sdupdate

(4)TF卡启动烧录全部镜像,可以使用sdfuse flashall

(5)重启

注:TF卡启动就是将编码改变为1001(靠近有数字一侧是0

 

 

 

 

 

 

 

 

加载中
返回顶部
顶部