【XR806开发板试用】系统烧写

2024-04-22 18:04

本文主要是介绍【XR806开发板试用】系统烧写,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

我是在虚拟机下安装,这部分大家应该都会吧,就不过多阐述了。

环境配置
大家应该先看官方文档【XR806】

1.准备工作
安装Git
在安装git后,需git-lfs并配置用户信息。否则可能拉代码失败

git config --global user.name “yourname”
git config --global user.email “your-email-address”
git config --global credential.helper store

安装码云repo工具,可以执行如下命令
mkdir -p ~/bin
curl https://storage.googleapis.co… > ~/bin/repo
chmod a+rx ~/bin/repo

配置环境变量
如果安装了vim,则可以使用vim编辑。否则手动在~/.bashrc文件最后添加

vim ~/.bashrc
export PATH=~/bin:$PATH #如果没有安装vim,将此句添加至最后
生效环境变量
source ~/.bashrc
修改repo镜像地址,在文章基于星辰处理器的全志XR806开源鸿蒙开发板上手体验中就有相应步骤。
当直接执行repo init时候,系统会提示连接超时。
因为Repo init 默认会访问的url地址https://gerrit.googlesource.c…往往会失败;
所以我们需要替换为国内的地址https://mirrors.ustc.edu.cn/a…,在修改git-repo下载到的repo文件REPO_URL地址。

Python
a.安装python3.7+,我安装的是3.8版本,根据Ubuntu不同版本,安装python。
如果Ubuntu 版本为18+,运行如下命令。
sudo apt-get install python3.8
如果Ubuntu版本为16。需安装依赖包
sudo apt update && sudo apt install software-properties-common
b. 添加deadsnakes PPA 源,然后按回车键确认安装。
sudo add-apt-repository ppa:deadsnakes/ppa
c. 安装python3.8
sudo apt upgrade && sudo apt install python3.8
设置python和python3软链接为python3.8
sudo update-alternatives --install /usr/bin/python python /usr/bin/python3.8 1
sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.8 1
LLVM
请先下载llvm工具
解压LLVM安装包至~/llvm路径下,也可以自己手动解压至对应目录下
tar -zxvf llvm.tar -C ~/
设置环境变量
如果安装了vim,则可以使用vim编辑。否则手动在~/.bashrc文件最后添加
vim ~/.bashrc
export PATH=~/llvm/bin:KaTeX parse error: Expected 'EOF', got '#' at position 6: PATH #̲如果没有安装vim,将此句添加…HOME/.local/bin:$PATH"
执行"hb -h",有打印以下信息即表示安装成功:
usage: hb
OHOS build system
positional arguments:
{build,set,env,clean}
build Build source code
set OHOS build settings
env Show OHOS build env
clean Clean output
optional arguments:
-h, --help show this help message and exit

安装必要的库和工具
sudo apt-get install build-essential gcc g++ make zlib* libffi-dev e2fsprogs pkg-config flex bison perl bc openssl libssl-dev libelf-dev libc6-dev-amd64 binutils binutils-dev libdwarf-dev u-boot-tools mtd-utils gcc-arm-linux-gnueabi cpio device-tree-compiler
否则在后面的步骤中,会有许多错误信息,由于缺少对应的工具和库。
安装libncurses5-dev
sudo apt-get install libncurses5-dev
可能还会缺少其他组件
如果出现,对应安装即可
参考XR806编译的一些环境问题及解决

2.源码
获取源码
repo init -u https://gitee.com/openharmony… -b OpenHarmony_1.0.1_release --no-repo-verify -m devboard_xr806.xml
repo sync -c
repo forall -c ‘git lfs pull’
只获取鸿蒙代码,再手动加入
repo init -u https://gitee.com/openharmony… -b OpenHarmony_1.0.1_release --no-repo-verify
XR806代码正在走合入开源鸿蒙主仓流程,这几天会暂时不可用。大家可以采用临时仓库链接:https://gitee.com/moldy-potat…

下载编译链
我们使用gcc-arm-none-eabi-10-2020-q4-major,
wget https://armkeil.blob.core.win…
解压放在指定位置,我们默认放在~/tools中,这样就不用去更改文件里面的路径。如果需要进行更改参考XR806固件编译

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

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)编译,后续不需要重新配置
其中就是将device/xradio/xr806/xr_skylark/project/demo/audio_demo/gcc/deconfig中的配置文件内容复制在device/xradio/xr806/xr_skylark的.config 中,在进行make menuconfig 进入图形化配置文件,记得检查是否安装libncurses5-dev。进入图形化配置页面后

(1)直接选择退出,在执行make build_clean清除旧配置, make lib -j根据配置生成静态库和全局头文件,cd - 返回根目录,
hb set
(2)直接回车
(3)确定选中的是wifi_skylark,直接enter即可。
之后进行hb build -f,编译。如果出现错误,参考官方文档。

代码编写说明
请先查看文档编译顺序
如果是在编译烧录后,并没有成功运行,则可能是libcopy.py的问题。
在文件xr806_openharmony/device/xradio/xr806/xr_skylark/ohos.mk中,并没有更新路径。
文件未被更新如:

OHOSSOURCE = -Wl,–whole-archive
OHOSSOURCE += $(ROOT_PATH)/lib/ohos/libapp_console.a
OHOSSOURCE += $(ROOT_PATH)/lib/ohos/libapp_led.a
OHOSSOURCE += $(ROOT_PATH)/lib/ohos/libapp_WlanTest.a
OHOSSOURCE += -Wl,–no-whole-archive
其中是否有你需要启动的路径,如果没有可以手动添加,但最好还需找出原因。

3.固件烧录
这部分比较简单,我是直接在编译生成的固件在device/xradio/xr806/xr_skylark/out,名称为xr_system.img。
XR806的烧录固件为phoenixMC_xxxx.exe,文件位于device/xradio/xr806/xr_skylark/tools。打开后界面如下:

4.具体查看固件烧录
或者可以在Ubuntu下全流程,参考【XR806开发板试用】系列之一 - Linux环境下Ubuntu完全开发流程

这篇关于【XR806开发板试用】系统烧写的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/926485

相关文章

在C#中获取端口号与系统信息的高效实践

《在C#中获取端口号与系统信息的高效实践》在现代软件开发中,尤其是系统管理、运维、监控和性能优化等场景中,了解计算机硬件和网络的状态至关重要,C#作为一种广泛应用的编程语言,提供了丰富的API来帮助开... 目录引言1. 获取端口号信息1.1 获取活动的 TCP 和 UDP 连接说明:应用场景:2. 获取硬

JAVA系统中Spring Boot应用程序的配置文件application.yml使用详解

《JAVA系统中SpringBoot应用程序的配置文件application.yml使用详解》:本文主要介绍JAVA系统中SpringBoot应用程序的配置文件application.yml的... 目录文件路径文件内容解释1. Server 配置2. Spring 配置3. Logging 配置4. Ma

2.1/5.1和7.1声道系统有什么区别? 音频声道的专业知识科普

《2.1/5.1和7.1声道系统有什么区别?音频声道的专业知识科普》当设置环绕声系统时,会遇到2.1、5.1、7.1、7.1.2、9.1等数字,当一遍又一遍地看到它们时,可能想知道它们是什... 想要把智能电视自带的音响升级成专业级的家庭影院系统吗?那么你将面临一个重要的选择——使用 2.1、5.1 还是

高效管理你的Linux系统: Debian操作系统常用命令指南

《高效管理你的Linux系统:Debian操作系统常用命令指南》在Debian操作系统中,了解和掌握常用命令对于提高工作效率和系统管理至关重要,本文将详细介绍Debian的常用命令,帮助读者更好地使... Debian是一个流行的linux发行版,它以其稳定性、强大的软件包管理和丰富的社区资源而闻名。在使用

Ubuntu系统怎么安装Warp? 新一代AI 终端神器安装使用方法

《Ubuntu系统怎么安装Warp?新一代AI终端神器安装使用方法》Warp是一款使用Rust开发的现代化AI终端工具,该怎么再Ubuntu系统中安装使用呢?下面我们就来看看详细教程... Warp Terminal 是一款使用 Rust 开发的现代化「AI 终端」工具。最初它只支持 MACOS,但在 20

windows系统下shutdown重启关机命令超详细教程

《windows系统下shutdown重启关机命令超详细教程》shutdown命令是一个强大的工具,允许你通过命令行快速完成关机、重启或注销操作,本文将为你详细解析shutdown命令的使用方法,并提... 目录一、shutdown 命令简介二、shutdown 命令的基本用法三、远程关机与重启四、实际应用

Debian如何查看系统版本? 7种轻松查看Debian版本信息的实用方法

《Debian如何查看系统版本?7种轻松查看Debian版本信息的实用方法》Debian是一个广泛使用的Linux发行版,用户有时需要查看其版本信息以进行系统管理、故障排除或兼容性检查,在Debia... 作为最受欢迎的 linux 发行版之一,Debian 的版本信息在日常使用和系统维护中起着至关重要的作

什么是cron? Linux系统下Cron定时任务使用指南

《什么是cron?Linux系统下Cron定时任务使用指南》在日常的Linux系统管理和维护中,定时执行任务是非常常见的需求,你可能需要每天执行备份任务、清理系统日志或运行特定的脚本,而不想每天... 在管理 linux 服务器的过程中,总有一些任务需要我们定期或重复执行。就比如备份任务,通常会选在服务器资

TP-LINK/水星和hasivo交换机怎么选? 三款网管交换机系统功能对比

《TP-LINK/水星和hasivo交换机怎么选?三款网管交换机系统功能对比》今天选了三款都是”8+1″的2.5G网管交换机,分别是TP-LINK水星和hasivo交换机,该怎么选呢?这些交换机功... TP-LINK、水星和hasivo这三台交换机都是”8+1″的2.5G网管交换机,我手里的China编程has

基于Qt实现系统主题感知功能

《基于Qt实现系统主题感知功能》在现代桌面应用程序开发中,系统主题感知是一项重要的功能,它使得应用程序能够根据用户的系统主题设置(如深色模式或浅色模式)自动调整其外观,Qt作为一个跨平台的C++图形用... 目录【正文开始】一、使用效果二、系统主题感知助手类(SystemThemeHelper)三、实现细节