iTop-4412刷机方式详解(2)

来源:互联网 发布:mac ndk 编辑:程序博客网 时间:2024/06/06 08:52
续 > iTop-4412 刷机方式详解(1)

2.Android 4.0.3 的烧写(USB 烧写到 eMMC)

2.1 准备工作

1)硬件准备:
开发板、 电源、 串口线、 MicroUSB线


2)软件及驱动准备:

ADB驱动、 串口驱动、 SecureCRT


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

u-boot-iTOP-4412.bin(U-boot, 通用引导程序)
zImage(kernel, 内核) 

ramdisk-uboot.img 和 system.img(rootfs, 根文件系统)


2.2 烧写过程

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


2)打开SecureCRT, 连接开发板


3)打开开发板电源, 进入 uboot 引导程序


4)给 eMMC 创建分区并格式化

$fdisk -c 0



按照默认方式给 eMMC 分区, 可以分为四个区: 用户应用区、 系统区、 用户资料去区、 缓存区。

fdisk 的 Usage:
    fdisk <-p> <device_num>
    fdisk <-c> <device_num> [<sys. part size(MB)> <user part size> <cache part size>]
-p 代表查看操作, -c代表分区操作

device_num = 0 代表 eMMC; device_num = 1 代表 TF / SD 卡

不加参数时按照默认方式进行分区; 加参数时按照参数大小对存储器后三个区进行分区, 例如:

$fdisk -c 0 300 300 300



我们可以根据实际需求更改分区大小

b)格式化 Fat 文件系统
$fatformat mmc 0:1


c)格式化 Sys 分区

$ext3format mmc 0:2


d)格式化 Data 分区

$ext3format mmc 0:3


e)格式化 Cache 分区

$ext3format mmc 0:4


5)连接主机

在 SecureCRT 界面输入:
$fastboot

      

这时候 SecureCRT 应该不能动了, 切到 windows 下的 cmd。 如果正常连接的话, 输入 fastboot 应该会有音效,设备管理器也可以看到相应的驱动。 不正常的话, 重新安装一下驱动。 我就出现了在 Android 下驱动正常, fastboot 连接主机时出现「未知设备Android 1.0」。后来用了手机助手比如豌豆荚后才安装正常。

6)打开 fastboot 工具
如何你设置了环境变量的话, adb 和 fastboot 命令应该是可以在 cmd 下直接调用的, 没有设置的话也可以到platform-tools 目录下打开 cmd.exe。


7)烧写 U-boot (此步骤可跳过)


8)打开 fastboot 工具

如何你设置了环境变量的话, adb 和 fastboot 命令应该是可以在 cmd 下直接调用的, 没有设置的话也可以到platform-tools 目录下打开 cmd.exe。


9)烧写U-boot (此步骤可跳过)

$fastboot flash bootloader u-boot-iTOP-4412.bin
注:最后一个是文件名,如果不在当前文件路径的话应该输入文件的全路径。

使用 USB 烧写时我们需要通过 U-boot 来进行引导, 没有 U-boot 是根本无法进行烧写的。 所以一般使用 USB 烧写的情况下只烧写内核和文件系统。 只有在 U-boot损坏的情况下, 我们会首先进行 U-boot 烧写, 就是我们所说的出厂烧写。


10)烧写kernel

$fastboot flash kernel zImage


11)烧写rootfs ,输入命令

$fastboot flash ramdisk ramdisk-uboot.img$fastboot flash system system.img


12)输入擦除命令

$fastboot -w


13)输入重启命令

$fastboot reboot

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


3.Android 4.0.3 的烧写(TF 卡烧写到 eMMC)

3.1 准备工作

1)硬件准备:
开发板、 电源、 串口线、 TF 卡


2)软件及驱动准备:

ADB驱动、 串口驱动、 SecureCRT


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

u-boot-iTOP-4412.bin(uboot, 通用引导程序), iTop4412_uboot_20151119.tar.gz
zImage(kernel, 内核) 

ramdisk-uboot.img 和 system.img(rootfs, 根文件系统)


3.2 烧写过程

1)将 TF 卡接到主机上, 在 TF  卡根目录下创建 sdupdate 目录, 拷贝所有的需要镜像文件(可以不拷贝U-boot)到该目录下。再将 TF 卡重新接到开发板上。

2)连接电源、 串口线、 往开发板中插入 TF 卡, 使用 eMMC 方式启动


3)对 eMMC 进行分区格式化(注意不是对 TF 卡进行分区!!!),参照上面的分区操作,这里不再赘述

有些朋友可能会有疑问,如果 eMMC 中已经事先烧有操作系统, 不进行分区格式化, 直接进行覆盖安装可行否? 实际上是可行的, 烧写过程实际上就是对原有的 BLOCK 写入数据, 写入过程实际上就是覆盖原有的数据。 但是为了保险起见, 最好将原有的 eMMC 格式化, 以保证烧写能够顺利进行。


注: 4)-5)步可以直接使用下列命令代替(镜像必须都在当前文件夹下)

$sdfuse flashall


4)烧写 U-boot, 输入命令(实际上这里没有完全可以跳过)

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


5)烧写 kernel, 输入命令:

$sdfuse flash kernel zImage


6)烧写 rootfs, 输入命令:

$sdfuse flash ramdisk ramdisk-uboot.img$sdfuse flash system system.img


7)输入重启命令:

$reset


本篇博文针对的都是 eMMC , 实际上系统完全可以在 TF卡中运行, 这个烧写过程会在《iTop-4412刷机方式详解(3)》一文中详解


2017 年 2 月 28日
Kilento



0 0