小熊派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开发板。

  • 采用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

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

  • SSH客户端工具(在Windows上远程连接服务器
  • RaiDrive软件(把ubuntu文件远程映射到Windows上)
  • 编译命令:python build.py BearPi-HM_Nano
  • Hiburn工具(下载工具)

二、初体验点灯

通过十分钟教程后已经完成了环境搭建以及和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)
{//初始化GPIOGpioInit();//设置GPIO_2的复用功能为普通GPIOIoSetFunc(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工具烧录

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/19433.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

Linux基础(二十一)——认识系统服务(daemons)

认识系统服务 &#xff08; daemons&#xff09; 1.daemon 与服务 &#xff08; service&#xff09;2. systemd3. systemctl4. systemctl 配置文件 1.daemon 与服务 &#xff08; service&#xff09; 在 Linux 和类 Unix 系统中&#xff0c;daemon&#xff08;守护进程&…

QT QChart+Eigen库绘制线性回归散点图

QChart+Eigen库绘制线性回归散点图 老套路,一图胜千言 项目结构 代码 mainwindow.h #ifndef MAINWINDOW_H #

uniapp开发微信小程序笔记4-自定义组件

前言&#xff1a;本文重点记录的是uniapp如何封装一个自定义组件&#xff0c;以swiper组件为例。 一、创建组件目录 官方文档中的easycom组件规范中可以看到这样一句话&#xff1a; 只要组件安装在项目的components目录下或uni_modules目录下&#xff0c;并符合components/组…

(三)反向传播 Backpropagation

文章目录 反向传播Backpropagation&#xff08;1&#xff09;Chain Rule&#xff08;2&#xff09;Forward pass和Backward pass 反向传播Backpropagation 对于计算Gradient Descent这件事情&#xff0c;我们的neural network是有非常非常多的参数&#xff0c;可能有上百万个参…

Dowex 50WX8 ion-exchange resin可以用于去除水中的金属离子(如钠、钾、镁、钙等)和其他杂质,提高水质,11119-67-8

一、基本信息 中文名称&#xff1a;Dowex 50WX8 离子交换树脂 英文名称&#xff1a;Dowex 50WX8 ion-exchange resin CAS号&#xff1a;11119-67-8 供应商&#xff1a;陕西新研博美生物科技 外观&#xff1a;米色至浅棕色或绿棕色粉末/微球状 纯度&#xff1a;≥95% 分子…

国标GB28181视频平台EasyCVR视频融合平台H.265/H.264转码业务流程

在当今数字化、网络化的视频监控领域&#xff0c;大中型项目对于视频监控管理平台的需求日益增长&#xff0c;特别是在跨区域、多设备、高并发的复杂环境中。EasyCVR视频监控汇聚管理平台正是为了满足这些需求而设计的&#xff0c;它不仅提供了全面的管理功能&#xff0c;还支持…

一家餐饮企业,「闯入」AI阵地

作者| 皮爷 出品|产业家 “我们需要用AI来帮助我们门店破除内卷的状态。”一位连锁餐饮品牌告诉产业家&#xff0c;“这也是我们想尽快把AI用起来的原因&#xff0c;看看能不能带来一些帮助。” 这种情况正发生在一众餐饮企业中。 与这种情况对应的一个背景是&#xff0c…

基于YOLOv8深度学习的智慧社区建筑外墙破损(裂缝、露筋、剥落)检测系统研究与实现(PyQt5界面+数据集+训练代码)

随着智慧社区的发展&#xff0c;对建筑结构健康状况的实时监测变得愈发重要。在此背景下&#xff0c;建筑外墙破损&#xff08;如裂缝、露筋和剥落&#xff09;等问题对建筑物整体结构的安全性和耐久性构成了严重威胁&#xff0c;及时、准确地检测这些问题变得尤为关键。传统的…

单片机UART协议相关知识

概念 UART&#xff08;Universal Asynchronous Receiver/Transmitter&#xff0c;通用异步收发传输器&#xff09; 是一种 异步 串行 全双工 通信协议&#xff0c;用于设备一对一进行数据传输&#xff0c;只需要两根线&#xff08;TX&#xff0c;RX&#xff09;。 异步&…

Python模块、迭代器与正则表达式day10

1、Python模块 1.1模块的简介 在编写代码的时候&#xff0c;创建的.py文件就被称为一个模块 1.2模块的使用 想要在a文件里使用b文件的时候&#xff0c;只要在a文件中使用关键字import导入即可 1.2.2 from ...import...语句 导入模块可以使用import&#xff0c;如果只导入模…

DDD架构设计知道(1)

看过很多人写架构设计的文章&#xff0c;绝大多数都是站在企业的角度谈“术”的层面。而当今的时代社会特别是00后门更多的会站在个人的角度&#xff0c;去看架构设计。个体和超级单体时代也已经来临&#xff0c;很多传统意义上的企业管理模式也在改变。所以如果架构设计面对当…

ubuntu下连接了192.168.1.x和192.168.2.x两个网络段,如何让这个两个网段互相通信?

在 Ubuntu 上连接两个网络段&#xff08;如 个人终端A 192.168.1.10 和 个人终端B 192.168.2.10&#xff09;&#xff0c;需要配置路由和网络转发功能&#xff0c;使这两个网段能够相互通信。以下是实现方法&#xff1a; 步骤 1&#xff1a;确认网络配置 1. 确保 Ubuntu 机器…

Shell脚本5 -- 脚本与用户交互read

声明&#xff1a; 本文的学习内容来源于B站up主“泷羽sec”视频【shell编程&#xff08;4&#xff09;脚本与用户交互以及if条件判断】的公开分享&#xff0c;所有内容仅限于网络安全技术的交流学习&#xff0c;不涉及任何侵犯版权或其他侵权意图。如有任何侵权问题&#xff0c…

mysql5.7主从问题记录

项目运行一段时间后突然打印如下异常信息。 由于现场环境和数据库是客户提供&#xff0c;看异常提示一直以为是代码问题&#xff0c;导致锁表。 通过逐步排查之后发现&#xff0c;是binlog把磁盘占满了&#xff0c;让客户的DBA设置了一下就恢复。 当设置了主从同步之后&…

使用卷积自编码器进行图像重构

1. 自编码器简介 自编码器&#xff08;Autoencoder&#xff09;是一种无监督学习的神经网络模型&#xff0c;旨在学习数据的有效表示。自编码器的主要组成部分包括编码器和解码器&#xff0c;二者共同工作以实现数据的压缩和重构。以下是自编码器的详细介绍&#xff1a; 1.1 …

鸿蒙实战:页面跳转传参

文章目录 1. 实战概述2. 实现步骤2.1 创建鸿蒙项目2.2 编写首页代码2.3 新建第二个页面 3. 测试效果4. 实战总结 1. 实战概述 本次实战&#xff0c;学习如何在HarmonyOS应用中实现页面间参数传递。首先创建项目&#xff0c;编写首页代码&#xff0c;实现按钮跳转至第二个页面并…

恶意代码分析入门--静态分析(chapter1_Lab01-01)

恶意代码分析-工具收集 - 17bdw - 博客园 (cnblogs.com) 实验环境&#xff1a;Lab 1-1 这个实验使用Lab01-01.exe和Lab01-01.dll文件&#xff0c;使用本章描述的工具和技术来获取 关于这些文件的信息。 操作环境 操作场景&#xff1a; windows xp sp3 实验工具&#xff1a; PEi…

【操作系统不挂科】<信号量(9)>选择题(带答案与解析)

前言 大家好吖&#xff0c;欢迎来到 YY 滴操作系统不挂科 系列 &#xff0c;热烈欢迎&#xff01; 本章主要内容面向接触过C的老铁 本博客主要内容&#xff0c;收纳了一部门基本的操作系统题目&#xff0c;供yy应对期中考试复习。大家可以参考 本章为选择题题库&#xff0c;试卷…

服务器数据恢复—raid5阵列故障导致上层系统分区无法识别的数据恢复案例

服务器数据恢复环境&#xff1a; 某品牌DL380服务器&#xff0c;服务器中三块SAS硬盘组建了一组raid5阵列。服务器安装Windows Server操作系统&#xff0c;划分了3个分区&#xff0c;D分区存放数据库&#xff0c;E分区存放数据库备份。 服务器故障&#xff1a; RAID5阵列中有一…

【ARM】MDK在debug模式下的Registers窗口包含哪些内容

【更多软件使用问题请点击亿道电子官方网站】 1、 文档目标 解决客户对于Debug模式下&#xff0c;对于Registers窗口包含的内容了解。 2、 问题场景 Registers窗口是在进入到debug模式下后&#xff0c;就会出现一个窗口。窗口中包含了很多寄存器信息。但是对于具体内容不了解…