小熊派Nano|HarmonyOS初体验-LiteOS内核
最近通过小熊派Nano开发板体验了鸿蒙体系中的一种Huawei LiteOS,Huawei LiteOS是华为面向IoT领域,构建的轻量级物联网操作系统,可广泛应用于智能家居、个人穿戴、车联网、城市公共服务、制造业等领域。Huawei LiteOS发布于2015年5月的华为网络大会上。自开源社区发布以来,围绕 NB-IoT 物联网市场从技术、生态、解决方案、商用支持等多维度使能合作伙伴,构建开源的物联网生态。
一、BearPi_Nano
1. 简介
小熊派-HarmonyOS·季(BearPi-HM Nano)是一款由小熊派专为HarmonyOS系统打造的HarmonyOS开发板。
- 采用IoTCluB的E53接口标准,可接入所有的E53案例扩展板。
- 主控为WiFi SOC Hi3861,160MHz主频,SRAM 352KB、ROM 288KB、2M Flash。
- 板载NFC Forum Type 2 Tag芯片及天线,可实现HarmonyOS“碰一碰”功能。
- 一根TypeC USB线,即可实现供电、下载、调试等多种功能。
官方资料教程连接小熊派开源社区/BearPi-HM_Nano
2. 环境搭建
applications/BearPi/BearPi-HM_Nano/docs/quick-start/BearPi-HM_Nano十分钟上手-gitee方式.md · 小熊派开源社区/BearPi-HM_Nano - Gitee.com
- SSH客户端工具(在Windows上远程连接服务器)
- RaiDrive软件(把ubuntu文件远程映射到Windows上)
- 编译命令:python build.py BearPi-HM_Nano
- Hiburn工具(下载工具)
二、初体验点灯
通过十分钟教程后已经完成了环境搭建以及和HarmonyOS的第一次互动(串口打印),不过对于初次拿到的板子还是更喜欢点亮LED。
1. 获取源码
在官方提供的手把手教程里面第三节中提供了多种源码下载的方式,多种方式里更喜欢利用从代码仓库获取需要提前准备gitee账号。
mkdir bp_gitee //新建一个文件夹
cd bp_gitee/ //进入文件夹
//进入要存放的文件夹后配置gitee然后克隆对应目录
git config --global user.name "gitee的用户名"
git config --global user.email "邮箱"
git clone https://gitee.com/bearpi/bearpi-hm_nano.git -b master
//根据网速快慢,需要等待一段时间
//编译代码
python build.py BearPi-HM_Nano
完成获取后通过RaiDrive将代码映射到本地(参照官网十分钟上手教程),拖入VScode中打开。
2. 新建业务文件夹
为点灯建立一个新的文件夹,applications\BearPi\BearPi-HM_Nano\sample中新建文件夹led,给文件夹存放点灯需要的文件,myled.c和BULID.gn。注意:新建文件夹的名字和C文件的名字后续会用到,我这里的文件夹名为led,C文件名为myled。
2.1. myled.c(业务代码)
将一下内容填入myled.c文件中,配置led点亮,后期会对硬件驱动进行详细研究。
#include <stdio.h>
#include <unistd.h>
#include "ohos_init.h"
#include "wifiiot_gpio.h"
#include "wifiiot_gpio_ex.h"
void LedTask(void)
{
//初始化GPIO
GpioInit();
//设置GPIO_2的复用功能为普通GPIO
IoSetFunc(WIFI_IOT_IO_NAME_GPIO_2, WIFI_IOT_IO_FUNC_GPIO_2_GPIO);
//设置GPIO_2为输出模式
GpioSetDir(WIFI_IOT_GPIO_IDX_2, WIFI_IOT_GPIO_DIR_OUT);
GpioSetOutputVal(WIFI_IOT_GPIO_IDX_2, 1);
}
/*参数为执行的函数名*/
APP_FEATURE_INIT(LedTask);
2.2. BUILD.gn(编译构建文件)
将如下内容写入BUILD.gn中,注意:static_library("led_example")中led_example名称后续会用到,sources中填入的是对应C文件的文件名。
static_library("led_example") {
sources = [
/*c文件的文件名*/
"myled.c"
]
include_dirs = [
"//utils/native/lite/include",
"//kernel/liteos_m/components/cmsis/2.0",
"//base/iot_hardware/interfaces/kits/wifiiot_lite",
]
}
2.3. 修改sample\BUILD.gn(模块编译构建文件)
import("//build/lite/config/component/lite_component.gni")
lite_component("app") {
features = [
"led:led_example",
"文件夹名:编译构建文件BUILD中static_library的入参"
]
}
3. 编译
通过VScode也可以下方终端工具也可以通过ssh访问Ubuntu,进入对应文件夹后输入python build.py BearPi-HM_Nano进行编辑。
4. 烧录
原文地址:https://blog.csdn.net/LJ_96/article/details/143772187
免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!