【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

相关文章

linux环境openssl、openssh升级流程

《linux环境openssl、openssh升级流程》该文章详细介绍了在Ubuntu22.04系统上升级OpenSSL和OpenSSH的方法,首先,升级OpenSSL的步骤包括下载最新版本、安装编译... 目录一.升级openssl1.官网下载最新版openssl2.安装编译环境3.下载后解压安装4.备份

Android开发中gradle下载缓慢的问题级解决方法

《Android开发中gradle下载缓慢的问题级解决方法》本文介绍了解决Android开发中Gradle下载缓慢问题的几种方法,本文给大家介绍的非常详细,感兴趣的朋友跟随小编一起看看吧... 目录一、网络环境优化二、Gradle版本与配置优化三、其他优化措施针对android开发中Gradle下载缓慢的问

python 3.8 的anaconda下载方法

《python3.8的anaconda下载方法》本文详细介绍了如何下载和安装带有Python3.8的Anaconda发行版,包括Anaconda简介、下载步骤、安装指南以及验证安装结果,此外,还介... 目录python3.8 版本的 Anaconda 下载与安装指南一、Anaconda 简介二、下载 An

IDEA编译报错“java: 常量字符串过长”的原因及解决方法

《IDEA编译报错“java:常量字符串过长”的原因及解决方法》今天在开发过程中,由于尝试将一个文件的Base64字符串设置为常量,结果导致IDEA编译的时候出现了如下报错java:常量字符串过长,... 目录一、问题描述二、问题原因2.1 理论角度2.2 源码角度三、解决方案解决方案①:StringBui

Java下载文件中文文件名乱码的解决方案(文件名包含很多%)

《Java下载文件中文文件名乱码的解决方案(文件名包含很多%)》Java下载文件时,文件名中文乱码问题通常是由于编码不正确导致的,使用`URLEncoder.encode(filepath,UTF-8... 目录Java下载文件中文文件名乱码问题一般情况下,大家都是这样为了解决这个问题最终解决总结Java下

本地搭建DeepSeek-R1、WebUI的完整过程及访问

《本地搭建DeepSeek-R1、WebUI的完整过程及访问》:本文主要介绍本地搭建DeepSeek-R1、WebUI的完整过程及访问的相关资料,DeepSeek-R1是一个开源的人工智能平台,主... 目录背景       搭建准备基础概念搭建过程访问对话测试总结背景       最近几年,人工智能技术

在Mysql环境下对数据进行增删改查的操作方法

《在Mysql环境下对数据进行增删改查的操作方法》本文介绍了在MySQL环境下对数据进行增删改查的基本操作,包括插入数据、修改数据、删除数据、数据查询(基本查询、连接查询、聚合函数查询、子查询)等,并... 目录一、插入数据:二、修改数据:三、删除数据:1、delete from 表名;2、truncate

Python实现文件下载、Cookie以及重定向的方法代码

《Python实现文件下载、Cookie以及重定向的方法代码》本文主要介绍了如何使用Python的requests模块进行网络请求操作,涵盖了从文件下载、Cookie处理到重定向与历史请求等多个方面,... 目录前言一、下载网络文件(一)基本步骤(二)分段下载大文件(三)常见问题二、requests模块处理

5分钟获取deepseek api并搭建简易问答应用

《5分钟获取deepseekapi并搭建简易问答应用》本文主要介绍了5分钟获取deepseekapi并搭建简易问答应用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需... 目录1、获取api2、获取base_url和chat_model3、配置模型参数方法一:终端中临时将加

解决IDEA使用springBoot创建项目,lombok标注实体类后编译无报错,但是运行时报错问题

《解决IDEA使用springBoot创建项目,lombok标注实体类后编译无报错,但是运行时报错问题》文章详细描述了在使用lombok的@Data注解标注实体类时遇到编译无误但运行时报错的问题,分析... 目录问题分析问题解决方案步骤一步骤二步骤三总结问题使用lombok注解@Data标注实体类,编译时