HarmonyOS开发板试用之二Hi3861开发初探和环境搭建

系统 OpenHarmony
对于新手来说开发环境的搭建还是有一定难度,安装过device tool2 也安装了device tool 3前前后后搞了快一周也没搞成功(尴尬)能力限制了去体验一条龙服务。

[[441290]]

想了解更多内容,请访问:

51CTO和华为官方合作共建的鸿蒙技术社区

https://harmonyos.51cto.com

Hi3861开发

上一篇大致``描述了收到51cto的HiSpark_Wi-Fi_IoT_Hi3861_CH340G开发板后的组装过程,这一篇正式进入开发的初探。

注:相关设备来源于51CTO鸿蒙技术社区【开发板漂流计划】提供

开发环境

我的开发编译环境 mac + git + repo + vscode + docker

我的烧录调试环境 window + HiBurn + 串口调试助手

开发环境的搭建还是有点难度,刚开始还是信心满满对着文档各种操作,最终都以失败告终。。。

最终走了一个自认为最便捷的方式docker + HiBurn和串口助手 (主要devicetools一条龙开发工具没成功过),因为整个开发过程就是git拉取鸿蒙源码,vscode中业务编码,Ubuntu下编译源码成二进制,烧录二进制到开发板,调试测试。

  • docker环境,用来拉取鸿蒙源码编译的环境
  • git环境,需要安装git-lfs和repo工具
  • ide开发工具编码用
  • HiBurn烧录工具
  • 串口调试助手调试用

获取鸿蒙源码

可以直接下载源码开发编译,但是本次从git拉取

1. 安装python3.8

在python官网找到3.8版本安装包

2. 安装git和git-lfs

  1. brew install git 
  2. brew install git-lfs 
  3.  
  4. #初始化git-lfs 
  5. git lfs install 
【HarmonyOS开发板试用】之二Hi3861开发初探和环境搭建-鸿蒙HarmonyOS技术社区

如果不安装git-fls的话在后面拉取鸿蒙源码的时候会失败

【HarmonyOS开发板试用】之二Hi3861开发初探和环境搭建-鸿蒙HarmonyOS技术社区

3. 配置git和码云公钥

  1. #配置git 
  2. git config --global user.name "yourname" 
  3. git config --global user.email "your-email-address" 
  4. git config --global credential.helper store 
  5.  
  6. #配置码云ssh key就是将你电脑的公钥保存到码云 
  7. ssh -T git@gitee.com 
【HarmonyOS开发板试用】之二Hi3861开发初探和环境搭建-鸿蒙HarmonyOS技术社区

4. 安装repo工具

  1. #如果没有权限,可下载至其他目录,并将其配置到环境变量中 
  2. curl -s https://gitee.com/oschina/repo/raw/fork_flow/repo-py3 > /usr/local/bin/repo   
  3. chmod a+x /usr/local/bin/repo 
  4. pip3 install -i https://repo.huaweicloud.com/repository/pypi/simple requests 

5. 获取鸿蒙源码

  1. mkdir harmonyOsDevice 
  2. cd harmonyOsDevice 
  3. repo init -u git@gitee.com:openharmony/manifest.git -b master --no-repo-verify 
  4. repo sync -c 
  5. #需要git开启git-lfs 
  6. repo forall -c 'git lfs pull' 
【HarmonyOS开发板试用】之二Hi3861开发初探和环境搭建-鸿蒙HarmonyOS技术社区

编译环境(采用官方docker镜像包)

1. 安装Docker for mac在docker官网下载

2. 获取编译环境的docker镜像

  1. docker pull swr.cn-south-1.myhuaweicloud.com/openharmony-docker/openharmony-docker:0.0.5 

3. 在源码根目录运行编译环境

  1. docker run -it -v $(pwd):/home/openharmony swr.cn-south-1.myhuaweicloud.com/openharmony-docker/openharmony-docker:0.0.5 

到此源码和编译环境已经准备完成(后面还有烧录和调试环境)。下面开始运行个Hello world试试。。。

开发初探

1. 编业务代码(hello world)

随便找一个自己顺手的编辑器,这里就用vscode吧,打开上面的源码目录harmonyOsDevice

在源码./applications/sample/wifi-iot/app目录下

创建my_first_app目录并在其内创建

  • hello_world.c业务代码文件
  • UILD.gn编译脚本文件

hello_world.c文件内容

  1. #include <stdio.h> 
  2. #include "ohos_init.h" 
  3. #include "ohos_types.h" 
  4.  
  5. void HelloWorld(void) 
  6.     printf("[DEMO] Hello world sxfenglei.\n"); 
  7. SYS_RUN(HelloWorld); 

 UILD.gn文件内容

  1. static_library("myapp") { 
  2.     sources = [ 
  3.         "hello_world.c" 
  4.     ] 
  5.     include_dirs = [ 
  6.         "//utils/native/lite/include" 
  7.     ] 

 最后修改./applications/sample/wifi-iot/app/UILD.gn文件的features数组(注意区别刚自己创建的UILD.gn文件)

  1. import("//build/lite/config/component/lite_component.gni"
  2. lite_component("app") { 
  3.     features = [ 
  4.         #"startup"
  5.         "my_first_app:myapp"
  6.     ] 

 2. 编译源码成二进制文件

进入docker环境下执行

  1. //设置环境 
  2. hb set 
  3. //指定源码目录为当前目录 
  4. //编译 完成后会在out目录生成对应目录和文件 
  5. hb build -f 
【HarmonyOS开发板试用】之二Hi3861开发初探和环境搭建-鸿蒙HarmonyOS技术社区

3.烧录二进制文件到开发板

以上都是在mac下完成的下来的操作都在在windows上完成的

可以将编译后的out目录复制到windows下或者共享,我用的共享目录;

【HarmonyOS开发板试用】之二Hi3861开发初探和环境搭建-鸿蒙HarmonyOS技术社区

安装USB转串口驱动

【HarmonyOS开发板试用】之二Hi3861开发初探和环境搭建-鸿蒙HarmonyOS技术社区

将HiSpark_Wi-Fi_IoT_Hi3861_CH340G通过连接到windows上并在设备管理中查看串口号

【HarmonyOS开发板试用】之二Hi3861开发初探和环境搭建-鸿蒙HarmonyOS技术社区

打开HiBurn烧录(烧录完成后一定要断开)

连接上后点击 reset按键便开始烧录

【HarmonyOS开发板试用】之二Hi3861开发初探和环境搭建-鸿蒙HarmonyOS技术社区

4.运行查看调试

打开调试助手 按reset就可以运行的日志信息 就可以看到刚才写的[demo] hello world sxfenglei.

【HarmonyOS开发板试用】之二Hi3861开发初探和环境搭建-鸿蒙HarmonyOS技术社区

5.控制WiFi版LED灯闪烁

上面输出了日志下面在控制下板子LED试试

hello_world.c文件内容

  1. #include <stdio.h> 
  2. #include "ohos_init.h" 
  3. #include "cmsis_os2.h" 
  4. #include "iot_gpio.h" 
  5.  
  6. #define LED_GPIO 9 //查阅开发板原理图明确接线关系 LED与9号管脚相连 
  7.  
  8. static void LedTask(void *arg) 
  9.     (void)arg; 
  10.     //GPIO管脚初始化 
  11.     IoTGpioInit(LED_GPIO); 
  12.     //配置9号管脚为输出 
  13.     IoTGpioSetDir(LED_GPIO, IOT_GPIO_DIR_OUT); 
  14.  
  15.     while (1) 
  16.     { 
  17.         //设置引脚输出状态 
  18.         IoTGpioSetOutputVal(LED_GPIO, 0); 
  19.         osDelay(50); 
  20.         IoTGpioSetOutputVal(LED_GPIO, 1); 
  21.         osDelay(50); 
  22.     } 
  23.  
  24. static void LedEntry(void) 
  25.     osThreadAttr_t attr = {0}; 
  26.     attr.name = "LedTask"
  27.     attr.stack_size = 512; 
  28.     attr.priority = 25; 
  29.  
  30.     //创建线程 启动任务 
  31.     if (NULL == osThreadNew((osThreadFunc_t)LedTask, NULL, &attr)) 
  32.     { 
  33.         printf("[LedExample] Falied to create LedTask! By sxfenglei.\n"); 
  34.     } 
  35.  
  36.     return NULL
  37.  
  38. SYS_RUN(LedEntry); 

BUID.gn文件内容

  1. #定义myapp静态库 
  2. static_library("myapp"){ 
  3.     #静态库源码 
  4.     sources = ["led.c"
  5.     #静态库包含的目录 
  6.     include_dirs = [ 
  7.         "//utils/native/lite/include"
  8.         "//kernel/liteos_m/kal/cmsis"
  9.         "//base/iot_hardware/peripheral/interfaces/kits"
  10.     ] 
【HarmonyOS开发板试用】之二Hi3861开发初探和环境搭建-鸿蒙HarmonyOS技术社区

开发感受

对于新手来说开发环境的搭建还是有一定难度,安装过device tool2 也安装了device tool 3前前后后搞了快一周也没搞成功(尴尬)能力限制了去体验一条龙服务,等有空了在研究下。

想了解更多内容,请访问:

51CTO和华为官方合作共建的鸿蒙技术社区

https://harmonyos.51cto.com

 

责任编辑:jianghua 来源: 鸿蒙社区
相关推荐

2021-12-15 15:28:18

鸿蒙HarmonyOS应用

2021-09-16 10:03:39

鸿蒙HarmonyOS应用

2020-12-09 09:44:29

Hi3861硬件介绍鸿蒙开发板

2020-10-29 09:53:06

Hi3861硬件开发板

2020-11-06 10:15:16

HiBurn

2020-12-31 12:22:15

鸿蒙Hi3861应用开发

2020-12-15 11:57:49

Hi3861 HarmonyOS开发板

2021-06-25 15:32:13

鸿蒙HarmonyOS应用

2020-10-30 17:42:36

鸿蒙 OS Hi386

2020-10-14 09:37:03

HiBurn鸿蒙.bin文件

2020-10-30 17:12:05

Hi3861

2020-12-17 10:02:16

鸿蒙Hi3861开发板

2020-10-30 09:48:03

Hi3861开发板get请求

2022-08-19 10:54:47

操作系统鸿蒙

2020-11-06 11:32:11

NV操作

2020-11-18 11:56:06

鸿蒙Hi3861

2020-10-27 10:08:19

Hi3861ADC驱动

2023-05-26 16:07:14

Hi3861Wifi模块

2020-12-08 12:36:41

Hi3861 ADC驱动开发

2020-12-11 12:45:04

鸿蒙Hi3861游戏
点赞
收藏

51CTO技术栈公众号