上一篇搭建好了环境,接下来就要干代码了,首先我们得有源码,然后在Windows上能打开编辑,接下来我们尝试一下。
先给出几个开源网站
源码开源仓库:https://gitee.com/openharmony
设备开发学习网站:https://device.harmonyos.com/cn/home
HPM网站:https://developer.harmonyos.com/cn/home/
从镜像站点下载压缩文件,然后和上一篇一样,创建好一个code目录,把压缩文件拖放过去解压。
https://repo.huaweicloud.com/harmonyos/os/1.0/code-1.0.tar.gz
a.在根目录下创建代码目录
mkdir code #创建一个名为code的文件夹
cd code/
ls
mkdir code_1
cd code_1/
ls#查看当前目录下的内容
b.直接从Windows中拖放过去
c.解压到当前目录
tar -xvf code-1.0.tar.gz
也可以在Linux终端进入到指定目录,使用wget指令获取压缩包,再执行解压操作。
HPM网站:https://hpm.harmonyos.com/#/cn/home
软环境要求:Linux环境安装12.13.0+的Node.js
所以采用此方式要进行以下安装
a.安装Node.js
#下载Nodejs
wget https://nodejs.org/dist/v14.15.1/node-v14.15.1-linux-x64.tar.xz
#解压
tar -xvf node-v14.15.1-linux-x64.tar.xz-C ~/
#使用 ln 命令来设置软连接
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/
b.安装hpm命令行工具
npm install -g @ohos/hpm-cli
sudo ln -s ~/node-v14.15.1-linux-x64/bin/hpm /usr/bin/
c.通过hpm install 命令安装组件
在Windows系统中从HPM网站上选择自己所需的组件,并点击直接下载,再拖放到Linux虚拟机的指定目录下,解压后执行hpm的安装指令(hpm install
),就会自动去下载组件并安装。拖放到解压可参考上一种方式内的命令。
cd code/
ls
mkdir code_2
cd code_2/
unzip demo.zip
cd demo/
hpm install
适用场景
1、进入开发目录,执行如下命令,采用默认模板创建一个开发项目
cd code/
ls
mkdir code_3
cd code_3/
hpm init -t default
2、执行如下命令,安装组件@bearpi/bearpi_hm_nano
hpm install @bearpi/bearpi_hm_nano
3、工具会自动从服务器下载所有依赖的组件,下载成功则会显示Installed.
从HPM网站下载组件时可自定义添加其他组件包,默认依赖组件包不可删除。
下载Harmony OS源码
在此之前需要先注册gitee账号,并配置邮箱。
源码链接:https://gitee.com/bearpi/bearpi-hm_nano
先在Linux下创建一个目录用来存放代码。
在Linux终端下执行如下命令
git config --global user.name "yourname"
git config --global user.email “your-email-address"
git clone https://gitee.com/bearpi/bearpi-hm_nano.git -b master
编译命令
python build.py BearPi-HM_Nano
这种方式比较简单,我采用的是这种方式。注意需要先安装git。
sudo apt install git
目前HarmonyOS源码只支持在Linux系统中进行编译,可以将Linux环境下的工程目录映射到Windows环境下,然后使用VS Code打开,并在Windows环境下进行烧录和调试。此种共享文件夹方式需使用samba。映射方法如下:
1、在Linux上,设置HarmonyOS源码所在文件夹为共享文件夹。
#安装Samba
sudo apt-get install samba
#配置Samba
sudo vim /etc/samba/smb.conf
#添加以下内容
[HarmonyOS_Code]
path = /home/YOUR_USER_NAME/code
available = yes
valid users = YOUR_USER_NAME
read only = no
browsable = yes
public = yes
writable = yes
#设置Samba用户名和密码
sudo smbpasswd -a YOUR_USER_NAME
#重启samba服务
sudo /etc/init.d/smbd restart
双击进入共享文件夹,直接把对应的目录拖放到VS CODE里就可以打开了。
./applications/BearPi/BearPi-HM_Nano/sample
路径下新建一个my_app
目录,用于存放业务源码文件。./applications/BearPi/BearPi-HM_Nano/sample/my_app
路径下新建一个hello_world.c
文件,该文件为业务源码文件。./applications/BearPi/BearPi-HM_Nano/sample/my_app
路径下新建一个BUILD.gn
文件,该文件为业务源码编译脚本。hello_world.c
中新建业务入口函数Hello_World
,并实现业务逻辑。并在代码最下方,使用HarmonyOS启动恢复模块接口APP_FEATURE_INIT()
启动业务。(APP_FEATURE_INIT定义在ohos_init.h文件中)#include
#include "ohos_init.h"
void Hello_World(void)
{
printf("Hello World!\r\n");
}
APP_FEATURE_INIT(Hello_World);
gn文件代码
须知: Hi3861平台仅支持使用libgcc运行时库的静态链接,不建议开发者使用libgcc运行时库的动态链接,会导致商业分发时被GPL V3污染。
./applications/BearPi/BearPi-HM/sample/my_app
下的BUILD.gn
文件中添加如下代码。static_library("myapp") {
sources = [
"hello_world.c"
]
include_dirs = [
"//utils/native/lite/include",
]
}
libmyapp.a
,开发者根据实际情况完成填写。打开HiBurn改端口,波特率设置为921600
下载完成后,点击disconnect。