【xr806开发板试用】环境搭建及编译下载

2024-03-18 15:52

本文主要是介绍【xr806开发板试用】环境搭建及编译下载,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1. 环境搭建

  • 早早就收到了试用开发板,但当时初次上手没跑起来就暂时搁置了
    ,最近有空就重新跑一次,记录整体使用流程以及过程中遇到的坑。
  • 习惯了用ubuntu,且ubuntu已经配置好linux开发环境,就直接在其上进行开发。

开发环境:VMware虚拟机 + ubuntu18.04

由于本人略显强迫症,故将repo,llvm文件合并至tools文件夹下(懒得修改工程里的tools路径),
故该处指令与教程略有不同

开发工具用途获取途径
必要的库和工具编译所需的必要工具和库(如打包、镜像制作等)命令行安装
Python3.8编译构建工具命令行安装
LLVM(仅OpenHarmony_v1.x分支/标签需要)编译工具链网络下载
hbOpenHarmony编译构建命令行工具命令行安装
源码功能开发命令行拉取

1.1 安装必要的库和工具

使用如下apt-get指令安装编译所需的库和基础工具

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

1.2 安装Python3

  1. 先查看当前python版本是否符合要求
adrves@ubuntu:~$ python --version
Python 3.6.0
  1. 当前python版本不符合要求,升级安装python3.8
sudo apt-get install python3.8
  1. 设置python和python3软链接为python3.8。
    令python指向python3 python3 指向python3.8
sudo update-alternatives --install /usr/bin/python python /usr/bin/python3 1
sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.8 1

1.2.1 翻车现场

现象描述: ubuntu18.04实测修改python软链接会造成终端无法被快捷键及桌面图标打开,但可以被桌面右键打开。

问题原因: terminal在开发阶段使用的是自带的python3.6/3.5解释器,当升级到python3.8之后,其中的一些内建函数或者语法发生了变化,导致terminal打不开了,

解决办法: 通过查找资料发现共有两种解决方案,此处采用解决方案2。

解决方法一:更新终端

一般情况下可以通过

sudo apt-get install gnome-terminal

更新terminal来解决问题,有时候重新安装并没有解决问题,是因为当前Ubuntu版本对应的源里面没有更新版的terminal,可以使用修改解释器的方式临时解决

解决方法二:修改解释器

使用下述打开解释器文件,(良好习惯,修改前先备份

sudo cp /usr/bin/gnome-terminal /usr/bin/gnome-terminal.bakup

sudo vi /usr/bin/gnome-terminal

在文件第一行显示为

#! /usr/bin/python3

将其修改为

#! /usr/bin/python3.6

保存退出,重启以后就能终端使用正常

  1. 安装并升级Python包管理工具(pip3)
sudo apt-get install python3-setuptools python3-pip -y
sudo pip3 install --upgrade pip

1.3 安装LLVM(仅OpenHarmony_v1.x分支/标签需要)

  1. 下载LLVM工具
  2. 解压LLVM安装包至~/tools路径下。
tar -xvf llvm.tar -C ~/tools
  1. 设置环境变量
vim ~/.bashrc
  1. 拷贝环境变量到.bashrc文件的最后一行,保存并退出。
export PATH=~/tools/llvm/bin:$PATH
  1. 生效环境变量。
source ~/.bashrc

1.4 安装hb

前提条件

请先安装Python 3.7.4及以上版本,请见安装Python3。

安装方法

  1. 运行如下命令安装hb
python3 -m pip install --user ohos-build
  1. 设置环境变量
vim ~/.bashrc

将以下命令拷贝到.bashrc文件的最后一行,保存并退出。

export PATH=~/.local/bin:$PATH

执行如下命令更新环境变量。

source ~/.bashrc
  1. 执行"hb -h",有打印以下信息即表示安装成功:
usage: hb [-h] [-v] {build,set,env,clean,deps} ...OHOS Build System version 0.4.3positional arguments:{build,set,env,clean,deps}build               Build source codeset                 OHOS build settingsenv                 Show OHOS build envclean               Clean outputdeps                OHOS components depsoptional arguments:-h, --help            show this help message and exit-v, --version         show program's version number and exit

卸载方法(正常使用过程中无需卸载)

python3 -m pip uninstall ohos-build

提示:hb安装过程出现问题官方解决方法

2. 系统源码获取与编译

2.1 准备工作

OpenHarmony的代码托管在gitee,下载代码前必须在gitee注册账号并设置好公钥(点击学习设置公钥),否则会下载出错。

2.2 安装repo

  1. 创建repo安装目录。
wget https://storage.googleapis.com/git-repo-downloads/repo -P ~/tools/
  1. 改变执行权限
chmod a+x ~/tools/repo
  1. 改变环境变量,在~/.bashrc文件的最后输入
export PATH=~/tools:$PATH
export REPO_URL=https://mirrors.tuna.tsinghua.edu.cn/git/git-repo/
  1. 重启shell

2.3 下载系统

XR806_OpenHarmony开发板适配了OpenHarmony_1.0.1_release分支,以下步骤1,步骤2,步骤3选择其中一步进行。

  1. 下载指定分支的OpenHarmony,以OpenHarmony_1.0.1_release为例
repo init -u https://gitee.com/openharmony/manifest.git -b OpenHarmony_1.0.1_release --no-repo-verify
  1. 下载好仓库后,输入命令下载代码。
repo sync -c
  1. 下载好代码后,继续下载剩余的大容量二进制文件。
repo forall -c 'git lfs pull'

2.4 下载xr806源码

1.进入鸿蒙系统的/device文件夹

cd ~/xr806/device

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

cd …/ventor

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

下载完毕后按照教程目录结构修改文件夹名称使其路径保持一致

务必按照对应二级文件夹下载,否则后面会出现"找不到设备"现象

mv devboard_device_allwinner_xr806 xradio

mv vendor/devboard_device_allwinner_xr806 vendor/xradio

2.4.1 翻车现场

最开始路径未按照规定下载,结果造成一直发现不了xr设备,经查看linux下已发现USB设备,最后把代码仓库按照路径设置后,即可成功发现xr设备。

2.5 设置工程编译工具链

(由于本人安装路径就是~/tool,且编译链工具也和官方保持一致,故该小节无需设置,跳过即可)

  1. 下载编译链工具,(与官方保持一致)
  2. 修改device/xradio/xr806/liteos_m/config.gni中的board_toolchain_prefix为实际环境下的gcc路径。

board_toolchain_prefix = “~/tools/gcc-arm-none-eabi-10-2020-q4-major/bin/arm-none-eabi-”

  1. 修改device/xradio/xr806/xr_skylark/gcc.mk中的CC_DIR为实际环境下的gcc路径。

CC_DIR := ~/tools/gcc-arm-none-eabi-10-2020-q4-major/bin

2.6 工程配置

该步骤按照相关文档步骤执行即可

2.7 编译下载

该过程按照教程执行即可

至此,系统成功编译下载通过

这篇关于【xr806开发板试用】环境搭建及编译下载的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

Windows环境下解决Matplotlib中文字体显示问题的详细教程

《Windows环境下解决Matplotlib中文字体显示问题的详细教程》本文详细介绍了在Windows下解决Matplotlib中文显示问题的方法,包括安装字体、更新缓存、配置文件设置及编码調整,并... 目录引言问题分析解决方案详解1. 检查系统已安装字体2. 手动添加中文字体(以SimHei为例)步骤

Java JDK1.8 安装和环境配置教程详解

《JavaJDK1.8安装和环境配置教程详解》文章简要介绍了JDK1.8的安装流程,包括官网下载对应系统版本、安装时选择非系统盘路径、配置JAVA_HOME、CLASSPATH和Path环境变量,... 目录1.下载JDK2.安装JDK3.配置环境变量4.检验JDK官网下载地址:Java Downloads

SQL server数据库如何下载和安装

《SQLserver数据库如何下载和安装》本文指导如何下载安装SQLServer2022评估版及SSMS工具,涵盖安装配置、连接字符串设置、C#连接数据库方法和安全注意事项,如混合验证、参数化查... 目录第一步:打开官网下载对应文件第二步:程序安装配置第三部:安装工具SQL Server Manageme

java使用protobuf-maven-plugin的插件编译proto文件详解

《java使用protobuf-maven-plugin的插件编译proto文件详解》:本文主要介绍java使用protobuf-maven-plugin的插件编译proto文件,具有很好的参考价... 目录protobuf文件作为数据传输和存储的协议主要介绍在Java使用maven编译proto文件的插件

使用Python实现可恢复式多线程下载器

《使用Python实现可恢复式多线程下载器》在数字时代,大文件下载已成为日常操作,本文将手把手教你用Python打造专业级下载器,实现断点续传,多线程加速,速度限制等功能,感兴趣的小伙伴可以了解下... 目录一、智能续传:从崩溃边缘抢救进度二、多线程加速:榨干网络带宽三、速度控制:做网络的好邻居四、终端交互

Visual Studio 2022 编译C++20代码的图文步骤

《VisualStudio2022编译C++20代码的图文步骤》在VisualStudio中启用C++20import功能,需设置语言标准为ISOC++20,开启扫描源查找模块依赖及实验性标... 默认创建Visual Studio桌面控制台项目代码包含C++20的import方法。右键项目的属性:

SQLite3 在嵌入式C环境中存储音频/视频文件的最优方案

《SQLite3在嵌入式C环境中存储音频/视频文件的最优方案》本文探讨了SQLite3在嵌入式C环境中存储音视频文件的优化方案,推荐采用文件路径存储结合元数据管理,兼顾效率与资源限制,小文件可使用B... 目录SQLite3 在嵌入式C环境中存储音频/视频文件的专业方案一、存储策略选择1. 直接存储 vs

如何使用Haporxy搭建Web群集

《如何使用Haporxy搭建Web群集》Haproxy是目前比较流行的一种群集调度工具,同类群集调度工具有很多如LVS和Nginx,本案例介绍使用Haproxy及Nginx搭建一套Web群集,感兴趣的... 目录一、案例分析1.案例概述2.案例前置知识点2.1 HTTP请求2.2 负载均衡常用调度算法 2.

基于 HTML5 Canvas 实现图片旋转与下载功能(完整代码展示)

《基于HTML5Canvas实现图片旋转与下载功能(完整代码展示)》本文将深入剖析一段基于HTML5Canvas的代码,该代码实现了图片的旋转(90度和180度)以及旋转后图片的下载... 目录一、引言二、html 结构分析三、css 样式分析四、JavaScript 功能实现一、引言在 Web 开发中,

springboot下载接口限速功能实现

《springboot下载接口限速功能实现》通过Redis统计并发数动态调整每个用户带宽,核心逻辑为每秒读取并发送限定数据量,防止单用户占用过多资源,确保整体下载均衡且高效,本文给大家介绍spring... 目录 一、整体目标 二、涉及的主要类/方法✅ 三、核心流程图解(简化) 四、关键代码详解1️⃣ 设置