华为云14天鸿蒙设备开发-Day1源码获取


前言

上一篇搭建好了环境,接下来就要干代码了,首先我们得有源码,然后在Windows上能打开编辑,接下来我们尝试一下。
先给出几个开源网站
源码开源仓库:https://gitee.com/openharmony
设备开发学习网站:https://device.harmonyos.com/cn/home
HPM网站:https://developer.harmonyos.com/cn/home/


一、获取源码

1.源码获取方式

1.1 从镜像站点获取

从镜像站点下载压缩文件,然后和上一篇一样,创建好一个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指令获取压缩包,再执行解压操作。

1.2 从HPM网站组件式获取

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.3 用包管理器命令行获取

适用场景

  • 用户已通过组件式获取的方式获取源码,需要对源码中的某个或某几个组件进行独立升级。
  • 用户已经比较熟悉HarmonyOS系统的开发并且熟练掌握命令行工具的使用。
    此方法也需先安装第二种方式中的工具。
    例如获取的组件名为@bearpi/bearpi_hm_nano,具体操作如下:

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网站下载组件时可自定义添加其他组件包,默认依赖组件包不可删除。

1.4从代码仓库获取

下载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

二、在Windows中打开工程源码

源码目录简介
在这里插入图片描述

1.映射工程源码

目前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

2.导入工程源码

  1. 在Windows上,鼠标右键单击“此电脑”,选择“映射网络驱动器(N)。
  2. 选择一个未使用的驱动器,并设置HarmonyOS源码所在的路径,格式为“\Linux IP地址\共享文件夹名称”,如:\192.168.0.224\HarmonyOS_Code,点击“完成”。

3.打开工程源码

双击进入共享文件夹,直接把对应的目录拖放到VS CODE里就可以打开了。
在这里插入图片描述

三、Hello World

1.编写 Hello World程序

  1. 新增my_app文件夹
    ./applications/BearPi/BearPi-HM_Nano/sample路径下新建一个my_app目录,用于存放业务源码文件。
  2. 新增hello_world.c文件
    ./applications/BearPi/BearPi-HM_Nano/sample/my_app路径下新建一个hello_world.c文件,该文件为业务源码文件。
  3. 新增BUILD.gn文件
    ./applications/BearPi/BearPi-HM_Nano/sample/my_app路径下新建一个BUILD.gn文件,该文件为业务源码编译脚本。
    这个步骤有点类似用Cmake。
    然后就开始写代码。
    业务代码
    hello_world.c中新建业务入口函数Hello_World,并实现业务逻辑。并在代码最下方,使用HarmonyOS启动恢复模块接口APP_FEATURE_INIT()启动业务。(APP_FEATURE_INIT定义在ohos_init.h文件中)
#include <stdio.h>
#include "ohos_init.h"
void Hello_World(void)
{
  printf("Hello World!\r\n");
}
APP_FEATURE_INIT(Hello_World);

gn文件代码

须知: Hi3861平台仅支持使用libgcc运行时库的静态链接,不建议开发者使用libgcc运行时库的动态链接,会导致商业分发时被GPL V3污染。

  1. 编写用于将业务构建成静态库的BUILD.gn文件
    ./applications/BearPi/BearPi-HM/sample/my_app下的BUILD.gn文件中添加如下代码。
static_library("myapp") {
    sources = [
        "hello_world.c"
    ]

    include_dirs = [
        "//utils/native/lite/include",
    ]
}

  • static_library中指定业务模块的编译结果,为静态库文件libmyapp.a,开发者根据实际情况完成填写。
  • sources中指定静态库.a所依赖的.c文件及其路径,若路径中包含"//“则表示绝对路径(此处为代码根路径),若不包含”//" 则表示相对路径。
  • include_dirs中指定source所需要依赖的.h文件路径。
  1. 编写模块BUILD.gn文件,指定需参与构建的特性模块。
    ./applications/BearPi/BearPi-HM/sample下的BUILD.gn文件中添加如下代码。
    在这里插入图片描述
  • my_app是相对路径,指向./applications/BearPi/BearPi-HM/sample/my_app/BUILD.gn。
  • myapp是目标,指向./applications/BearPi/BearPi-HM/sample/my_app/BUILD.gn中的static_library(“myapp”)。

2.编译烧录程序

  1. 设备管理器查看一下板子的COM口
    在这里插入图片描述

  2. 打开HiBurn改端口,波特率设置为921600

  3. 选择烧录文件
    在这里插入图片描述

  4. 勾选Auto burn,点击connect,按下开发板reset按键,开始下载。
    在这里插入图片描述

  5. 下载完成后,点击disconnect。

3.调试

  1. 在Visual Studio Code底部,点击“串口”按钮图标。
  2. 输入端口号,其他参数保持默认配置。
  3. 按下开发板RESET按键,即可输出日志信息。
  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值