自学内容网 自学内容网

小熊派Nano|HarmonyOS初体验-LiteOS内核

        在这个万物互联的时代,操作系统作为连接硬件与应用的桥梁,其重要性不言而喻。华为推出的HarmonyOS(鸿蒙操作系统),自诞生以来便备受瞩目,它不仅承载着华为对未来智能生态的愿景,更以其独特的分布式技术,为用户带来了前所未有的使用体验。

        最近通过小熊派Nano开发板体验了鸿蒙体系中的一种Huawei LiteOS,Huawei LiteOS是华为面向IoT领域,构建的轻量级物联网操作系统,可广泛应用于智能家居、个人穿戴、车联网、城市公共服务、制造业等领域。Huawei LiteOS发布于2015年5月的华为网络大会上。自开源社区发布以来,围绕 NB-IoT 物联网市场从技术、生态、解决方案、商用支持等多维度使能合作伙伴,构建开源的物联网生态。

LiteOS官方地址:概览_LiteOS_华为云

一、BearPi_Nano

1. 简介

小熊派-HarmonyOS·(BearPi-HM Nano)是一款由小熊派专为HarmonyOS系统打造的HarmonyOS开发板。

官方资料教程连接小熊派开源社区/BearPi-HM_Nano

2. 环境搭建

快速上手教程:

applications/BearPi/BearPi-HM_Nano/docs/quick-start/BearPi-HM_Nano十分钟上手-gitee方式.md · 小熊派开源社区/BearPi-HM_Nano - Gitee.com

建议按照官方给的十分钟上手教程完成环境安装,也可以通过官方的教学视频自行配置环境,不过可能会出现比较多问题,如果没有linux相关基础建议直接使用官方提供的镜像,后期熟悉后可以尝试自己配置环境。后期的实验中将会经常用到以下工具以及命令:

二、初体验点灯

通过十分钟教程后已经完成了环境搭建以及和HarmonyOS的第一次互动(串口打印),不过对于初次拿到的板子还是更喜欢点亮LED。

1. 获取源码

在官方提供的手把手教程里面第三节中提供了多种源码下载的方式,多种方式里更喜欢利用从代码仓库获取需要提前准备gitee账号。

通过ssh工具连接ubuntu后具体命令如下:

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进行编辑。

通过vscode进入终端      

通过python命令编译(编译前要保持修改的内容)

4. 烧录

择对应的bin文件,利用HiBurn工具烧录


原文地址:https://blog.csdn.net/LJ_96/article/details/143772187

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!