SDK 固件烧录
本章节主要介绍固件烧录工具以及如何烧录固件。
全志平台为开发者提供了多种多样的烧写方式和烧写工具:
(1)PhoenixSuit:基于Windows的系统的烧写工具,是最常用的烧写工具,通过数据线将PC和开发板连接,把固件烧到开发板上。PhoenixSuit 支持分区烧写,适用于开发和小规模生产使用。建议开发者开发时使用该工具进行固件升级。
(2)LiveSuit:基于Ubuntu的系统的烧写工具,通过数据线将PC和开发板连接,把固件烧到开发板上,即Ubuntu版的PhoenixSuit,适用于Ubuntu系统开发者进行开发烧写。
(3)PhoenixUSBpro:基于Windows的系统的烧写工具,通过数据线将PC和开发板连接,把固件烧到开发板上,一台PC可同时连接8台设备,分别控制其进行烧写,适用于产线批量生产。(如下图)
(4)PhoenixCard:可以将firmware烧写到SD卡里的工具。开发板插入这张卡就 能够启动。基于Windows系统。
(5)存储器件批量烧写生产:用专有设备将提前将固件烧写到未贴片的存储器件(如emmc、nand、nor等)上,再上机贴片。这样可以提高设备生产效率。但需要拉通存储器件厂商和全志原厂定制设备联调。适用于超大规模产品的量产。
SDK 固件烧录步骤
Windows 烧录
备注
- PhoenixSuit 下载地址:https://www.aw-ol.com/downloads?cat=5

:::
以PhoenixSuit为例,介绍固件烧录步骤:

打开 PhoenixSuit,选择一键刷机,点击浏览,打开刚才生成的固件

选择全盘擦除升级(若无法选择全盘擦除升级则选择分区擦除升级)

烧录工具出现提示,选择是

烧录中,请耐心等待

烧写结束,系统自动启动
烧录单独分区
在开发过程中经常需要单独烧录某一分区,例如更新 RISC-V 固件,更新内核,更新 ROOTFS 而不用更新其他分区,此时可以用 PhoenixSuit 的【单或多分区下载功能】
注意
单或多分区下载功能需要固件不修改与第一次烧录时的分区布局和分区大小,否则烧录会破坏原有分区布局
:::

- 只更新 Uboot,SPL 固件:不选择任何分区,则只下载 SPL 和 U-Boot

- 只更新内核:由于内核与设备树是打包在一起在 boot 分区的,所以更新boot时也会更新内核,勾选 boot 即可

如果使用双备份,更新时需要主 boot 和备份都更新

- 只更新设备树:由于内核与设备树是打包在一起在 boot 分区的,所以更新boot时也会更新内核,勾选 boot 即可

如果使用双备份,更新时需要主 boot 和备份都更新

- 更新小核固件:勾选 RISCV0 分区即可

如果使用双备份,更新时需要主 RISCV0 和备份都更新

- 更新 ROOTFS:勾选 ROOTFS 分区即可

Linux 下烧录
备注
- PhoenixSuit Linux 下载地址:https://www.aw-ol.com/downloads?cat=5

:::
Linux 版本 PhoenixSuit 支持的发行版本包括 Ubuntu、Fedora、Redhat 及 CentOS 等几个常见的发行版本。目前驱动已经可以支持 4.11.0 版本以上内核,建议安装内核版本号大于4.11.0 的 Linux 发行版本。
安装 PhoenixSuit-Linux
- 下载 PhoenixSuit 到 Linux 中,解 压
- 安装依赖 dkms,对于 Ubuntu 可以用
sudo apt install dkms dctrl_tools来安装

- 打开终端,输入
sudo ./PhoenixSuit.run来运行安装程序。

安装完成后默认目录在 ~/Bin/phoenixsuit 目录下

烧录固件
使开发板进入烧录模式,使用命令开始烧录
./phoenixsuit <path/to/img>
例如
./phoenixsuit ../../tina-v861/out/v861_linux_ipc_uart0_nor.img

等待一会便烧录完成
