从何着手OpenHarmony?从这里开始认识嵌入式开源鸿蒙操作系统

这篇具有很好参考价值的文章主要介绍了从何着手OpenHarmony?从这里开始认识嵌入式开源鸿蒙操作系统。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

首先,我们需要知道HarmonyOS与OpenHarmony是不同的概念,我们需要知道它们的区别:

        HarmonyOS是华为独家开发的,但华为在2020、2021年分两次将HarmonyOS的基础能力全部捐献给了开放原子开源基金会,形成了OpenHarmony开源项目,华为对开源鸿蒙没有控制权,当然华为仍将是开源鸿蒙的开发贡献者,同时也是AOSP、Linux、Eclipse等众多开源项目的贡献者,所以其实其他手机厂商也可以使用OpenHarmony,只是一旦你采用了鸿蒙,便一定程度上放弃了安卓,如果鸿蒙在生态上没能超越安卓,装了鸿蒙的手机就可能被安卓打败,并且OpenHarmony开放的只是HarmonyOS最基础的核心架构,想要在自家的手机上使用,需要投入大量精力在此基础上研发新系统,所以可以理解友商为何没有轻易采用鸿蒙。

        HarmonyOS 2是华为基于OpenHarmony 2.0开发的商业版本,HarmonyOS是闭源的,兼容了AOSP,增加了HMS,使其能适配运行安卓软件,我们能够拿到的OpenHarmony是不能直接兼容安卓的。

下图是OpenHarmony的技术架构

从何着手OpenHarmony?从这里开始认识嵌入式开源鸿蒙操作系统

我们嵌入式的主要关注内核层,我们根据硬件资源选择需要要移植的内核

内核层

  • 内核子系统:采用多内核(Linux内核或者LiteOS)设计,支持针对不同资源受限设备选用适合的OS内核。内核抽象层(KAL,Kernel Abstract Layer)通过屏蔽多内核差异,对上层提供基础的内核能力,包括进程/线程管理、内存管理、文件系统、网络管理和外设管理等。

  • 驱动子系统:驱动框架(HDF)是系统硬件生态开放的基础,提供统一外设访问能力和驱动开发、管理框架。

OpenHarmony有三种内核

针对不同量级的系统,分别使用不同形态的内核

  • 轻量级系统内核LiteOS-M
  • 小型系统内核LiteOS-A/Linux内核
  • 标准系统内核OpenHarmony Linux

        着重讲我接触过的LiteOS-M和OpenHarmony Linux,可分别跑在大小板上,形成包含上位机和下位机的项目

极小内核包含任务管理、内存管理、中断管理、异常管理和系统时钟。可裁剪的模块包括信号量、互斥锁、队列管理、事件管理、软件定时器等。 LiteOS支持 UP(单核)与 SMP(多核)模式,即支持在单核或者多核的环境上运行。

        其中LiteOS-M内核是面向IoT领域构建的轻量级物联网操作系统内核,具有小体积、低功耗、高性能的特点。其代码结构简单,主要包括内核最小功能集、内核抽象层、可选组件以及工程目录等。LiteOS-M已经支持ARM Cortex-M3、ARM Cortex-M4、ARM Cortex-M7、ARM Cortex-M33、RISC-V等主流架构,代表其可以运行在我们常用的STM32以及ESP系列 WIFI芯片上

 

从何着手OpenHarmony?从这里开始认识嵌入式开源鸿蒙操作系统

        上图是我在海思Hi3861WIFI芯片上运行LiteOS-M后总结的一个框架,可以发现跟我们单片机里的RTOS以及Linux内核是有相似之处的,并且我们搭建应用的时候可以移植开源的例程的内核与部分驱动层代码,不必从头搭建。

        LiteOS-A内核主要应用于小型系统,面向设备一般是M级内存,可支持MMU隔离,业界类似的内核有Zircon或Darwin等。LiteOS-A当前支持ARMv7-a指令集架构,如果三方芯片为ARMv7-a架构,可以进行内核基础适配。

OpenHarmony内核态层 = OpenHarmony Linux内核 + OpenHarmony内核态特性

而OpenHarmony Linux内核 = 标准LTS Linux内核 + 三方SoC芯片平台代码 +OpenHarmony内核态基础代码(支撑OpenHarmony内核层以上层级运行的最基础代码)

根据以上组合,我们可以通过两种途径获得:

1、OpenHarmony内核态层 = 三方Linux内核 + OpenHarmony内核态基础代码 + OpenHarmony内核态特性(如HDF,今后的HMDFS等)

2、OpenHarmony内核态层 = OpenHarmony Linux内核 + OpenHarmony内核态特性

其中方法1是比较实际的,能够较好地兼容三方芯片平台,即借助三方已有的Linux内核,来快速移植OpenHarmony

总结:

本文先帮助大家区分了HarmonyOS与OpenHarmony,并纠正可能对鸿蒙存在的偏见,然后从嵌入式开发者的角度介绍了开源鸿蒙的三种内核的组成及其特点,告诉大家选择什么样的硬件与内核来着手进行移植。更多的是概念性的东西,让大家对鸿蒙有整体的认知,帮助大家找到入手的方向,而与实操有关的内容,待我的后续介绍。文章来源地址https://www.toymoban.com/news/detail-444351.html

到了这里,关于从何着手OpenHarmony?从这里开始认识嵌入式开源鸿蒙操作系统的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • 详解从0开始的嵌入式学习路线,学什么、怎么学?

    嵌入式是个大筐,什么都可以往里面装,电子、机械、计算机、自动化、测控、通信、物联网……很多很多专业都和嵌入式沾边,硬件、驱动、操作系统、网络、应用、算法……很多同学越学越迷糊,越学越感觉什么也不会。 首先要记住一句话,嵌入式学习奥义: 先观其广

    2024年02月02日
    浏览(8)
  • 从零开始教你使用Clion优雅开发STM32(三)Clion嵌入式开发必备插件

    从零开始教你使用Clion优雅开发STM32(三)Clion嵌入式开发必备插件

    (一)软件安装与环境配置 (二)移植工程文件到其他芯片 (三)Clion嵌入式开发必备插件 文章目录 前言 1)Chinese(simplified) 2)CodeGlance Pro 3)File Watchers  4)Key Promoter X 5)CodeGlance Pro 6)Monokai Pro Theme 7)Rainbow Brackets Lite 8)Serial Port  Monitor 总结 前段时间,稚晖君用 Cl

    2024年02月06日
    浏览(7)
  • 如何开始着手一篇Meta分析 | Meta分析的流程及方法

    如何开始着手一篇Meta分析 | Meta分析的流程及方法

    Meta分析是针对某一科研问题,根据明确的搜索策略、选择筛选文献标准、采用严格的评价方法,对来源不同的研究成果进行收集、合并及定量统计分析的方法,最早出现于“循证医学”,现已广泛应用于农林生态,资源环境等方面。R语言拥有完整有效的数据处理、统计分析

    2024年02月07日
    浏览(7)
  • [嵌入式AI从0开始到入土]7_转化为昇腾支持的om离线模型

    [嵌入式AI从0开始到入土]7_转化为昇腾支持的om离线模型

    注:等我摸完鱼再把链接补上 可以关注我的B站号工具人呵呵的个人空间,后期会考虑出视频教程,务必催更,以防我变身鸽王。 第一章 昇腾Altas 200 DK上手 第二章 下载昇腾案例并运行 第三章 官方模型适配工具使用 第四章 炼丹炉的搭建(基于Ubuntu23.04 Desktop) 第五章 Ubunt

    2024年02月03日
    浏览(9)
  • (三)内核移植--从零开始自制linux掌上电脑(F1C200S)<嵌入式项目>

    (三)内核移植--从零开始自制linux掌上电脑(F1C200S)<嵌入式项目>

    目录 一、bootloader、kernel、rootfs联系 二、内核移植 1. 内核源码获取 2. 内核配置与编译 🍍 基础配置与编译 🍍 TF卡分区 🍍 内核烧录 三、参考内容 kernel可以理解为一个 庞大的裸机程序 ,和uboot以及其他比如点灯类似的裸机程序没有本质区别,只是kernel分为 用户态和内核态

    2024年02月15日
    浏览(30)
  • 【ChatGPT】从零开始构建基于ChatGPT的嵌入式(Embedding) 本地(Local) 智能客服问答机器人模型

      目录 方案流程 1. Embeddings 介绍 术语:微调 vs 嵌入

    2024年02月10日
    浏览(11)
  • [嵌入式AI从0开始到入土]14_orangepi_aipro小修补含yolov7多线程案例

    [嵌入式AI从0开始到入土]14_orangepi_aipro小修补含yolov7多线程案例

    注:等我摸完鱼再把链接补上 可以关注我的B站号工具人呵呵的个人空间,后期会考虑出视频教程,务必催更,以防我变身鸽王。 第1期 昇腾Altas 200 DK上手 第2期 下载昇腾案例并运行 第3期 官方模型适配工具使用 第4期 炼丹炉的搭建(基于Ubuntu23.04 Desktop) 第5期 炼丹炉的搭建

    2024年02月19日
    浏览(7)
  • k8s的坑,从这里开始

    k8s的坑,从这里开始

    转载说明:如果您喜欢这篇文章并打算转载它,请私信作者取得授权。感谢您喜爱本文,请文明转载,谢谢。 以前刚接触k8s时踩了不少坑,比如这些: 问题1 1、在master节点使用kubectl命令时,报错:The connection to the server localhost:8080 was refused - did you specify the right host or port? 原

    2024年01月19日
    浏览(12)
  • 智能生活从这里开始:数字孪生驱动的社区

    智能生活从这里开始:数字孪生驱动的社区

    数字孪生技术,这个近年来备受瞩目的名词,正迅速渗透到社区发展领域,改变着我们居住的方式、管理的方式以及与周围环境互动的方式。它不仅仅是一种概念,更是一种变革,下面我们将探讨数字孪生技术如何推动社区智能化发展。 社区智能化,从表面看,是让社区变得

    2024年02月07日
    浏览(8)
  • 嵌入式操作系统(嵌入式学习)

    嵌入式操作系统(嵌入式学习)

    嵌入式操作系统是一种专门设计和优化用于嵌入式系统的操作系统。它是在资源受限的嵌入式设备上运行的操作系统,如微控制器、嵌入式处理器和系统芯片等。 嵌入式操作系统的主要目标是提供对硬件资源的有效管理和对应用程序的调度,以实现系统的可靠性、实时性和效

    2024年02月10日
    浏览(7)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包