2)软件及驱动准备:
ADB驱动、 串口驱动、 SecureCRT
3)安装镜像(压缩包):
u-boot-iTOP-4412.bin(U-boot, 通用引导程序)ramdisk-uboot.img 和 system.img(rootfs, 根文件系统)
2)打开SecureCRT, 连接开发板
3)打开开发板电源, 进入 uboot 引导程序
4)给 eMMC 创建分区并格式化
$fdisk -c 0
按照默认方式给 eMMC 分区, 可以分为四个区: 用户应用区、 系统区、 用户资料去区、 缓存区。
fdisk 的 Usage: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
重启成功就可以使用烧录的安卓系统了。
2)软件及驱动准备:
ADB驱动、 串口驱动、 SecureCRT
3)安装镜像(压缩包):
u-boot-iTOP-4412.bin(uboot, 通用引导程序), iTop4412_uboot_20151119.tar.gzramdisk-uboot.img 和 system.img(rootfs, 根文件系统)
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)》一文中详解