前言:我是Linux使用的是Ubuntu18.04进行环境配置的,如果环境不同导致报错请自行网上搜索答案
1.首先先下载必要的插件
链接:https://pan.baidu.com/s/15E3SBXj_gOF2DugzBRDqOA
提取码:xxcn
下载完之后解压出五个压缩文件放到Linux下Home目录中放到同一个文件夹
2.将Linux shell改为bash
#查看shell是否为bash,在终端运行如下命令
ls -l /bin/sh
#如果为显示为/bin/sh -> bash则为正常,
否则请输入
sudo dpkg-reconfigure dash
弹出此页面后使用方向键选择否,然后再次查看shell模式是否改为bash
3.安装pip3和其他的模块包
首先安装python3.8和pip3
sudo apt-get install python3.8
sudo apt-get install python3-pip
在安装其他模块之前首先检查python3,和python版本,查看是不是为3.8,如果是3.6则需要修改软连接
- 删除python3软连接
- 重新把python3.8建立软连接
sudo rm /usr/bin/python3
//重新建立软连接
sudo ln -s python3.8 /usr/bin/python3
如果python版本为2.7也是需要同样的操作
sudo rm /usr/bin/python
//重新建立软连接
sudo ln -s python3.8 /usr/bin/python
最后再检查一遍python版本和python3版本,都是3.8之后就可以进行下一步操作了
安装模块包
sudo pip3 install setuptools
sudo pip3 install kconfiglib
# 建议安装kconfiglib 13.2.0+版本
sudo pip3 install pycryptodome
sudo pip3 install six --upgrade --ignore-installed six
sudo pip3 install ecdsa
安装SCons环境
找到源码包的位置进行解压 以scons-3.1.2为例
tar -xvf scons-3.1.2.tar.gz
sudo python3 setup.py install
安装gn、nija、riscv32_gcc
同样也是找到压缩包的位置把对应的压缩包解压到Home目录下
tar -xvf gn.1523.tar -C ~/
tar -xvf ninja.1.9.0.tar -C ~/
tar -xvf gcc_riscv32-linux-7.3.0.tar.gz -C ~/
使用vim设置环境变量
如果没有vim工具请自行安装一下
sudo apt-get install vim
vim ~/.bashrc
#将以下命令拷贝到.bashrc文件底部
export PATH=~/gn:$PATH
export PATH=~/ninja:$PATH
export PATH=~/gcc_riscv32/bin:$PATH
#生效环境变量
source ~/.bashrc
安装Node.js和hpm命令工具,组件
找到node-v14.15.1-linux-x64压缩包的位置进行解压
tar -xvf node-v14.15.1-linux-x64.tar.xz -C ~/
设置软连接
sudo ln -s ~/node-v14.15.1-linux-x64/bin/npm /usr/bin/
sudo ln -s ~/node-v14.15.1-linux-x64/bin/node /usr/bin/
npm init -f
npm install -g @ohos/hpm-cli
sudo ln -s ~/node-v14.15.1-linux-x64/bin/hpm /usr/bin/
进入 /node-v14.15.1-linux-x64/bin 目录下输入npm查看设置是否成功
设置成功大致如下
也可以通过输入以下命令查看版本
hpm -V
下载BearPi的源码
HPM网站:https://hpm.harmonyos.com/#/cn/home
在该网页中点击设备组件选择BearPi-HM_Nano下载源码,下载后的压缩包请放到Linux系统中Home目录进行解压
先安装curl包
sudo apt-get install curl
在解压好的目录下输入以下命令
hpm install
如果显示install sucessful则代表安装成功
编译源代码
在源代码目录下输入hpm dist进行编译(因为使用的是在线编译所以必须联网)
出现次界面就说明编译成功了,可以进行代码的编写了