跳转至

烧写固件

编译系统源码后,打包后生成的系统文件称之为固件。固件一般为.img格式。

把固件下载到开发板或者产品上的过程称之为烧写固件

V853开发板固件下载地址:https://www.aw-ol.com/downloads?cat=16

V853开发板资料汇总:https://bbs.aw-ol.com/topic/1560/

烧写方式简介

全志平台为开发者提供了多种多样的烧写方式和烧写工具:

(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等)上,再上机贴片。这样可以提高设备生产效率。但需要拉通存储器件厂商和全志原厂定制设备联调。适用于超大规模产品的量产。

PhoenixUSBpro界面

PhoenixSuit使用简介

下面主要介绍用PhoenixSuit烧写的方法。LiveSuit和PhoenixUSBpro烧写的方法类似。

PhoenixSuit下载地址:固件烧写工具PhoenixSuit

同时需安装全志USB驱动,下载链接:全志USB驱动

*企业开发者在安装APST的同时也会安装全志USB驱动,无需单独再安装

具体步骤如下:

(1)打开PhoenixSuit,当设备上电启动并插入USB与PC相连的时,PhoenixSuit会提示识别到设备;

(2)点击 一键刷机-浏览选择要烧写的固件;

(3)点击 立即升级,此时会通过USB给设备发送重启命令,设备会带着烧写标识重启,并在重启阶段进入烧写模式;

(4)设备重新到boot的时候会自动进行烧写,可以看到PhoenixSuit的进度条在动;

(5)烧写成功,设备重启。

image-20210310195432915

如果出现以下情况,请前往 全志开发者论坛 - 编译和烧写问题专区 贴出串口LOG报错内容与具体的操作过程。

  • 烧录卡住0%或7%不动
  • 提示烧录失败
  • PhoenixSuit 闪退

空设备烧写

当设备第一次烧写时(即设备内没有系统),PC打开烧写工具,选择好固件,设备插入USB,烧写工具工具会自动烧写。

非空设备烧写

对于曾经烧写过固件的设备,在开发过程中,可以在串口或ADB终端输入烧写重启命令 reboot efex重启设备,此时设备会重启并在启动过程中自动进入烧写模式,后续烧写过程同上 PhoenixSuit使用简介

*串口及ADB调试方法见: 调试

异常设备的烧写

在开发过程中,可能会出现设备烧写了配置错误的固件导致设备启动异常的情况,这个时候无法按照正常启动设备,也就无法正常控制设备烧写,这就需要强制让设备进入烧写模式。常用的方法有两种:

按住PC键盘的“2”键

设备上电过程中,在串口终端按住PC键盘的“2”不停地输入“2”,设备启动的时候如果检查到“2”的输入,则会自动跳到烧写模式。如图(是真的按住键盘的“2”,很多新开发者不理解这个隐藏操作):

input2

按住UBOOT按键烧写

上电状态下,先按住UBOOT,再点击RESET按钮,保持UBOOT不松开,待PC开始刷写后再松开,即可强制进入烧录模式。

flash.png

PhoenixCard使用简介

准备一张大小合适的SD卡,插入电脑。选择需要刷入的固件,选择制作卡的种类:

  • 量产卡:制作一张刷写固件用卡,系统启动后SD卡会向板载eMMC储存写入固件。
  • 启动卡:直接从SD卡内启动固件(一般选择启动卡)

image-20220624150448857

选择完毕后检查需要烧录的SD卡是否正确,点击烧卡即可。