【X806开发板试用】文章一 ubuntu开发环境搭建

一、环境配置

官方链接:
环境配置

1.安装必要的库和软件

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

在这里插入图片描述

2.安装python3

1.查看python版本号

python3 --version

2.安装python3.8

如果低于python3.7版本,不建议直接升级,请按照如下步骤重新安装。以python3.8为例,按照以下步骤安装python。
我的ubuntu版本是18.04 ,执行下面命令
sudo apt-get install python3.8

在这里插入图片描述

3.设置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

在这里插入图片描述

4.安装并升级Python包管理工具(pip3)

我这里选择命令行的方式进行安装。
sudo apt-get install python3-setuptools python3-pip -y
sudo pip3 install --upgrade pip

3.安装hb

运行如下命令安装hb
python3 -m pip install --user ohos-build
在这里插入图片描述

设置环境变量
vim ~/.bashrc
将以下命令拷贝到.bashrc文件的最后一行,保存并退出。
export PATH=~/.local/bin:$PATH
在这里插入图片描述

执行如下命令更新环境变量。
source ~/.bashrc
在这里插入图片描述

执行"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`
在这里插入图片描述

可以输入hb -v查看hb的版本号
在这里插入图片描述

二、Gcc编译链安装

1.下载arm toolchain

在openharmony下面创建一个tool文件夹
然后执行
wget -c https://developer.arm.com/-/media/Files/downloads/gnu-rm/10-2020q4/gcc-arm-none-eabi-10-2020-q4-major-x86_64-linux.tar.bz2
下载会有一点慢(稍微等待一下)
下载完成。
在这里插入图片描述

用ls命令查看
在这里插入图片描述

解压
tar -vxf gcc-arm-none-eabi-10-2020-q4-major-x86_64-linux.tar.bz2
在这里插入图片描述

2.配置

创建 ~/tools 目录
mkdir ~/tools
将解压的文件夹拷贝到~/tools文件夹下
cp gcc-arm-none-eabi-10-2020-q4-major ~/tools/ -r

注:~表示你的/home/用户名目录
我这里是/home/luatao

复制好之后可前往查看
在这里插入图片描述

三、下载源码

1.repo工具

1.下载repo工具

如果没有repo工具,可通过下面的git命令获取repo。
git clone https://gerrit-googlesource.lug.ustc.edu.cn/git-repo
在这里插入图片描述

2.修改repo镜像地址

当直接执行repo init时候,系统会提示连接超时。
因为Repo init 默认会访问的url地址https://gerrit.googlesource.com/git-repo往往会失败;
所以我们需要替换为国内的地址

依次执行下面的命令

vim ~/.bashrc export PATH=~/bin:$PATH export REPO_URL=https://mirrors.tuna.tsinghua.edu.cn/git/git-repo/

在这里插入图片描述

2.获取鸿蒙系统源码

在ubuntu上下载
创建一个文件夹openharmony,好管理
执行
repo init -u https://gitee.com/openharmony/manifest.git -b OpenHarmony_1.0.1_release --no-repo-verify

在这里插入图片描述

然后再执行

repo sync -c
在这里插入图片描述

repo forall -c 'git lfs pull'
在这里插入图片描述

3.下载X806源码

1.放到device文件夹下

git clone https://gitee.com/openharmony-sig/devboard_device_allwinner_xr806.git
上面这个链接已经被废除了。
执行会报错

在这里插入图片描述

git clone https://gitee.com/moldy-potato-chips/devboard_device_allwinner_xr806

在这里插入图片描述

2.放到vendor文件夹下

git clone https://gitee.com/openharmony-sig/devboard_vendor_allwinner_xr806.git
上面这个链接已经被废除了。
git clone https://gitee.com/moldy-potato-chips/devboard_vendor_allwinner_xr806
在这里插入图片描述

3.修改文件夹名称

进入device文件夹下,执行
mv devboard_device_allwinner_xr806/ xradio
在这里插入图片描述

进入vendor文件夹下,执行
mv devboard_vendor_allwinner_xr806 xradio
在这里插入图片描述

四、对代码工程进行配置

cd device/xradio/xr806/xr_skylark
进入到xr_skylark目录(原生SDK目录)

1.复制配置文件

cp project/demo/audio_demo/gcc/defconfig .config
在这里插入图片描述

2.图形化界面配置

make menuconfig
在这里插入图片描述

这里先不进行配置 ,双击esc,选择no退出

3.清除旧配置

make build_clean

4.根据配置生成静态库和全局头文件

make lib -j
在这里插入图片描述

5.选择wifi_skylark

返回openharmony根目录
cd -
选择wifi_skylark
hb set
在这里插入图片描述

此时再按下一回车,出现
在这里插入图片描述

此时选择wifi_shylark,再按下一回车。
在这里插入图片描述

五.编译,后续不需要重新配置

1.编译

hb build -f
在这里插入图片描述

从上面可以看出编译成功。

2.镜像文件

生成的镜像文件在 源码目录//device/xradio/xr806/xr_skylark/out
在我这里就是

/home/luatao/luatao/openharmony/xr806_openharmony/device/xradio/xr806/xr_skylark/out

在这里插入图片描述

六、固件烧录

1.拷贝烧录软件和烧录镜像

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

XR806的烧录固件为phoenixMC_xxxx.exe,文件位于device/xradio/xr806/xr_skylark/tools。

我们可以进入看一下,就是箭头指向的这个文件。
在这里插入图片描述

我们可以通过winsp将这个文件拷贝到windows上(注意这里不要只单独拷贝这个文件,需要将tool文件夹一起拷贝过来,因为需要一些dll文件)

在这里插入图片描述

然后我们双击打开
在这里插入图片描述

在这里插入图片描述

2.烧录步骤

1.上电

插上我们的板子(需要安装cp2102驱动,自行百度)

然后点击刷新一下,会多出来一个串口,勾上。
在这里插入图片描述

2.修改波特率

修改烧录速率,从921600修改为3000000。
在这里插入图片描述

3.选择固件

点击“选择固件”,选择xr_system.img(需要我们从ubuntu中拷贝出来)。

在这里插入图片描述

4.设置

点击“设置”,勾选“硬件复位烧写模式”
在这里插入图片描述

5.升级固件

设置完成后界面如下图所示,点击“升级固件”,等下方的进度条完成即可。
在这里插入图片描述

七、终端打印

找一个终端工具,选择串口连接,波特率设置为115200.
按下复位键,打印下面的信息,即烧录成功。
在这里插入图片描述

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

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

相关文章

pix2pix-zero

pix2pix-zero:零样本图像到图像转换 论文介绍 Zero-shot Image-to-Image Translation 关注微信公众号: DeepGoAI 项目地址:https://github.com/pix2pixzero/pix2pix-zero 论文地址:https://arxiv.org/abs/2302.03027 本文介绍了一种名为…

基于SpringBoot多模块项目引入其他模块时@Autowired无法注入

基于SpringBoot多模块项目引入其他模块时Autowired无法注入 一、问题描述1、解决方案 一、问题描述 启动Spring Boot项目时报 Could not autowire. No beans of ‘xxxxxxxx’ type found. 没有找到bean的实例,即spring没有实例化对象,也就无法根据配置文…

【LeetCode-中等】209.长度最小的子数组-双指针/滑动窗口

力扣题目链接 1. 暴力解法 这道题的暴力解法是两层嵌套for循环,第一层循环从 i 0 开始遍历至数组末尾,第二层循环从 j i 开始遍历至找到总和大于等于 target 的连续子数组,并将该连续子数组的长度与之前找到的子数组长度相比较&#xff0…

什么是IP公网?

IP公网是指互联网上可以公开访问的IP地址。它是经过互联网服务提供商(ISP)向用户提供的公共网络IP地址。与之相对的是内网IP地址,内网IP地址一般是由路由器或交换机分配给连接在局域网中的设备使用。 IP公网的作用非常广泛,可以应…

Web APIs知识点讲解(阶段二)

DOM-事件基础 一.事件 1.事件 目标:能够给 DOM元素添加事件监听 事件:事件是在编程时系统内发生的动作或者发生的事情,比如用户在网页上单击一个按钮 事件监听:就是让程序检测是否有事件产生,一旦有事件触发,就立即调用一个函…

金仕达与 DolphinDB 建立深度合作,共筑 FICC 科技创新新篇章

从“关起门做交易”到“打开门做服务”,国内 FICC 业务正经历从自营到市场化服务的转变,借助数据分析、算法交易等技术的快速发展,交易团队能够更加主动地发现市场需求,为不同客群提供更好的做市业务,FICC 交易电子化已…

打造智能汽车微服务系统平台:架构的设计与实现

随着智能汽车技术的飞速发展,微服务架构在汽车行业中的应用越来越广泛。采用微服务架构可以使汽车系统更加灵活、可扩展,并且有利于快速推出新功能和服务。本文将从设计原则、关键技术、数据安全等方面,介绍如何搭建智能汽车微服务系统平台架…

【Python】FastAPI 项目创建 与 Docker 部署

文章目录 前言&需求描述1. 本地FastAPI1.1 Python 环境准备1.2 本地 Pycharm 创建FastAPI项目 2. Python FastAPI 部署2.1 服务器配置Python环境2.2.1 下载与配置Git、Pyenv等工具2.2.2 下载与配置Python 2.2 FastAPI 打包成镜像2.2.1 项目准备所需环境文件2.2.2 编写Docke…

AI智能分析网关V4车辆违停算法在园区场景中的应用及特点

随着城市化进程的加速,车辆违停问题愈发严重,给城市交通带来了极大的困扰。为了解决这一问题,AI技术逐渐被应用于车辆违停的检测中。AI检测算法在车辆违停方面的应用,主要是通过计算机视觉技术,对道路上的车辆进行实时…

智慧灌区项目案例(甘肃省兰州市某重点灌区)

​甘肃省兰州市某重点灌区自上个世纪80年代建成后,灌溉面积达到30万亩,对推动当地农业发展发挥了重要作用。但长期以来,该灌区的水利管理仍主要依靠人工统计记录,缺乏实时监测和精细化管理。为实现灌区管理的现代化升级,甘肃水利局委托星创易联公司设计实施水利信息化项目。 项…

【Python笔记-设计模式】状态模式

一、说明 状态模式是一种行为设计模式,用于解决对象在不同状态下具有不同行为 (一) 解决问题 在对象行为根据对象状态而改变时,规避使用大量的条件语句来判断对象的状态,提高系统可维护性 (二) 使用场景 当对象的行为取决于其状态&#…

C#使用iText7将多个PDF文档合并为单个文档

使用HtmlAgilityPack抓取并分析网页内容,然后再调用PuppeteerSharp将网页生成PDF文件,最终的成果如下图所示,得到将近120个pdf文档。能看,但是不方便,需要逐个打开文档才能看到所需的内容,最好能将这些文档…

浅谈 Linux 网络编程 socket

文章目录 socket 介绍 socket 介绍 socket 被翻译成 网络套接字,这个名字实在是不好理解,我更愿意称为"插槽"。 忽略 socket 的中文名,先无脑记住两个规则: ① 记住,一个文件描述符(fd) 指向一个 socket&…

GPT-SoVITS音色克隆-模型训练步骤

GPT-SoVITS音色克隆-模型训练步骤 GPT-SoVITS模型源码一个简单的TTS后端项目 基于模型部署和训练教程,语雀 模型部署和训练教程 启动模型训练的主页面 1. 切到模型路径 /psycheEpic/GPT-SoVITS进入Python虚拟环境,并挂起执行python脚本 conda activ…

机器学习(II)--样本不平衡

现实中,样本(类别)样本不平衡(class-imbalance)是一种常见的现象,如:金融欺诈交易检测,欺诈交易的订单样本通常是占总交易数量的极少部分,而且对于有些任务而言少数样本更…

Linux信号【产生-保存-处理】

目录 前言: 1、进程信号基本概念 1.1、什么是信号? 1.2、信号的作用 2、键盘键入 2.1、ctrlc 终止前台进程 2.1.1、signal 注册执行动作 3、系统调用 3.1、kill 函数 3.2、模拟实现 myKill 3.3、raise 函数 3.4、abort 函数 4、软件条件信号…

人工智能福利站,初识人工智能,图神经网络学习,第五课

🏆作者简介,普修罗双战士,一直追求不断学习和成长,在技术的道路上持续探索和实践。 🏆多年互联网行业从业经验,历任核心研发工程师,项目技术负责人。 🎉欢迎 👍点赞✍评论…

nginx设置缓存时间、日志分割、开启多进程、网页压缩、配置防盗链

一、设置缓存时间 当网页数据返回给客户端后,可针对静态网页设置缓存时间,在配置文件内的http段内server段添加location,更改字段expires 1d来实现:避免重复请求,加快访问速度 第一步:修改主配置文件 #修…

Vulnhub靶机:basic_pentesting_2

一、介绍 运行环境:Virtualbox 攻击机:kali(10.0.2.4) 靶机:basic_pentesting_2(10.0.2.7) 目标:获取靶机root权限和flag 靶机下载地址:https://download.vulnhub.c…

如何选择O2OA(翱途)开发平台的部署架构?

概述 O2OA(翱途)开发平台[下称O2OA开发平台或者O2OA]支持公有云,私有云和混合云部署,也支持复杂的网络结构下的分布式部署。本篇主要介绍O2OA(翱途)开发平台支持的部署环境以及常用的集群部署架构。 软硬件环境说明 支持的云化平台: 华为云…