openharmony轻量系统开发初始openharmony

润和HiHope社区 润和HiHope社区     2023-03-09     294

关键词:

本文简单介绍OpenHarmony、轻量系统、小型系统、标准系统的差异,以及相关的官方资料和文档
适合群体:第一次接触OpenHarmony、或者想要对OpenHarmony有一个全面的认知的。

后续将给大家陆续分享轻量系统开发相关内容

目录:

OpenHarmony轻量系统开发【1】初始OpenHarmony

OpenHarmony轻量系统开发【2】源码下载和开发环境

OpenHarmony轻量系统开发【3】代码编译和烧录

OpenHarmony轻量系统开发【4】编写第一个程序、启动流程分析

OpenHarmony轻量系统开发【5】驱动之GPIO点灯

OpenHarmony轻量系统开发【6】驱动之ADC按键

OpenHarmony轻量系统开发【7】驱动之I2C显示OLED屏幕

OpenHarmony轻量系统开发【8】其它驱动开发示例

OpenHarmony轻量系统开发【9】WiFi之STA模式连接热点

OpenHarmony轻量系统开发【10】编写自己的软件包

1.1系统类型
OpenHarmony是由开放原子开源基金会(OpenAtom Foundation)孵化及运营的开源项目,目标是面向全场景、全连接、全智能时代,基于开源的方式,搭建一个智能终端设备操作系统的框架和平台,促进万物互联产业的繁荣发展。
官方gitee仓库


技术架构如下:

关于系统的特性,这里不再过多赘述,开发者可以直接在 官方gitee仓库中查看。特别是内核层的多内核设计、HDF驱动框架、分布式能力等。

1.2系统类型
OpenHarmony是一个面向全场景,支持各类设备的系统。这里的设备就包括像MCU单片机这样资源较少的芯片,也支持像RK3568这样的多核CPU。
为了能适应各种硬件,OpenHarmony提供了像LiteOS、Linux这样的不同内核,并基于这些内核形成了不同的系统类型,同时又在这些系统中构建了一套统一的系统能力。
总体来说,目前OpenHarmony主要有3种系统类型:L0(又称轻量系统)、L1(小型系统)、L2(标准系统)。


(1)轻量系统(mini system)
面向MCU类处理器例如Arm Cortex-M、RISC-V 32位的设备,硬件资源极其有限,支持的设备最小内存为128KiB,可以提供多种轻量级网络协议,轻量级的图形框架,以及丰富的IOT总线读写部件等。可支撑的产品如智能家居领域的连接类模组、传感器设备、穿戴类设备等。典型的设备、开发板有HI3861鸿蒙小车、Neptune开发板,如下:

 

(2)小型系统(small system)
面向应用处理器例如Arm Cortex-A的设备,支持的设备最小内存为1MiB,可以提供更高的安全能力、标准的图形框架、视频编解码的多媒体能力。可支撑的产品如智能家居领域的IP Camera、电子猫眼、路由器以及智慧出行域的行车记录仪等。典型的开发板有AI Camera开发板,如下:
 

 
(3)标准系统(standard system)
面向应用处理器例如Arm Cortex-A的设备,支持的设备最小内存为128MiB,可以提供增强的交互能力、3D GPU以及硬件合成能力、更多控件以及动效更丰富的图形能力、完整的应用框架。可支撑的产品如高端的冰箱显示屏。典型的设备有大禹200开发板,如下:
 

 
1.3内核类型
OpenHarmony支持多种内核,目前已适配的内核有liteos-m、liteos-a、Linux(有4.19和5.10版本)。
内核与系统类型的对应关系如下图:

轻量系统目前适配了liteos-m内核,该内核对硬件资源较少,适用于单片机。
小型系统目前适配了liteos-a和Linux 2种内核,开发者可以选择合适的内核进行产品开发。
标准系统目前适配了Linux内核,开发者可以基于linux kernel演进。

1.4系统差异
轻量系统、小型系统、标准系统的差异主要体现在子系统支持程度上,本文已列出如下,但是建议读者直接查看官网,以便获取最新的特性支持情况。

openharmony轻量系统开发源码下载和开发环境

本文简单介绍OpenHarmony开发环境,代码下载、版本更新日志等。适合群体:想要上手开发OpenHarmony设备2.1源码下载关于源码下载的,读者可以直接查看官网:本文这里做下总结:(1)注册码云gitee账号。... 查看详情

openharmony编译构建系统详解,从零搭建windows下开发环境,巨方便!(代码片段)

自从OpenHarmony更新了dev-tool,就可以在windows下构建鸿蒙(轻量型)系统了,这对于进行MCU开发的朋友们,学习鸿蒙OS会友好许多!我们可以更快的构建出系统,方便快速学习和验证。不过关于这个开发环... 查看详情

#盲盒+码##跟着小白一起学鸿蒙#如何编译openharmony自带app(代码片段)

如何编译OpenHarmony自带APP作者:王石概述OpenHarmony的主干代码是开源社区的重要学习资源,对于想进行应用开发和熟悉OpenHarmony能力的同学主干代码是非常重要的资源,在主干代码的applications目录里聚集了很多原生的应用实现,那... 查看详情

ffhopenharmony设备开发-小熊派nano3.1系统复现串口(代码片段)

前言当前小熊派Nano官方给的源码是OpenHarmony1.0,而OpenHarmony2.x和3.x都有对轻量化系统增加了新的特性,因此想尝试一下为Nano板烧录OpenHarmony3.1的系统(虽然都没用上新特性emm),并复现串口收发demo.OpenHarmony2.x和3.x新增特性:新增轻量级... 查看详情

#打卡不停更#-openharmony/docs开发入门(代码片段)

作者:朱子道杨成前言不管是作为软件开发的爱好者还是已经从事软件开发这个行业的从业者,对于接触一种全新的系统OpenHarmony。学习OpenHarmony,需要清楚OpenHarmony这个系统是什么,能干什么,今日分享从设备开发和应用开发两... 查看详情

openharmony标准系统内核学习cpu轻量级隔离特性(代码片段)

(目录)CPU轻量级隔离特性基本概念CPU轻量级隔离特性提供了根据系统负载和用户配置来选择合适的CPU进行动态隔离的能力。内核会将被隔离CPU上的任务和中断迁移到其他合适的CPU上执行被隔离的CPU会进入ilde状态,以此来达到功耗... 查看详情

openharmony媒体子系统详解(代码片段)

1、OpenHarmony媒体子系统     Openharmony媒体子系统为开发者提供一套简单且易于理解的接口,使得开发者能够方便接入系统并使用系统的媒体资源。2、OpenHarmony媒体子系统常用功能   Openharmony媒体子系统包含了音视频、相... 查看详情

汇顶科技gr551x系列开发板已支持openharmony

作为OpenAtomOpenHarmony(简称“OpenHarmony”)社区单BLE的轻量级设备,汇顶科技GR551x系列低功耗蓝牙开发板已经顺利通过OpenHarmony兼容性工作组的兼容性测试审核,正式完成合入OpenHarmony主干分支(master分支)... 查看详情

最新openharmony系统一二级目录整理(代码片段)

最新OpenHarmony系统一二级目录整理坚果:润开鸿技术专家,华为HDE,InfoQ签约作者,OpenHarmony布道师,擅长HarmonyOS应用开发、跨平台Flutter开发、熟悉服务卡片开发、小程序开发、GO的相关开发。开源项目gin-vue-admin成员之一,先后在C... 查看详情

基于openharmony/harmonyos操作系统的arkui框架——harmony原生开发

一.基于OpenHarmony/HarmonyOS操作系统的ArkUI框架——Harmony原生开发开发需要的IDE:1.1什么是ArkUI框架?ArkUI是一套构建分布式应用界面的声明式UI开发框架。它使用极简的UI信息语法、丰富的UI组件、以及实时界面预览工具,帮助您提... 查看详情

openharmony应用开发技巧-如何安装serviceextensionability

概述文档环境开发环境:Windows11DevEcoStudio版本:DevEcoStudio3.1Beta1(3.1.0.200)SDK版本:3.2.10.7(OpenHarmony3.2Beta5FullSDK)应用模型:Stage开发板型号:DAYU200系统版本:OpenHarmony3.2Beta5示例工程:​​ServiceExtAbility的创建与使用(OpenHarmony3.2... 查看详情

openharmony开发环境搭建(代码片段)

开发环境:开发系统:Ubuntu20.04开发板:Pegasus物联网开发板MCU:Hi3861OpenHarmony版本:3.0.1-LTS本文将介绍如何搭建OpenHarmony开发环境,OpenHarmony主要在Linux平台上开发,因此需要使用Linux环境开发,要想... 查看详情

openharmony视频开发(代码片段)

1.简介    OpenHarmony视频播放的主要工作是将视频数据转码并输出到设备进行播放,同时管理播放任务,包括开始播放、暂停播放、停止播放、资源释放、音量设置、跳转播放位置、设置倍数、获取轨道信息等功能控制... 查看详情

openharmony富设备移植指南从postmarketos获取移植资源

开篇引言安卓设备的引导需要boot.img镜像,其中含有内核镜像,设备树,boot配置文件,initrd.img根文件系统镜像,开发板因为是开发用途,系统引导基本没有限制,而成品安卓手机往往有各种限制,我们需要通过刷入postmarketOS进... 查看详情

openharmony标准系统实践之gdb调试(代码片段)

作者:赵军霞1.简介OpenHarmony系统层代码大部分是C++实现的,运用了C++继承多态等特性,使得代码框架灵活,但是对于开发者代码走读,整理实现逻辑不太友好。利用GDB调试导出调用栈、查看中间变量状态,则能帮助开发者快速... 查看详情

龙架构(loongarch)平台已初步支持openharmony操作系统

日前,在龙芯中科与润和软件共同努力下,OpenHarmony操作系统与龙芯2K0500开发板完成适配验证,龙架构(LoongArch)平台对于OpenHarmony已形成初步支持,万物互联的生态体系与龙芯平台即将全面连接。OpenHarmony... 查看详情

龙架构(loongarch)平台已初步支持openharmony操作系统

日前,在龙芯中科与润和软件共同努力下,OpenHarmony操作系统与龙芯2K0500开发板完成适配验证,龙架构(LoongArch)平台对于OpenHarmony已形成初步支持,万物互联的生态体系与龙芯平台即将全面连接。OpenHarmony... 查看详情

openharmony内核学习[1]--单独编译openharmony标准系统内核(代码片段)

内核是操作系统的核心,学习掌握OpenHarmony内核对于开发人员至关重要。笔者整理学习OpenHarmony标准系统内核笔记如下:阅读本文大约需要15分钟。(目录)OpenHarmony标准系统内核OpenHarmony标准系统类设备(参考内存≥128MiB),OpenHarmo... 查看详情