3_掌握必要的烧写系统的技能

使用制作好的TF卡或者fastboot进行烧写系统

Posted by Jerry Chen on June 18, 2019

烧写准备

以下Web文件是一套适配好的最小linux系统,适合2G内存SCP的iTop4412:

文件 类型 注释 Web
u-boot-iTOP-4412.bin bootloader uboot 下载
zImage kernel 内核,包括驱动 下载
ramdisk-uboot.img ramdisk 虚拟内存盘,放文件系统init相关脚本 下载
system.img system 文件系统,大小限制这里放最小linux 下载

烧写时务必选择正确的文件进行烧录,这里只是一个需要的文件模板。

TF卡烧写

第一步:制作可以烧写的TF卡

如果已制作,可直接跳到第二步。

以后只需要拷贝镜像到TF卡”sdupdate/”目录中即可在开发板uboot模式中进行系统烧写。

  1. 开发板emmc启动开发板uboot

  2. tf卡分区

    1
    2
    3
    4
    5
    
    - fdisk -c 1	(注意这里的1表示tf卡)
    - fatformat mmc 1:1
    - ext3format mmc 1:2
    - ext3format mmc 1:3
    - ext3format mmc 1:4
    
  3. 将光盘“06_源码xxx”中“iTop4412_uboot_xxx.tar.gz”和文件夹”CodeSign4SecureBoot_SCP”复制到ubuntu同一目录下,解压“iTop4412_uboot_xxx.tar.gz”,得到文件夹“iTop4412_uboot”

  4. 将光盘“04_镜像xxx”下“uboot”中镜像“u-boot-iTop4412.bin”拷贝到上一步文件夹“iTop4412_uboot”中

  5. 将tf卡从开发板取出,连接到ubuntu中,通过多次df -l确定盘符名称,如sdc1、sdc2等

  6. 进入文件夹“iTop4412_uboot”,执行命令./mkuboot /dev/sdx,其中sdx使用上一步的sdc等,出现“xxx.bin image … successfully”则成功

第二步:使用TF卡烧写系统

  1. windows系统中:在tf卡根目录中新建文件夹“sdupdate”
  2. 拷贝要烧写的四个镜像到“sdupdate”文件夹下
  3. tf卡插入开发板,emmc启动开发板uboot
  4. uboot模式下命令烧写
    • 全部烧写:sdfuse flashall
    • 单步烧写:
      • sdfuse flash bootloader u-boot-iTOP-4412.bin
      • sdfuse flash kernel zImage
      • sdfuse flash ramdisk ramdisk-uboot.img
      • sdfuse flash system system.img
  5. 烧写完成重启命令reset

ADB烧写

准备工作:安装adb驱动 (uboot下使用fastboot命令后再连线才可以识别驱动);准备adb工具 点这下载,解压后得到“platform-tools”文件夹,将当前系统的“cmd.exe”文件拷贝当该文件夹中(在该文件夹启动cmd时路径就是当前路径)。

其他(好像不好用):安装通用 adb 驱动下载器

其他:官方 platform-tools 在线页

  1. 拷贝要烧写的四个镜像到“platform-tools”文件夹

  2. 开发板上电进入uboot模式

    1. 输入分区命令 fdisk -c 0

      了解性内容:完整命令fdisk -c 0 1024 1024 300,查看分区命令fdisk -p 0

      分区 缺省值 uboot代码 cmd_mmc_fdisk.c 中缺省宏
      1. SYSTEM 1024M #define SYSTEM_PART_SIZE (1024*1024*1024)
      2. USER_DATA 1024M #define USER_DATA_PART_SIZE (1024*1024*1024)
      3. CACHE 300M #define CACHE_PART_SIZE (300*1024*1024)
    2. 格式化emmc命令

      1
      2
      3
      4
      
      fatformat mmc 0:1
      ext3format mmc 0:2
      ext3format mmc 0:3
      ext3format mmc 0:4
      
    3. 连接fastboot命令 fastboot

  3. 插线检查PC已识别该设备后,运行“platform-tools”文件夹中的“cmd.exe”

    • 烧写uboot

      fastboot.exe flash bootloader u-boot-iTOP-4412.bin

    • 烧写zImage

      fastboot.exe flash kernel zImage

    • 烧写ramdisk

      fastboot.exe flash ramdisk ramdisk-uboot.img

    • 烧写system文件系统

      fastboot.exe flash system system.img

    • 输入擦除命令:fastboot -w

    • 输入重启开发板命令:fastboot reboot

注意:一般驱动编译到内核zImage镜像里,虽然我们基本只烧这个,但如果格式化了,其他的也要烧一遍,可不烧uboot,uboot不会被格式化。

如果只烧zImage,可以直接按下面操作:

1
2
3
fastboot.exe flash kernel zImage
fastboot -w
fastboot reboot