【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完全开发流程

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/2072.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Excel操作-vlookup函数用法大全

目录 常规查找 ​编辑​编辑多条件查找 一维表的多条件查找 二维表的多条件查找 反向查找(从右到左) ​编辑 匹配多列数据 法一: 法二: 模糊匹配 按指定次数重复 在合并单元格中查找 法一: 法二&#xff1…

stringRedisTemplate.opsForValue().increment(key)报空指针异常

解决办法:https://www.jianshu.com/p/789b33b5943e BUG复现满足以下条件可触发: 1.在RedisConfig开启Redis事务 redisTemplate.setEnableTransactionSupport(true);2.业务中开启事务 Transactional3.同一个业务下用生产多点id就报这个错误了 Cannot in…

Pyside6:Spacer的使用,布局中控件顶格添加

在普通的布局,如水平或纵向布局中,我们的控件都会保持中间状态,如下: 但有许多情况下 ,我们需要将控件布局为如下界面: 在前端开发时,我们很容易通过flex来进行布局,修正它的居中或者…

以赛促学、生态共建 | 软通动力子公司鸿湖万联成功举办基于x86架构的OpenHarmony应用生态挑战赛

近日,由开放原子开源基金会、央视网、江苏省工业和信息化厅、无锡市人民政府、江苏软件产业人才发展基金会、苏州工业园区、无锡高新区等共同承办,鸿湖万联参与共建的“基于x86架构的OpenHarmony应用生态挑战赛”决赛路演在无锡圆满落幕。本次挑战赛历时…

倾斜摄影三维模型数据在立体裁剪应用分析

倾斜摄影三维模型数据在立体裁剪应用分析 立体裁剪是一种将三维模型应用于摄影中的技术,可以在摄影过程中将虚拟的三维模型与现实场景进行合成,从而实现逼真的视觉效果。倾斜摄影是一种通过无人机或其他飞行器进行航拍的技术,可以获取到大范围…

python与pycharm如何设置文件夹为源代码根目录

相信大家遇到过下面这种情况 当我们在当前项目下引入了其它项目的代码,这是其它项目的包的导入路径是不用于当前项目的,这样导致项目无法正常起来,但是我们又不可能一个个文件去处理,这时可以用下面的方式解决 pycharm直接设置 …

安全中级-初开始

一、网络基础 重要点:TTL值(防环,linux64.Windows128 ),IP数据包包头格式字节(20) 标识标志偏移量起到什么作用(数据超过1500会分片) wireshack抓包会有一个MSS&#x…

Vivado中的加法器电路结构

先给出结论,Vivado中的加法器是利用SLICE中的LUT和进位链实现的。 目录 一、全加器二、SLICE如何实现加法器三、实例测试1.直接使用加法器2.LUT级别 一、全加器 一位全加器的结构如下: 其中: A、B为输入的两个加数CI为进位CO为本位对高位的…

连接器电镀小课堂系列三 | 打底电镀、基体金属、润滑、电压

【摘要/前言】 电镀会影响连接器系统的寿命和质量,包括耐腐蚀性、导电性、可焊性,当然还有成本。 【小课堂背景】 这是 Samtec质量工程经理 Phil Eckert 和首席工程师 Matt Brown 讨论连接器电镀相关问题的系列第三部分,主题为 “打底电镀、…

C语言 | Leetcode C语言题解之第40题组合总和II

题目: 题解: int** ans; int* ansColumnSizes; int ansSize;int* sequence; int sequenceSize;int** freq; int freqSize;void dfs(int pos, int rest) {if (rest 0) {int* tmp malloc(sizeof(int) * sequenceSize);memcpy(tmp, sequence, sizeof(int…

通义灵码牵手阿里云函数计算 FC ,打造智能编码新体验

通义灵码自成功入职阿里云后,其智能编程助手的角色除了服务于阿里云内部几万开发者,如今进一步服务函数计算 FC 产品开发者。近日,通义灵码正式进驻函数计算 FC WebIDE,让使用函数计算产品的开发者在其熟悉的云端集成开发环境中&a…

ARTS Week 24

Algorithm 本周的算法题为 21. 合并两个有序链表 将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 示例 1: img 输入:list1 [1,2,4], list2 [1,3,4]输出:[1,1,2,3,4,4] 实现代码如下&…

springcloudgateway集成knife4j

上篇我们聊聊springboot是怎么继承knife4j的。springboot3 集成knife4j-CSDN博客 本次我们一起学习springcloudgateway集成knife4j。 环境介绍 java:17 SpringBoot:3.2.0 SpringCloud:2023.0.0 knife4j : 4.4.0 引入maven配置…

__attribute__ (target (“thumb2“))

__attribute__ (target ("thumb2")) 是GNU编译器(GCC)中的一个属性,用于指定函数使用Thumb-2指令集。Thumb-2是一种32位的指令集架构,它允许在一个指令中完成更多的操作,从而提高了效率。这个属性通常用在嵌…

近年数一,数二难度如何,听说24是像张宇那样的题?

直接上分数! “估分一百零几,平时李林130-140,张八110-125的样子,超越做的分数也是100出头。” 24学长说: “远离李林张八!张四没做不评价。” “李林张八暑假前做完当作打基础即可。超越才是真题难度”…

MongoDB聚合运算符:$setField

MongoDB聚合运算符:$setField 文章目录 MongoDB聚合运算符:$setField语法字段说明 使用举例添加包含点号 (.) 的字段添加以($)开头的字段更新包含(.)的字段更新以($)开头的字段删除包含(.)的字段删除以($)开头的字段 $setField聚合运算符用于添加、更新、…

打开新世界大门!淘宝商品关键词搜索电商API接口解密

淘宝商城作为全球最大的电子商务平台之一,为数以亿计的消费者提供了广泛的商品选择和购物体验。然而,对于开发者来说,如何利用淘宝平台的资源进行开发和推广是一个关键的问题。幸运的是,联讯数据淘宝电商API的出现为开发者打开了通…

X-Spider媒体下载工具

软件介绍 X-Spider 是一个功能丰富的推特媒体下载器,它不仅可以帮助用户从推特上下载图片和视频,还提供了一些高级的过滤功能。例如,用户可以通过指定日期范围来筛选需要下载的媒体文件,并且可以跳过已下载的重复文件&#xff0c…

【Linux】文件描述符——万字详解

目录 前言 预备知识 复习C语言的文件接口 写方式打开文件 追加方式打开文件 读方式打开文件 系统的文件接口 open close write read 文件描述符 0 & 1 & 2 理解文件描述符 文件描述符的分配规则 重定向的本质 dup2 理解Linux下一切皆文件 缓冲区…

WordPress 谷歌SEO是否还有必要做?又该如何做?

一、引言 在全球化的大潮中,外贸行业日益繁荣,竞争也愈发激烈。为了在激烈的市场竞争中脱颖而出,许多外贸企业纷纷将目光投向了谷歌SEO。然而,随着互联网的快速发展和搜索引擎算法的不断更新,一些人开始质疑谷歌SEO是…