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

news2024/10/5 17:27:34

一、环境配置

官方链接:
环境配置

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.coloradmin.cn/o/1477011.html

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

相关文章

幻兽帕鲁(1.5.0)可视化管理工具(0.5.7 docker版)安装教程

文章目录 局域网帕鲁服务器部署教程帕鲁服务可视化工具安装配置服务器地址(可跳过)使用工具管理面板 1.5.0服务端RCON错误1.5.0服务端无法启动RCON端口 解决方法第一步:PalWorldSettings.ini配置第二步:修改PalServer.sh配置 局域…

Zookeeper基础入门-1【集群搭建】

Zookeeper基础入门-1【集群搭建】 一、Zookeeper 入门1.1.概述1.2.Zookeeper工作机制1.3.Zookeeper特点1.4.数据结构1.5.应用场景1.5.1.统一命名服务1.5.2.统一配置管理1.5.3.统一集群管理1.5.4.服务器动态上下线1.5.5.软负载均衡 1.6.Zookeeper官网1.6.1.Zookeeper下载1.6.2.历…

【MySQL探索之旅】数据库的基本操作

📚博客主页:爱敲代码的小杨. ✨专栏:《Java SE语法》 | 《数据结构与算法》 | 《C生万物》 |《MySQL探索之旅》 ❤️感谢大家点赞👍🏻收藏⭐评论✍🏻,您的三连就是我持续更新的动力❤️ &…

python脚本实现全景站点欧拉角转矩阵

效果 脚本 import numpy as np import math import csv import os from settings import *def euler_to_rotation_matrix(roll, pitch, yaw):# 计算旋转矩阵# Z-Y-X转换顺序Rz

手撕Java集合之简易版Deque(LinkedList)

在目前,许多互联网公司的面试已经要求能手撕集合源码,集合源码本身算是源码里比较简单的一部分,但是要在面试极短的10来分钟内快速写出一个简易版的源码还是比较麻烦的,很容易出现各种小问题。所以在平时就要注重这方面的联系。 以…

腾讯云优惠购买政策大全:新老用户都来瞧瞧!

腾讯云服务器多少钱一年?62元一年起,2核2G3M配置,腾讯云2核4G5M轻量应用服务器218元一年、756元3年,4核16G12M服务器32元1个月、312元一年,8核32G22M服务器115元1个月、345元3个月,腾讯云服务器网txyfwq.co…

智能双星:遥测终端机与柳林“巡检机器人“,助力智能运维新升级!

随着科技的不断发展,智能化、自动化的运维管理已经成为企业追求高效、稳定运营的重要方向。柳林遥测终端机、柳林e拍云平台以及巡检机器人的组合,为企业带来了一种全新的、前置的、无感的智能运维体验。 柳林遥测终端机,以其强大的数据采集和…

MySQL-MHA搭建、故障测试

一、架构说明 MHA(Master High Availability)是一个用于 MySQL 主从复制管理和自动故障转移的开源工具集。MHA 的主要目的是提供 MySQL 环境的高可用性和自动故障转移功能,确保在主库发生故障时能够快速切换到备库,降低业务中断时…

【Leetcode 2583】二叉树中的第K大层和 —— 优先队列 + BFS

2583. 二叉树中的第K大层和 给你一棵二叉树的根节点root和一个正整数k。 树中的 层和 是指 同一层 上节点值的总和。 返回树中第k大的层和(不一定不同)。如果树少于k层,则返回-1。 注意,如果两个节点与根节点的距离相同&#…

Python中检查一个数字是否是科技数的完整指南

目录 前言 什么是科技数? 如何判断一个数字是否是科技数? 分割数字并计算平方 Python实现科技数检测的示例代码 科技数的应用场景 1. 数字游戏 2. 数据处理 3. 算法优化 4. 数据结构设计 总结 前言 科技数(Tech Number)是一…

VXLAN

VXLAN简介 定义 RFC定义了VLAN扩展方案VXLAN(Virtual eXtensible Local Area Network,虚拟扩展局域网)。VXLAN采用MAC in UDP(User Datagram Protocol)封装方式,是NVO3(Network Virtualizatio…

强化学习_06_pytorch-PPO实践(Hopper-v4)

一、PPO优化 PPO的简介和实践可以看笔者之前的文章 强化学习_06_pytorch-PPO实践(Pendulum-v1) 针对之前的PPO做了主要以下优化: batch_normalize: 在mini_batch 函数中进行adv的normalize, 加速模型对adv的学习policyNet采用beta分布(0~1): 同时增加MaxMinScale …

【中国善网ESG周报】企业ESG报告分析之“华大”

引言: ESG(环境、社会和治理)是一个越来越受到关注的话题,它涉及到企业在经营过程中如何平衡利润、人们和地球的利益。随着全球气候变化加剧、社会不平等问题日益突出,以及公司治理和道德标准的日益重要,E…

ISO_IEC_18598-2016自动化基础设施管理(AIM)系统国际标准解读(一)

██ ISO_IEC_18598-2016是什么标准? ISO/IEC 18598国际标准是由ISO(国际标准化组织)/IEC(国际电工委员会)联合技术委员会1-信息技术的第25分委员会-信息技术设备互连小组制定的关于信息基础设施自动化管理的国际标准&…

微信小程序固定头部-CSS实现

效果图 代码逻辑:设置头部的高度,浮动固定后,再加个这个高度的大小的外边距 .weui-navigation-bar {position: fixed;top: 0px;left: 0px;right: 0px;height:90px; } .weui-navigation-bar_bottom{height:90px; }

Chapter 8 - 19. Congestion Management in TCP Storage Networks

Queue Depth Monitoring and Microburst Detection Queue depth monitoring and microburst detection capture the events that may cause congestion at a lower granularity but are unnoticed by other means due to long polling intervals. 队列深度监控和微爆检测可捕捉…

人工智能到深度学习:药物发现的机器智能方法(综述学习)

Artificial intelligence to deep learning: machine intelligence approach for drug discovery - PubMed (nih.gov) 人工神经网络、深度神经网络、支持向量机、分类和回归、生成对抗网络、符号学习和元学习是应用于药物设计和发现过程的算法的例子。人工智能已应用于药物设计…

Tkinter.Text控件中,文本存在某个关键字的将被高亮显示(标记颜色+字体加粗)

在Tkinter的Text控件中,要标记某个关键字并改变其颜色,你可以使用tag_add方法来给包含关键字的文本添加标签,然后使用tag_config方法来配置该标签的显示样式,包括前景色(字体颜色)和背景色等。以下是一个完…

深度测试:指定DoC ID对ES写入性能的影响

在[[使用python批量写入ES索引数据]]中已经介绍了如何批量写入ES数据。基于该流程实际测试一下指定文档ID对ES性能的影响有多大。 一句话版 指定ID比不指定ID的性能下降了63%,且加剧趋势。 以下是测评验证的细节。 百万数据量 索引默认使用1分片和1副本。 指定…

Phoncent博客:探索AI写作与编程的无限可能

Phoncent博客,一个名为Phoncent的创新AIGC博客网站,于2023年诞生。它的创始人是庄泽峰,一个自媒体人和个人站长,他在网络营销推广领域有着丰富的经验。庄泽峰深知人工智能技术在内容创作和编程领域的潜力和创造力,因此…