全志科技
登录
直播中
王越建
7年用户
1451经验值
私信
关注
[问答]
PhoenixSuit如何进行编译和烧写?
开启该帖子的消息推送
PhoenixSuit
PhoenixSuit如何进行编译和烧写?
回帖
(1)
吴思莹
2021-12-29 11:10:58
编译打包命令如下:
source build/envsetup.sh
lunch r329_evb5-tina
make -j32
pack
其中:
source build/envsetup.sh :获取环境变量
lunch r329_evb5-tina 选择 lunch r329_evb5-tina 方案,也可以不加参数直接lunch,这样会有选项可以选择,其中 lunch r329_evb5-tina 是 r329_evb5-tina的标准方案,lunch r329_evb5_min-tina 是只能让系统跑起来的最小系统方案。
make -j32 :编译,其中-j后面的数字参数为编译用的线程数,可根据开发者编译用的PC实际情况选择。
pack : 打包,将编译好的固件打包成一个.img格式的固件,固件路径 /out/r329-ev5/tina_r329-evb5_uart0.img
每次打开一个ubuntu终端只需要做一次获取环境变量和选择方案的操作,在这个终端多次编译的时候不需要再做前两步操作,直接 make -j 即可。
烧写
烧写,即将编译打包好的固件下载到设备
烧写方式简介
全志平台为开发者提供了多种多样的烧写方式和烧写工具:
(1) PhoenixSuit:基于Windows的系统的烧写工具,是最常用的烧写工具,通过数据线将PC和开发板连接,把固件烧到开发板上,支持分区烧写,适用于开发和小规模生产使用。建议开发者开发时使用该工具进行固件升级。
(2)LiveSuit:基于Ubuntu的系统的烧写工具,通过数据线将PC和开发板连接,把固件烧到开发板上,即Ubuntu版的PhoenixSuit,适用于Ubuntu系统开发者进行开发烧写。
(3)PhoenixUSBpro:基于Windows的系统的烧写工具,通过数据线将PC和开发板连接,把固件烧到开发板上,一台PC可同时连接8台设备,分别控制其进行烧写,适用于产线批量生产。(如下图)
(4)PhoenixCard:基于Windows的系统的量产SD卡制作工具,可以将普通的.img固件制作成SD卡量产固件,生产时在设备端插入量产SD卡即会自动烧写固件,适用于带SD卡卡槽的设备大规模量产。
(5)存储期间批量烧写生产:用专有设备将提前将固件烧写到未贴片的存储器件(如emmc、nand、nor等)上,再上机贴片,可提高设备生产效率,需要拉通存储器件前才原厂和全志原厂定制设备联调,适用于超大规模产品的量产。
PhoenixSuit使用简介
下面主要介绍用PhoenixSuit烧写的方法,LiveSuit和PhoenixUSBpro烧写的方法类似。
PhoenixSuit下载地址
:固件烧写工具PhoenixSuit
同时需安装全志USB驱动,下载链接:全志USB驱动
*企业开发者在安装APST的同时也会安装全志USB驱动,无需单独再安装
具体步骤如下:
(1)打开PhoenixSuit,当设备上电启动并插入USB与PC相连的时,PhoenixSuit会提示识别到设备;
(2)点击 一键刷机-浏览选择要烧写的固件;
(3)点击 立即升级,此时会通过USB给设备发送重启命令,设备会带着烧写标识重启,并在重启阶段进入烧写模式;
(4)设备重新到boot的时候会自动进行烧写,可以看到PhoenixSuit的进度条在动;
(5)烧写成功,设备重启。
空设备烧写
当设备第一次烧写时(即设备内没有系统),PC打开烧写工具,设备插入USB,烧写工具工具会自动弹出烧写提示,此时按YES按钮即可进行烧写(需提前在固件处选好要烧写的固件)。
已有设备固件烧写
对于已经烧过固件的设备,在开发过程中,可以在串口或ADB终端输入烧写重启命令 reboot efex重启设备,此时设备会重启并在启动过程中自动进入烧写模式,后续烧写过程同上 PhoenixSuit使用简介 .
*串口及ADB调试方法见: 连接开发板
异常设备的烧写
在开发过程中,可能会出现设备烧写了配置错误的固件导致设备启动异常的情况,这个时候无法按照正常启动设备,也就无法正常控制设备烧写,这就需要强制让设备进入烧写模式。常用的方法有两种:
按住PC键盘的“2”键
设备上电过程中,在串口终端按住PC键盘的“2”不停地输入“2”,设备启动的时候如果检查到“2”的输入,则会自动跳到烧写模式。如图(是真的按住键盘的“2”,很多新开发者不理解这个隐藏操作):
短接Nand
设备上电过程中,用镊子或者杜邦线短接Nand的供电脚,这样设备在启动过程中,就会检查不到Nand的存在,误以为这是一片空片,这样设备就会按照空片启动的流程,自动进入烧写模式。如图:
进阶编译操作
如果不需要完整编译整个系统,也可以对部分模块进行编译,如单独编译boot0、单独编译uboot、单独编译内核和单独编译某个包等,Tina环境都提供了相应的快捷命令
单独编译boot0和uboot:mboot,可在Tina任意目录下使用
单独编译boot0:mboot0,可在Tina任意目录下使用
单独编译uboot:muboot,可在Tina任意目录下使用
单独编译内核:mkernel,可在Tina任意目录下使用
单独编译某个包:mm,只能在编译的包路径下操作,如包路径为 tina/package/utils/rwcheck,则需要进入到 tina/package/utils/rwcheck路径下再输入 mm 命令,编译出来对应的安装包的路径在 tina/out/r329-evb5/packages/base下
在根目录下编译某个软件包:make <应用包的路径>/install,需要在根目录下操作,如 make package/utils/rwcheck/install
在根目录下清空应用包临时文件:make <应用包的路径>/clean,需要在根目录下操作,如 make package/utils/rwcheck/clean
编译打包命令如下:
source build/envsetup.sh
lunch r329_evb5-tina
make -j32
pack
其中:
source build/envsetup.sh :获取环境变量
lunch r329_evb5-tina 选择 lunch r329_evb5-tina 方案,也可以不加参数直接lunch,这样会有选项可以选择,其中 lunch r329_evb5-tina 是 r329_evb5-tina的标准方案,lunch r329_evb5_min-tina 是只能让系统跑起来的最小系统方案。
make -j32 :编译,其中-j后面的数字参数为编译用的线程数,可根据开发者编译用的PC实际情况选择。
pack : 打包,将编译好的固件打包成一个.img格式的固件,固件路径 /out/r329-ev5/tina_r329-evb5_uart0.img
每次打开一个ubuntu终端只需要做一次获取环境变量和选择方案的操作,在这个终端多次编译的时候不需要再做前两步操作,直接 make -j 即可。
烧写
烧写,即将编译打包好的固件下载到设备
烧写方式简介
全志平台为开发者提供了多种多样的烧写方式和烧写工具:
(1) PhoenixSuit:基于Windows的系统的烧写工具,是最常用的烧写工具,通过数据线将PC和开发板连接,把固件烧到开发板上,支持分区烧写,适用于开发和小规模生产使用。建议开发者开发时使用该工具进行固件升级。
(2)LiveSuit:基于Ubuntu的系统的烧写工具,通过数据线将PC和开发板连接,把固件烧到开发板上,即Ubuntu版的PhoenixSuit,适用于Ubuntu系统开发者进行开发烧写。
(3)PhoenixUSBpro:基于Windows的系统的烧写工具,通过数据线将PC和开发板连接,把固件烧到开发板上,一台PC可同时连接8台设备,分别控制其进行烧写,适用于产线批量生产。(如下图)
(4)PhoenixCard:基于Windows的系统的量产SD卡制作工具,可以将普通的.img固件制作成SD卡量产固件,生产时在设备端插入量产SD卡即会自动烧写固件,适用于带SD卡卡槽的设备大规模量产。
(5)存储期间批量烧写生产:用专有设备将提前将固件烧写到未贴片的存储器件(如emmc、nand、nor等)上,再上机贴片,可提高设备生产效率,需要拉通存储器件前才原厂和全志原厂定制设备联调,适用于超大规模产品的量产。
PhoenixSuit使用简介
下面主要介绍用PhoenixSuit烧写的方法,LiveSuit和PhoenixUSBpro烧写的方法类似。
PhoenixSuit下载地址
:固件烧写工具PhoenixSuit
同时需安装全志USB驱动,下载链接:全志USB驱动
*企业开发者在安装APST的同时也会安装全志USB驱动,无需单独再安装
具体步骤如下:
(1)打开PhoenixSuit,当设备上电启动并插入USB与PC相连的时,PhoenixSuit会提示识别到设备;
(2)点击 一键刷机-浏览选择要烧写的固件;
(3)点击 立即升级,此时会通过USB给设备发送重启命令,设备会带着烧写标识重启,并在重启阶段进入烧写模式;
(4)设备重新到boot的时候会自动进行烧写,可以看到PhoenixSuit的进度条在动;
(5)烧写成功,设备重启。
空设备烧写
当设备第一次烧写时(即设备内没有系统),PC打开烧写工具,设备插入USB,烧写工具工具会自动弹出烧写提示,此时按YES按钮即可进行烧写(需提前在固件处选好要烧写的固件)。
已有设备固件烧写
对于已经烧过固件的设备,在开发过程中,可以在串口或ADB终端输入烧写重启命令 reboot efex重启设备,此时设备会重启并在启动过程中自动进入烧写模式,后续烧写过程同上 PhoenixSuit使用简介 .
*串口及ADB调试方法见: 连接开发板
异常设备的烧写
在开发过程中,可能会出现设备烧写了配置错误的固件导致设备启动异常的情况,这个时候无法按照正常启动设备,也就无法正常控制设备烧写,这就需要强制让设备进入烧写模式。常用的方法有两种:
按住PC键盘的“2”键
设备上电过程中,在串口终端按住PC键盘的“2”不停地输入“2”,设备启动的时候如果检查到“2”的输入,则会自动跳到烧写模式。如图(是真的按住键盘的“2”,很多新开发者不理解这个隐藏操作):
短接Nand
设备上电过程中,用镊子或者杜邦线短接Nand的供电脚,这样设备在启动过程中,就会检查不到Nand的存在,误以为这是一片空片,这样设备就会按照空片启动的流程,自动进入烧写模式。如图:
进阶编译操作
如果不需要完整编译整个系统,也可以对部分模块进行编译,如单独编译boot0、单独编译uboot、单独编译内核和单独编译某个包等,Tina环境都提供了相应的快捷命令
单独编译boot0和uboot:mboot,可在Tina任意目录下使用
单独编译boot0:mboot0,可在Tina任意目录下使用
单独编译uboot:muboot,可在Tina任意目录下使用
单独编译内核:mkernel,可在Tina任意目录下使用
单独编译某个包:mm,只能在编译的包路径下操作,如包路径为 tina/package/utils/rwcheck,则需要进入到 tina/package/utils/rwcheck路径下再输入 mm 命令,编译出来对应的安装包的路径在 tina/out/r329-evb5/packages/base下
在根目录下编译某个软件包:make <应用包的路径>/install,需要在根目录下操作,如 make package/utils/rwcheck/install
在根目录下清空应用包临时文件:make <应用包的路径>/clean,需要在根目录下操作,如 make package/utils/rwcheck/clean
举报
更多回帖
rotate(-90deg);
回复
相关问答
PhoenixSuit
phoenixsuit
烧
写
文件失败的原因是什么?
2022-01-04
1694
如何在win10下采用
phoenixsuit
给A40i开发板
烧
镜像呢
2022-01-04
2309
如何采用
phoenixsuit
给A40i开发板
烧
镜像?
2022-01-13
952
如何使用JLINK向STM32
烧
写
程序呢
2022-01-20
1504
如
何进行
合适的COFF代码段设置?
2021-04-23
823
TMS320C6678多核IBL NAND启动,请问如
何进行
IBL-NAND的多核
烧
写
?如
何进行
8核的启动?
2018-06-20
4294
如何对JTAG
进行
烧
写
2021-10-21
1890
为什么A40i上电后HDMI显示没有任何输出呢
2022-01-04
1870
求大神指教ARM开发各种
烧
写
文件格式
2022-05-06
3154
有什么方法可以
进行
stm32 nucleo固件
烧
写
吗
2022-01-18
1369
发帖
登录/注册
20万+
工程师都在用,
免费
PCB检查工具
无需安装、支持浏览器和手机在线查看、实时共享
查看
点击登录
登录更多精彩功能!
英国威廉希尔公司网站
william hill官网 版块
小组
免费开发板试用
ebook
直播
搜索
登录
×
20
完善资料,
赚取积分