简介:Neptune模组是润和开发的一块物联网IOT模组,它的固件需要通过Linux系统进行编译,在官方文档上写的是基于unbtun的Linux操作系统写的教程。因为我的虚拟机操作系统是redhat的。所以我按照官方文档操作,在开始的时候安装python3的时候老是报错。而且就在执行./configure的时候总是报错,报:configure: error: C compiler cannot create executables报错处理。处理起来好头疼,看过好多篇文章页没有处理掉,所以就换了centos。果然安装python3的时候那叫一个爽啊,很快就安装完毕了。接下来结合官方文档写的一篇在centos上编译固件的操作,和官方文档上稍微有些出入。当然在这个过程当中喷到了一些问题。
**
安装过程
**
第一步:安装python3的环境(centos自带python2,所以执行python --version 的时候是python2的环境)
(1)下载python3
下载python3的网址:https://www.python.org/
点击downloas–》all releases
点击linux/unix
然后随便找一个你喜欢的版本下载下来gz的或者tgz的都行,我下载了的是一个python3.4.3的gz包
下载之后通过xshell放到虚拟机中一个目录当中。这里你选择什么工具放到什么位置自己选择,我用的是xshell,放在了root中的training目录里
(2)安装python3
解压python3
tar -zxvf Python-3.4.3.tgz
执行该条命令就会解压到当前目录中
进入到Python-3.4.3的目录中
cd Python-3.4.3
执行依次一下操作
./configure
make
make install
执行完以上操作就已经安装完python3了,而且会在当前目录中生成一个python的可执行文件。
然后为了我们能在任何地方执行python3的命令,我们把它创建一个软练级到/usr/bin中
ln -s /root/training/Python-3.4.3/python /usr/bin/python3
然后我们就测试一下python3 ,在任意目录输入python3 --version
python3 --version
这里稍微解释一下为什么创建软连接会放到/usr/bin中,我们看一下它的环境变量就知道了
因为在一开始usr/bin就被写在了Linux系统的环境变量中
第二步:安装w800的编译工具
(1)
下载:工具包csky-elfabiv2-tools-x86_64-minilibc-xxxxx.tar.gz
下载后通过xshell工具放到虚拟机中,最好有个它自己的目录(在training中创建一个)。我放的时候直接放了training目录当中结果解压后有好多文件都放在了training里。
解压
tar -zxvf csky-elfabiv2-tools-x86_64-minilibc-20210224.tar.gz
上边这都是解压后的文件,暂时我们不配置环境变量,把下面的工具下载安装完了一起配置环境变量
(2)
下载gn/ninja包和解压
# 下载gn/ninja包
URL_PREFIX=https://repo.huaweicloud.com/harmonyos/compiler
DOWNLOAD_DIR=~/Downloads # 下载目录,可自行修改
TOOLCHAIN_DIR=~/harmonyos/toolchain # 工具链存放目录,可自行修改
[ -e $DOWNLOAD_DIR ] || mkdir $DOWNLOAD_DIR
[ -e $TOOLCHAIN_DIR ] || mkdir -p $TOOLCHAIN_DIR
wget -P $DOWNLOAD_DIR $URL_PREFIX/gn/1523/linux/gn.1523.tar
wget -P $DOWNLOAD_DIR $URL_PREFIX/ninja/1.9.0/linux/ninja.1.9.0.tar
# 解压gn/ninja/包:
tar -C $TOOLCHAIN_DIR/ -xvf $DOWNLOAD_DIR/gn.1523.tar
tar -C $TOOLCHAIN_DIR/ -xvf $DOWNLOAD_DIR/ninja.1.9.0.tar
按照上面的命令,一条一条的都粘贴上去然后执行就可以了
(3)配置环境变量
vim ~/.bash_profile
export PATH=/root/training/bin:$PATH
TOOLCHAIN_DIR=$TOOLCHAIN_DIR
export PATH=$TOOLCHAIN_DIR/gn:$PATH
export PATH=$TOOLCHAIN_DIR/ninja:$PATH
把这些配置进去就可以了。和官网文档配置稍微有的不一样的就是少了一点东西,一个是在$符前少了斜杠,
一个是少了一句配置export PATH=~/.local/bin:$PATH # 用户pip二进制工具目录
这个配置在centos里边没有用,因为根本找不到~/.local/bin的目录,配置上可能出现问题:比如你的ll 、cd、vim命令不起作用了。处理这个问题只需配置一个usr/bin到临时环境变量让他们起作用。然后再处理配置文件的问题。
export PATH=/root/training/bin:$PATH
这个是配置 csky-elfabiv2-tools-x86_64-minilibc-20210224.tar.gz工具的环境变量
TOOLCHAIN_DIR=$TOOLCHAIN_DIR
export PATH=$TOOLCHAIN_DIR/gn:$PATH
export PATH=$TOOLCHAIN_DIR/ninja:$PATH
是配置gn/ninja包的包的环境变量的。这里有个小问题,就是当你的Linux关掉之后TOOLCHAIN_DIR这个变量可能就为空了,所以你还是使用你的文件路径比较好。
第三步:下载源码
https://gitee.com/hihopeorg/Neptune-HarmonyOS-IOT
下载zip包后然后放到虚拟机中,然后再用unzip命令解压就可以了。
然后在该目录执行一下命令进行编译:
python3 build.py w800
编译后就会多一个out目录