xucvai · 2021年11月24日

固件编译和烧录-全志XR806开发板入门教程

固件编译

设置编译工具链

XR806_SDK使用gcc进行编译,推荐使用gcc-arm-none-eabi-10-2020-q4-major。

编译工具链下载完成后保存在“~/tools”目录下(“~/tools”不存在则先创建)。

OpenHarmony的编译分两部分,一部分是编译OpenHarmony的系统库,使用gn脚本,OpenHarmony的编译工具在device/xradio/xr806/liteos_m/config.gni设置:

# Compiler prefix.
board_toolchain_prefix = "~/tools/gcc-arm-none-eabi-10-2020-q4-major/bin/arm-none-eabi-"

# Compiler type, "gcc" or "clang".
board_toolchain_type = "gcc"

另一部分是芯片驱动的编译,也叫原生库,使用makefile脚本,原生库的编译工具在device/xradio/xr806/xr_skylark/gcc.mk设置:

# -------------------------------------------------------------
# cross compiler
# -------------------------------------------------------------
CC_DIR := ~/tools/gcc-arm-none-eabi-10-2020-q4-major/bin
CC_PREFIX := $(CC_DIR)/arm-none-eabi-

对代码工程进行配置

首次编译工程,需要对原生库进行配置,否则无法编译通过,配置步骤如下:

cd device/xradio/xr806/xr_skylark                               #(1)进入原生SDK目录
cp project/demo/audio_demo/gcc/deconfig .config                 #(2)复制配置文件
make menuconfig                                                 #(3)图形化界面配置
make build_clean                                                #(4)清除旧配置
make lib -j                                                     #(5)根据配置生成静态库和全局头文件
cd -                                                            #(6)返回Harmony根目录
hb set                                                          #(7)选择wifi_skylark
hb build -f                                                     #(8)编译,后续不需要重新配置

关键步骤说明

(3)make menuconfig

执行该命令后,会获取目录下的.config文件,生成图形化配置界面,如下图所示:

image.png

(7)hb set

用于选择指定工程,输入命令后界面应该如下:
image.png
此时再enter一下,界面如下:
image.png

确定选中的是wifi_skylark,直接enter即可。

(8) hb build -f

比较常见的异常是出现下图:

image.png

这是因为旧的flash分配方案不再使用,这种情况会在device/xradio/xr806/xr_skylark/project/demo/wlan_ble_demo/image/xr806(或者device/xradio/xr806/xr_skylark/project/demo/audio_demo/image/xr806)自动生成文件image_auto_cal.cfg,把image_auto_cal.cfg里面的内容覆盖image_wlan_ble.cfg或者image.cfg即可。

固件烧录

烧录软件位置

编译生成的固件在device/xradio/xr806/xr_skylark/out,名称为xr_system.img。

XR806的烧录固件为phoenixMC_xxxx.exe,文件位于device/xradio/xr806/xr_skylark/tools。打开后界面如下:
image.png

软件配置

点击“刷新”按钮,COM1对位置会出现已经连接对串口。XR806_OpenHarmony开发板使用的是串口芯片是CP2102,通过设备管理器可以看到开发板的端口号,如下图所示,如果没有则先安装CP2102驱动(点击下载)。

image.png

修改烧录速率,从921600修改为3000000。

image.png

点击“选择固件”,选择xr_system.img。

image.png

点击“设置”,勾选“硬件复位烧写模式”,如下图所示。

image.png

设置完成后界面如下图所示,点击“升级固件”,等下方的进度条完成即可。

image.png

常见问题

  • 驱动已经安装,点击刷新没反应

可能是因为开发板已经连接了串口调试助手,串口被占用。
类似的情况还有点击升级时,烧录软件提示:open uart error!

  • 进度95%失败

点击“设置”,如果“写入后进行校验”没有勾选,可以尝试勾选能否解决。

  • 显示synchron error!

如果开发板能正常工作,使用串口(波特率115200)输入upgrade后,再进行烧录。

如果开发板不能工作,检查开发板C3时候漏焊或者虚焊。如果焊接正常,尝试使用镊子或其他办法短接开发板上的GNB和PB2两个焊点后,按下复位按键,再进行烧录。

资料参考:
https://xr806.docs.aw-ol.com/
资料版权及解释权由全志科技所有。
推荐阅读
关注数
2114
内容数
20
全志科技芯片方案学习专栏,欢迎关注。
目录
极术微信服务号
关注极术微信号
实时接收点赞提醒和评论通知
安谋科技学堂公众号
关注安谋科技学堂
实时获取安谋科技及 Arm 教学资源
安谋科技招聘公众号
关注安谋科技招聘
实时获取安谋科技中国职位信息