更多内容请访问:Harmonyos.51cto.com,与华为官方共建的鸿蒙技术社区https://harmonyos.51cto.com组装过程说明收到51cto的HiSpark_Wi-Fi_IoT_Hi3861_CH340G开发板后,本文正式进入前期开发。注:相关设备来自鸿蒙科技社区【开发板漂移计划】提供开发环境我的开发编译环境mac+git+repo+vscode+docker我的烧录调试环境window+HiBurn+串口调试助手的开发环境搭建还是有点难度的。一开始对文档的各种操作充满信心,但都以失败告终。..最后我采用了我认为最方便的方式:docker+HiBurn和串口助手(主要的devicetools一站式开发工具一直没有成功),因为整个开发过程就是git拉取源码鸿蒙,vscode中的业务代码,在ubuntu下将源码编译成二进制,烧录到开发板,调试测试。docker环境用于拉取编译鸿蒙源码。git环境下需要安装git-lfs和repotoolide开发工具进行编码。使用串口调试助手HiBurn烧录工具进行调试。获取鸿蒙源码可以直接下载源码进行开发编译,不过这次是从gitPull1.安装python3.8在python官网找到3.8版本的安装包2.安装git和git-lfsbrewinstallgitbrewinstallgit-lfs#初始化git-lfsgitlfsinstall如果不安装git-fls,后面拉鸿蒙源码的时候会失败3.配置git和码云公钥#Configuregitgitconfig--globaluser.name"yourname"gitconfig--globaluser.email"your-email-address"gitconfig--globalcredential.helperstore#配置码云sshkey是公示你的电脑保存key到码云ssh-Tgit@gitee.com4.安装repo工具#如果你不没有权限,可以下载到其他目录,在环境变量curl-s中配置https://gitee.com/oschina/repo/raw/fork_flow/repo-py3>/usr/local/bin/repochmoda+x/usr/local/bin/repopip3install-ihttps://repo.huaweicloud.com/repository/pypi/simplerequests5。获取鸿蒙源码mkdirharmonyOsDevicecdharmonyOsDevicerepoinit-ugit@gitee.com:openharmony/manifest.git-bmaster--no-repo-verifyreposync-c#需要git开启git-lfsrepoforall-c'gitlfspull'编译环境(使用官方docker镜像包)1.安装Dockerformac,到docker官网下载2.获取编译环境dockerpullswr.cn-south-1.myhuaweicloud.com/o的docker镜像penharmony-docker/openharmony-docker:0.0.53。在源码根目录运行编译环境dockerrun-it-v$(pwd):/home/openharmonyswr.cn-south-1.myhuaweicloud.com/openharmony-docker/openharmony-docker:From0.0.5to至此,源码和编译环境已经准备好了(后面会有烧录和调试环境)。让我们尝试运行一个Helloworld。..初步开发1.编译业务代码(helloworld)随便找一个方便的编辑器,这里使用vscode,打开上面的源码目录harmonyOsDevice,在源码./applications/sample/wifi-iot/app目录下创建my_first_app目录并创建hello_world.c业务代码文件UILD.gn编译脚本文件hello_world.c文件内容#include#include"ohos_init.h"#include"ohos_types.h"voidHelloWorld(void){printf("[DEMO]Helloworldsxfenglei.\n");}SYS_RUN(HelloWorld);UILD.gn文件内容static_library("myapp"){sources=["hello_world.c"]include_dirs=["//utils/native/lite/include"]}最后修改./applications/sample/wifi-iot/app/UILD.gn文件的features数组(注意刚才创建的UILD.gn文件的区别)import("//build/lite/config/component/lite_component.gni")lite_component("app"){features=[#"startup","my_first_app:myapp",]}2.将源码编译成二进制文件,在dockerenviro中执行nment//设置环境hbset//指定源代码目录为当前目录//编译完成后会在out目录下生成对应的目录和文件hbbuild-f3。烧录二进制文件到开发板都是在mac下完成的,后面的操作都是在windows上完成的。你可以将编译后的最终out目录复制到windows或者共享。我使用共享目录;安装USB转串口驱动,连接HiSpark_Wi-Fi_IoT_Hi3861_CH340GWindows下在设备管理中查看串口号,打开HiBurn烧录(烧录完成后必须断开连接),连接后点击reset按钮开始烧录4.运行查看调试,打开调试助手和按reset运行日志信息可以看到刚才写的【demo】helloworldsxfenglei。5.控制WiFi版的LED灯闪烁。日志如上输出。下面,试试板卡LED控制下hello_world.c文件的内容#include#include"ohos_init.h"#include"cmsis_os2.h"#include"iot_gpio.h"#defineLED_GPIO9//参考开发板原理图,明确接线关系LED连接到pin9staticvoidLedTask(void*arg){(void)arg;//GPIOpininitializationIoTGpioInit(LED_GPIO);//Configurepin9asoutputIoTGpioSetDir(LED_GPIO,IOT_GPIO_DIR_OUT);while(1){//设置引脚输出状态IoTGpioSetOutputVal(LED_GPIO,0);osDelay(50);IoTGpioSetOutputVal(LED_GPIO,1);osDelay(50);}}staticvoidLedEntry(void){osThreadAttr_tattr={0};attr.name="LedTask";attr.stack_size=512;attr.priority=25;//创建线程启动任务if(NULL==osThreadNew((osThreadFunc_t)LedTask,NULL,&attr)){printf([LedExample]FaliedtocreateLedTask!Bysxfenglei.\n");}returnNULL;}SYS_RUN(LedEntry);BUID.gn文件内容#定义myapp静态库static_library("myapp"){#静态库源码sources=["led.c"]#静态库包含目录公司lude_dirs=["//utils/native/lite/include","//kernel/liteos_m/kal/cmsis","//base/iot_hardware/peripheral/interfaces/kits",]}开发经验是给初学者的环境搭建还是有难度的。我已经安装了devicetool2,也安装了devicetool3。我已经搞了将近一个星期没有成功(尴尬)。能力有限,体验一站式服务。我想在有时间的时候了解更多。更多信息请访问:https://harmonyos.51cto.com,与华为合作打造的鸿蒙技术社区