开发环境:
开发系统:Ubuntu 20.04
Harmony版本:code-v1.1.4-LTS.tar
HiSpark IPCCamera基于华为海思Hi3518芯片,支持LiteOS、OpenHarmony,广泛应用于智能摄像头、安防监控等场景。
本文将介绍如何搭建HiSpark IPCCamera开发环境,OpenHarmony主要在Linux平台上开发,因此需要使用Linux环境开发,要想使用Linux开发环境,可以选择安装Linux系统,也可在Windows上安装虚拟机,笔者就是使用的该方式,这种方式的好处是可以随时拷贝,非常方便。
笔者的虚拟机使用的是VMwareWorkstation,Linux系统使用的是Ubuntu 20.04,关于VMwareWorkstation的安装和Ubuntu的安装笔者这里就不在赘述了,笔者默认大家已经装好VMware Workstation和Ubuntu。
2.1安装依赖包更新主机的源列表:
$ sudo apt-get update
安装依赖包:
$ sudo apt-get install build-essential gcc g++ make zlib*libffi-dev e2fsprogs pkg-config flex bison perl bc openssl libssl-devlibelf-dev libc6-dev-amd64 binutils binutils-dev libdwarf-dev u-boot-tools mtd-utilscpio device-tree-compiler git git-lfs curl python3-pip tree
值得注意的是,如果Ubuntu Shell环境如果不是bash,则需要修改为bash。检测命令如下:
$ ls -l /bin/sh
打开终端工具,执行如下命令:
$ sudo dpkg-reconfigure dash
然后选择No,即可将Ubuntu shell由dash修改为bash。
然后再检查环境:
2.2获取源码OpenHarmony的最新版本是3.1(2022-03-30),关于OpenHarmony的所有版本的更新信息请参看Release Notes。
Release Notes:
https://gitee.com/openharmony/docs/blob/master/zh-cn/release-notes/Readme.md
笔者这里下载1.1.4版本。该版本是V1.x的最新和最稳定版本。
值得注意的是,不同版本的环境和编译方式是是不同的。
当然啦,这里可以使用Git下载。
关于如何使用Git下载源码请参看官网的参考手册:
https://gitee.com/openharmony/docs/blob/master/zh-cn/device-dev/quick-start/quickstart-ide-lite-sourcecode-acquire.md
在Ubuntu用户目录下新建OpenHarmony。
$ mkdir OpenHarmony
$ cd ~/OpenHarmony
然后将源码拷贝到OpenHarmony目录中解压。
2.3安装hb工具
hb是HarmonyOS新增加的编译构建命令行工具。需要Python 3.7.4及以上版本的支持,建议安装3.8.x。Ubuntu 20.04默认安装的是Python 3.8.10。
在源码根目录下执行:
$python3 -m pip install --user build/lite
然后设置环境变量
$ vim ~/.bashrc
将以下命令拷贝到.bashrc文件的最后一行,保存并退出。
exportPATH=~/.local/bin:$PATH
执行如下命令更新环境变量。
$ source ~/.bashrc
执行hb -h有相关帮助信息,有打印信息即表示安装成功:
卸载方法:
$ python3 -m pip uninstall ohos-build
2.4安装Python工具1.安装Scons
运行如下命令,安装SCons安装包。
$ python3 -m pip install scons
运行如下命令,查看是否安装成功。如果安装成功,查询结果下图所示。
$ scons -v
版本要求3.0.4以上。
2.安装python工具模块
运行如下命令,安装python模块setuptools。
$ pip3 install setuptools
3.安装Kconfiglib
安装GUI menuconfig工具(Kconfiglib),建议安装Kconfiglib13.2.0+版本,命令如下:
$ pip3 install kconfiglib
4.安装Python签名依赖的组件包
安装升级文件签名依赖的Python组件包,包括:pycryptodome、six、ecdsa。安装ecdsa依赖six,请先安装six,再安装ecdsa。
命令如下:
$ pip3 install pycryptodome
$ pip3 install six --upgrade --ignore-installed six
$ pip3 install ecdsa
2.5下载、配置编译工具链分别下载 gn、ninja、hc-gen 包。
解压上述压缩包,然后将程序移到/usr/local/bin/目录。
下载配置clang编译工具。
将llvm-linux-x86_64-9.0.0-36191.tar.gz压缩包放到/opt目录,然后解压:
$ sudo tar -xvf llvm-linux-x86_64-9.0.0-36191.tar.gz
接着修改环境变量:
$vim ~/.bashrc
将以下命令拷贝到.bashrc文件的最后一行,保存并退出。
export PATH=/opt/llvm/bin:$PATH
生效环境变量。
$ source ~/.bashrc
下载配置gcc_riscv32编译工具。
将下载的压缩包拷贝到Ubuntu的/opt目录。
然后解压gcc_riscv32-linux-7.3.0.tar.gz:
$ sudo tar -xvf gcc_riscv32-linux-7.3.0.tar.gz
接着修改环境变量:
$vim ~/.bashrc
将以下命令拷贝到.bashrc文件的最后一行,保存并退出。
export PATH=/opt/gcc_riscv32/bin:$PATH
生效环境变量。
$ source ~/.bashrc
检查编译器信息,命令如下:
$ riscv32-unknown-elf-gcc -v
表明编译器安装成功。