ESP32移植Openharmony设备开发---(1)环境搭建

第一章 环境搭建

1.下载ubuntu创建虚拟机

内存分配建议8G

硬盘大于200G

                                                                下载ubuntu20.04

复制特征码打开迅雷即可下载

5F5E8848426129AB63CB4DB717BB54193C1C1AD7 ubuntu-20.04.6-desktop-amd64.iso 特征码 迅雷
2.换源

Ubuntu左下角app应用找到Software&Updates

“Download from"选择other ->这里选择China->阿里云镜像

点击choose Server -> 点击refresh即可

3.更改默认Shell为bash
sudo dpkg-reconfigure dash

不然会出现

4.安装相关软件包和依赖

由于OH环境搭建所需的依赖非常繁多复杂,笔者这里给大家整理好了一份软件包列表,实现一键安装所需依赖

新建test.sh脚本文件并复制下面代码块

给脚本运行权限 chmod +x test.sh

运行bash脚本 ./test.sh

#!/bin/bash

# 软件包列表
packages=(
  apt-utils
  vim
  software-properties-common
  openssh-server
  iputils-ping
  git-lfs
  curl
  net-tools
  bsdmainutils
  kmod
  bc
  rsync
  gawk
  ssh
  ccache
  zip
  python-dev
  make
  m4
  gcc-multilib
  ca-certificates-java
  unzip
  python3-yaml
  perl
  openssl
  libssl1.1
  gnupg
  xsltproc
  x11proto-core-dev
  tcl
  python3-crypto
  python-crypto
  libxml2-utils
  libxml2-dev
  libx11-dev
  libssl-dev
  libgl1-mesa-dev
  lib32z1-dev
  lib32ncurses5-dev
  g++-multilib
  flex
  bison
  doxygen
  git
  subversion
  tofrodos
  pigz
  expect
  python3-xlrd
  python-xlrd
  git-core
  gperf
  build-essential
  zlib1g-dev
  libc6-dev-i386
  lib32z-dev
  openjdk-8-jdk
)

# 更新源列表
sudo apt-get update

# 安装每个软件包
for pkg in "${packages[@]}"; do
  echo "Installing package: $pkg"
  sudo apt-get install -y $pkg
done

echo "All packages installed successfully."
5.获取源码

方式一:直接下载压缩包(下载的是全量代码)

https://gitee.com/link?target=https%3A%2F%2Frepo.huaweicloud.com%2Fopenharmony%2Fos%2F4.0-Release%2Fcode-v4.0-Release.tar.gz

tar -xzf code-v4.0-Release.tar.gz

方式二:通过repo +https 下载(推荐下载轻量)

sudo su
mkdir Openharmony
cd Openharmony
curl -s https://gitee.com/oschina/repo/raw/fork_flow/repo-py3 >/usr/local/bin/repo 
chmod a+x /usr/local/bin/repo
pip3 install -i https://repo.huaweicloud.com/repository/pypi/simple requests 
git config --global user.name "Kevin_Huangxy"
git config --global user.email "2119375312@qq.com"
git config --global credential.helper store
(轻量版)repo init -u https://gitee.com/openharmony/manifest -b refs/tags/OpenHarmony-v4.1-Release -m chipsets/hispark_pegasus.xml -g ohos:mini
  repo sync -c
repo forall -c 'git lfs pull'

小tips:可以多拉取几次 一次拉取代码可能不完整

6.加入esp32补丁(需要esp32补丁可以联系笔者)

将device_board中的文件复制到源码根目录/device/board中

同理将另外两份文件复制到对应文件夹下,补丁就打好了

7.安装hb

openharmony使用hb set报错的几种情况以及解决办法_ubuntu_Keine lösung-华为开发者空间 (csdn.net)

hb是一个构建工具,用作编译,这里我们选择下载hb 1.0.0
python3 -m pip install --user build/hb pip -i  https://mirrors.aliyun.com/pypi/simple/

设置环境变量
vim ~/.bashrc
export PATH=~/.local/bin:$PATH
source ~/.bashrc
验证hb安装是否成功
hb help

hb env h (hb1.00版本内置环境检验工具,可以查看自己环境是否安装完毕)

根据提示信息执行以下命令即可完整的安装所有依赖环境

8.安装gcc_riscv32(WLAN模组类编译工具链)

下载以下交叉编译工具链:

https://gitee.com/link?target=https%3A%2F%2Frepo.huaweicloud.com%2Fharmonyos%2Fcompiler%2Fgcc_riscv32%2F7.3.0%2Flinux%2Fgcc_riscv32-linux-7.3.0.tar.gz

下载完毕后将其拖入Vmware文件夹中,在文件夹中右键用命令行打开

执行以下命令将压缩包解压到根目录:

tar -xvf gcc_riscv32-linux-7.3.0.tar.gz -C ~

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

vim ~/.bashrc
export PATH=~/gcc_riscv32/bin:$PATH

生效环境变量。

source ~/.bashrc

Shell命令行中输入如下命令,如果能正确显示编译器版本号,表明编译器安装成功。

riscv32-unknown-elf-gcc -v

9.代码下载和修改

在第一章完成环境搭建、OpenHarmony 4.1版本代码下载之后,请修改文件:

build\hb\util\loader\load_ohos_build.py,使用VScode打开该文件,使用Ctrl+F搜索

raise OHOSException 将其批量替换成print

原先代码如下:

将raise OHOSException改成 print,修改后如下:

10.交叉编译工具链

先通过pip3安装esptool

pip3 install esptool pip -i  https://mirrors.aliyun.com/pypi/simple/

新建一个目录,用来存放下载的编译工具链

mkdir -p ~/download && cd ~/download

下载交叉编译工具链压缩包


wget https://dl.espressif.com/dl/xtensa-esp32-elf-gcc8_4_0-esp-2021r2-linux-amd64.tar.gz

解压工具链

sudo tar axvf xtensa-esp32-elf-gcc8_4_0-esp-2021r2-linux-amd64.tar.gz -C /opt/ 

将交叉编译工具添加至环境变量,打开配置文件

vim ~/.bashrc

在文件末尾添加

export PATH=$PATH:/opt/xtensa-esp32-elf/bin

使配置生效

source ~/.bashrc
11.源码编译
sudo bash build/prebuilts_download.sh

方案一:

命令行编译

sudo ./build.sh --product-name esp32 --ccache

方案二:

hb工具编译(推荐)

在代码根目录输入hb set,在选项框中选择esp32

执行hb build -f

至此esp32移植Openharmony已基本完成,环境搭建过程会遇到诸多BUG,解决起来也是非常痛苦,但编译成功后也是非常的有成就感!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值