Hongmeng da China, Hongmeng do mundo

Às 18:18 de 10 de setembro de 2020, o código-fonte aberto Huawei Hongmeng HarmonyOS 2.0, o código foi doado para a Open Atom Open Source Foundation para incubação de código-fonte aberto, Hongmeng OS 2.0 estreou oficialmente.

Projeto de
código aberto OpenHarmony :https://www.openatom.org/openharmony
repositório de código: https://openharmony.gitee.com

A primeira versão lançada atualmente é compatível com dispositivos terminais de 128 KB-128 MB, como telas grandes, relógios e máquinas automotivas. A versão para celular do SDK, ferramentas, documentos e simuladores será lançada em dezembro deste ano; dispositivos terminais de 128 MB a 4 GB serão compatíveis em abril de 2021 ; Todos os dispositivos acima de 4 GB serão compatíveis em outubro de 2021. Em 2021, os smartphones Huawei serão totalmente atualizados para suportar o Hongmeng 2.0.
Hongmeng da China, Hongmeng do mundo
É relatado que a Huawei lançará os telefones móveis da série Mate 40 às 20 horas do dia 22 de outubro, que serão equipados com as versões de teste do sistema EMUI11 e Hongmeng, portanto, fique atento.

HarmonyOS é um sistema operacional distribuído voltado para o futuro e voltado para todos os cenários. HarmonyOS não só oferece suporte a telefones celulares, mas também a tablets, carros, telas inteligentes, PCs, relógios, alto-falantes, fones de ouvido, óculos e outros dispositivos de terminal (estratégia Huawei 1 + 8 + N) implantação flexível sob demanda, suporta desenvolvimento único, vários terminais implantar. O HarmonyOS leva as pessoas como o núcleo e os telefones celulares como o centro, criando novo hardware, novas interações e novos serviços, o que abrirá um novo mundo de cenários.

HarmonyOS e LiteOS

cartas

LiteOS é o sistema operacional IoT leve da Huawei para o campo IoT. Ele segue o contrato de licença de código aberto BSD-3 e tem os recursos de leve (o tamanho mínimo do kernel é de apenas 6 KB), baixo consumo de energia, interconexão, componentes ricos e desenvolvimento rápido. , Pode ser amplamente utilizado em casa inteligente, roupas pessoais, redes automotivas, serviços públicos urbanos, manufatura e outros campos, fornecendo aos desenvolvedores uma plataforma de software completa "one-stop", reduzindo efetivamente o limite de desenvolvimento e encurtando o ciclo de desenvolvimento. O LiteOS começou em 2012 como um sistema operacional integrado desenvolvido para oferecer suporte aos produtos de terminal da Huawei. Mais tarde, foi aplicado em lotes na série Huawei Mate, série P, telefones celulares da série Honor e produtos vestíveis. Foi lançado no Huawei HNC em 20 de maio de 2015 Anunciado oficialmente na webconferência. A versão de código aberto do Huawei LiteOS foi lançada em setembro de 2016, a versão V2.1 e o LiteOS SDK foram lançados em maio de 2018, e a ferramenta de desenvolvimento LiteOS IDE LiteOS Studio V1.0 foi lançada em setembro de 2018.
Hongmeng da China, Hongmeng do mundo

Kernel HarmonyOS

O HarmonyOS segue um design em camadas como um todo, de baixo para cima: camada de kernel, camada de serviço do sistema, camada de estrutura e camada de aplicativo.
Hongmeng da China, Hongmeng do mundo
HarmonyOS adota um design multi-core e suporta a seleção de diferentes kernels de SO para diferentes dispositivos com recursos limitados. O Kernel Abstract Layer (KAL) fornece recursos básicos do kernel para a camada superior, protegendo as diferenças de vários núcleos, incluindo gerenciamento de processos / threads, gerenciamento de memória, sistema de arquivos, gerenciamento de rede e gerenciamento de periféricos.

Atualmente, o OpenHarmony oferece dois kernels, liteos-a e liteos-m, que também possuem os recursos de RTOS e facilidade de uso do Linux. Entre eles, liteos_a é principalmente para processadores da série Cortex-A, que é adequado para dispositivos incorporados com recursos mais ricos; liteos_m é principalmente para processadores da série Cortex-M e é adequado para vários dispositivos com recursos mínimos, como MCUs. Em dezembro, o kernel Linux será suportado, compatível com mais dispositivos.

HarmonyOS integra LiteOS e não é construído em PPT. Tem muitos anos de precipitação de tecnologia da Huawei. HarmonyOS 1.0 foi aplicado ao Honor Smart Screen, EMUI 10.0, e realiza aplicativos como colaboração multitela, HiCar e conexão suave de dispositivos. O próximo EMUI 11 empresta a tecnologia do HarmonyOS 2.0, que trará uma experiência mais conveniente e rica. Os alunos interessados ​​podem comparar os dois códigos: kernel_liteos_a e LiteOS .

HarmonyOS 和 Fuchsia OS

O Google Fuchsia OS é um sistema operacional equivalente ao HarmonyOS. O Fuchsia apareceu pela primeira vez no Github em agosto de 2016. Ao contrário do Android e do Chrome OS, o Fuchsia não é baseado no kernel do Linux, mas no microkernel Zircon recentemente desenvolvido pelo Google. O Fuchsia é desenvolvido principalmente nas linguagens C / C ++ e Dart, e a maior parte da interface do usuário é construída usando Flutter.

HarmonyOS e Fuchsia OS são ambos uma nova geração de sistemas operacionais inteligentes, e Android e iOS estão fadados a declinar. O objetivo principal do HarmonyOS é substituir o Android, mas não apenas substituir o Android, mas um sistema operacional voltado para o futuro, de cenário completo e para vários dispositivos, que dará início a uma nova era de interconexão de tudo, que é a chave para a vitória. Após 15 anos de acumulação, o Android ocupa quase 87% da fatia do mercado global de smartphones e Hongmeng deve ter uma vantagem clara para substituí-lo.

A Huawei está empenhada em construir um ecossistema inteligente de cenário completo com software e hardware de tração em duas rodas. Em comparação com os concorrentes, a Huawei tem seu próprio ecossistema de aplicativos de software e hardware, com mais de 700 milhões de usuários finais. Os relógios e dispositivos portáteis de pulso da Huawei têm a maior participação de mercado do mundo, os relógios estão em segundo lugar no mundo e os tablets estão em terceiro no mundo. Isso pode garantir que o HarmonyOS possa É amplamente utilizado. O AppGallery da Huawei distribuiu aplicativos em mais de 190 países e regiões e tem mais de 400 milhões de usuários ativos mensais em todo o mundo. Ao mesmo tempo, a Huawei abrirá totalmente suas tecnologias principais, recursos de software e hardware para desenvolvedores e parceiros de ecossistema para construir um ecossistema aberto. Hongmeng será o primeiro sistema operacional comercial distribuído de cena completa do mundo.
Hongmeng da China, Hongmeng do mundo

Código-fonte OpenHarmony

Obtenha o código-fonte

O código OpenHarmony é aberto na forma de componentes e atualmente contém 17 subsistemas, 134 repositórios de código e 3 implementações de referência. Portanto, se você quiser entender a estrutura geral do código, é recomendável baixar o código completo do OpenHarmony do site espelho . Para outras necessidades, você também pode obtê-lo das seguintes maneiras:

  • Encontre uma solução que atenda às suas necessidades no site da hpm , selecione / corte os componentes e faça o download.
  • Use a ferramenta de linha de comando hpm-cli do HPM para obtê-lo.
  • Obtenha do repositório de código por meio de ferramentas repo ou git.

Para métodos específicos, consulte as instruções de download para obter o código-fonte do OpenHarmony .

Atualmente, a versão do Hongmeng OS é 2.0 e a versão do OpenHarmony é 1.0.Eu me pergunto se esta correspondência será mantida no futuro.

Diretório fonte

Estrutura de diretório do código completo do OpenHarmony
Nome do diretório descrição
formulários Aplicativos de amostra, incluindo wifi-iot, câmera, etc.
base Subsistema de serviço de software básico e conjunto de subsistema de serviço de hardware
Construir Scripts de compilação, construção e configuração de componentes
domínios Conjunto de subsistema de serviço de software aprimorado
motoristas Subsistema de unidade
Fundação Conjunto de subsistema de capacidade básica do sistema
núcleo Subsistema de kernel
pré-construídos Compilador e subsistema da cadeia de ferramentas
teste Subsistema de teste
terceiro Componentes de terceiros de código aberto
útil Ferramentas comuns
fornecedor Software fornecido pelo fabricante
build.py Arquivo de script de compilação

O formato da nomenclatura do projeto no depósito de código é: [nome do diretório] + [nome do subdiretório], por exemplo, os nomes dos projetos dos dois kernels LiteOS são kernel_liteos_a e kernel_liteos_m, e o nome do projeto do mecanismo JavaScript leve de terceiros JerryScript é third_party_jerryscript. Entre eles, os nomes dos projetos em base, domínios, fundação e teste (partes) omitem o diretório de nível superior, como startup_frameworks_syspara_lite, startup_hals_syspara_lite em base. A nomenclatura de alguns projetos não é padronizada. Por exemplo, a estrutura de desenvolvimento de aplicativos JS na base é denominada ace_lite_jsfwk e o caminho correspondente é ace / frameworks / lite. Espero que a Huawei possa unificar o método de nomenclatura.

Subsistema principal
sistema Introdução índice
Estrutura de desenvolvimento de aplicativos JS Implementação leve da estrutura de desenvolvimento de aplicativo JS, estrutura de desenvolvimento de aplicativo semelhante à web em plataforma cruzada, por meio do Toolkit para compilar e empacotar arquivos HTML, CSS e JS escritos por desenvolvedores em JS Bundle e, em seguida, analisar o JS Bundle em componentes C ++ UIKit View. Renderização. Oferece suporte ao desenvolvimento de aplicativos declarativos e atualizações de visualizações orientadas por dados. / Foundation / ace
DFX Inclui principalmente os recursos DFR (Design para confiabilidade, confiabilidade) e DFT (Design para testabilidade, testabilidade). Fornece estrutura DFX com componentes e personalizáveis ​​para diferentes arquiteturas de hardware e recursos. De acordo com diferentes plataformas de hardware de RISC-V, Cortex-M, Cortex-A, duas estruturas DFX leves diferentes são fornecidas / base / hiviewdfx
Certificação XTS Coleção de suíte de teste de certificação / test / xts
Globalização Fornece principalmente backtracking de recursos em vários idiomas e suporte em vários idiomas / base / global
Fundação pública Biblioteca de componentes básicos comuns / utils / native / lite 、 / base / iot_hardware 、 vendor / hisi / hi3861 / hi3861_adapter / hals / iot_hardware
Núcleo OpenHarmony内核,当前包含liteos_a和liteos_m /kernel、/drivers/liteos
分布式任务调度 管理跨设备组件,提供访问和控制远程组件的能力,支持分布式场景下的应用协同 /foundation/distributedschedule
分布式通信 实现近场设备间统一的分布式通信能力管理,提供不区分链路的设备发现和传输接口。包含服务发布、数据传输、安全等功能 /foundation/communication
启动恢复 负责在内核启动之后、应用启动之前的操作系统中间层的启动。支持使用LiteOS-A内核的平台 /base/startup
图形 主要包括UI组件、布局、动画、字体、输入事件、窗口管理、渲染绘制等模块,满足硬件资源较小的物联网设备的应用开发 /foundation/graphic/lite
媒体 提供多媒体应用开发接口,包括audio、camera、player、recorder等 /foundation/multimedia
安全 包括安全OS、秘钥管理和证书管理、加解密、签名验签、设备认证、应用权限管理等 /base/security
测试 开发测试框架 /test/developertest、/test/xdevice
用户程序框架 包含Ability子系统和包管理子系统 /foundation/aafwk、/foundation/appexecfwk
系统服务框架 屏蔽不同硬件架构和资源,提供统一的系统服务开发框架 /foundation/distributedschedule/interfaces/kits/samgr_lite、/foundation/distributedschedule/services/samgr_lite
编译构建 提供了在GN与ninja基础上的编译构建框架,支持构建不同芯片平台的产品、构建HPM包管理配置生成的自定义产品 /build/lite
驱动 提供弹性的框架、规范的驱动接口、组件化的驱动模型、统一的配置界面 /drivers/hdf

HarmonyOS开发

HarmonyOS采用C/C++、JS语言开发,应用开发支持Java、C/C++、JS等语言,设备开发支持C/C++、JS等语言。应用开发也称为北向开发,设备开发也称为南向开发。为什么这么称呼呢?想想地图方位,上北下南。

应用开发

华为开发者帐号
华为开发者帐号分为两种类型:个人开发者和企业开发者。

开发者类型 享受的服务/权益
个人开发者 应用市场、主题、商品管理、帐号、PUSH、新游预约、互动评论、社交、HUAWEI HiAI、手表应用市场等。
企业开发者 应用市场、主题、首发、支付、游戏礼包、应用市场推广、商品管理、游戏、帐号、PUSH、新游预约、互动评论、社交、HUAWEI HiAI、手表应用市场、运动健康、云测、智能家居等。
  1. 注册开发者帐号
    登录HarmonysOS应用开发门户,点击右上角注册按钮。如果您使用华为手机已有华为帐号,直接点击登录按钮,然后扫码登录即可。
  2. 实名认证
    使用DevEco Studio远程模拟器需要华为帐号进行实名认证。登录后点击头像->帐号设置->实名认证,个人开发者支持个人银行卡认证和身份证人工审核认证两种方式,推荐使用银行卡认证。

开发工具HUAWEI DevEco Studio
DevEco Studio基于IntelliJ IDEA Community开源版本打造,是面向华为终端全场景多设备的一站式集成开发环境。DevEco Studio支持Java、C/C++ 、JavaScript等多种语言,支持 FA(Feature Ability)和 PA(Particle Ability)快速开发,支持分布式多端开发、分布式多端调测、多端模拟仿真。DevEco Studio当前仅支持Windows10 64 位操作系统,即将支持macOS。

另外,若使用JS语言开发HarmonyOS应用需要安装Node.js,建议安装LTS版本。为提升npm安装速度,建议执行如下命令设置npm仓库地址:

npm config set registry https://mirrors.huaweicloud.com/repository/npm/

HarmonyOS SDK
HarmonyOS提供C/C++、JS、Java SDK包,Devco Studio提供SDK Manager统一管理SDK及工具链,下载SDK包时会自动下载其依赖的工具链。

点击菜单File > Settings,打开Settings配置界面,进入Appearance&Behavior > System Settings > HarmonyOS SDK,配置SDK和工具链。
Hongmeng da China, Hongmeng do mundo

SDK:

  • Native:C/C++语言SDK包,默认不自动下载,需手动勾选。
  • JS:JS语言SDK包,默认不自动下载,需手动勾选。
  • Java:Java语言SDK包,默认自动下载。

SDK工具链(SDK Tools):

  • Toolchains:应用开发必备工具集,包括编译、打包、签名、数据库管理等工具,首次下载SDK时默认下载。
  • Previewer:Lite Wearable预览器,在开发过程中可以动态预览Lite Wearable应用的界面,需手动勾选下载。

仿真模拟器
DevEco Studio提供远程模拟器(Remote Emulator)功能,可以在模拟器上运行TV、Wearable应用(Lite Wearable暂不支持在模拟器中运行,可以选择预览器运行和调试应用)。模拟器每次使用时长为1小时,到期后会自动释放资源。

在DevEco Studio菜单栏,点击Tools > HVD Manager,打开模拟器管理界面。首次使用模拟器,需下载相关资源。在浏览器弹出的华为帐号登录界面,输入已实名认证的华为帐号,登录授权后即可进入HVD Manager:
Hongmeng da China, Hongmeng do mundo
在设备列表中,选择设备,点击Hongmeng da China, Hongmeng do mundo按钮,运行模拟器。

HarmonyOS APP
DevEco Studio当前支持智慧屏、智能穿戴和轻量级智能穿戴三种设备的应用开发,可以根据工程向导创建各类设备的工程,并自动生成对应的代码和资源模板。
Hongmeng da China, Hongmeng do mundo

HarmonyOS应用发布形态为APP Pack(Application Package),它由一个或多个HAP(HarmonyOS Ability Package)包以及描述APP Pack属性的pack.info文件组成。
Hongmeng da China, Hongmeng do mundo

一个HAP在工程目录中对应一个Module,它由代码、资源、第三方库及应用清单文件组成,可以分为Entry和Feature两种类型。

  • Entry:应用的主模块。一个APP中,对于同一设备类型必须有且只有一个entry类型的HAP,可独立安装运行。
  • Feature:应用的动态特性模块。一个APP可以包含一个或多个feature类型的HAP,也可以不含。

Ability分为两种类型:FA(Feature Ability)和PA(Particle Ability)。其中,FA有UI界面,提供与用户交互的能力;PA无UI界面,提供后台运行任务的能力以及统一的数据访问抽象。FA/PA是应用的基本组成单元,能够实现特定的业务功能,支持跨设备调度与分发。

了解了基础知识来运行一个Hello World吧。

设备开发

开发工具 HUAWEI DevEco Device Tool
DevEco Device Tool是HarmonyOS面向智能设备开发者提供的Visual Studio Code插件,支持按需定制组件,支持代码编辑、烧录和调试等功能,支持C/C++语言,支持ARM架构的Hi3516/Hi3518系列和RISC-V架构的Hi3861系列开发板。

安装DevEco Device Tool插件前需先安装JDK 1.8、Node.js(请选择LTS版本)和hpm。

注意,安装Node.js后需配置NODE_PATH环境变量,值为:C:\Users{userName}\AppData\Roaming\npm\node_modules。

执行如下命令安装hpm:

npm install -g @ohos/hpm-cli

下载DevEco Device Tool安装包解压后,打开VS Code,点击Extensions -> Install from VSIX...,从本地磁盘安装DevEco Device Tool插件。
Hongmeng da China, Hongmeng do mundo
安装成功后,界面如下图所示:
Hongmeng da China, Hongmeng do mundo

HarmonysOS设备开发采用C/C++语言,还需为VS Code安装C/C++语言的插件。在VS Code的插件市场,输入“C/C++”,然后点击“Install”即可在线安装。

工具链
执行如下命令安装烧录依赖工具:

npm install -g tftp
npm install -g serialport
npm install -g @serialport/parser-readline

ARM系列开发板使用串口烧录时需安装Zadig工具。RISC-V系列开发板(Hi3861系列)支持使用Jlink和HiBurn工具两种烧录方式。其中使用Jlink工具烧录,开发者需自行下载安装Jlink工具;使用HiBrun工具烧录,DevEco Device Tool已预置HiBrun工具。

ARM系列(Hi3516和Hi3518)开发板使用GDB和LLDB两种调试方式,在启动代码调试前需安装调试工具:

调试类型 工具名称 获取说明
GDB OpenOCD 自动通过hpm进行安装
GDB gcc-arm-none-eabi 下载地址:https://www.gnu.org/software/gdb/download/ ,9.1及以上版本
LLDB llvm 从HarmonyOS源码包中获取

说明,经测试目前OpenOCD不能自动安装。

RSIC-V系列Hi3861开发板使用Jlink方式进行调试,需安装以下工具:

工具名称 获取说明
JlinkGDBServer 安装Jlink工具包时自动安装
hcc_riscv32 执行npm install -g @ohos/gcc_riscv32命令进行安装

导入工程
HarmonyOS暂不支持Windows系统源码,只能在Linux系统中进行编译,需将Linux下的工程目录映射到Windows下,然后使用DevEco Device Tool打开,并在Windows环境下进行烧录和调试。

映射配置好后,在Visual Studio Code中导入项目:
Hongmeng da China, Hongmeng do mundo

配置工程

  1. 点击底部工具栏中的“Board”按钮,选择开发板的配置模板,例如:Hi3516DV300:

Hongmeng da China, Hongmeng do mundo

Uma vez selecionado, o arquivo bundle.json será criado automaticamente.

  1. Clique no botão Configurar na barra de menu à esquerda para definir o caminho "Caminho de instalação padrão" para armazenar a cadeia de ferramentas para instalação automática do hpm.

Hongmeng da China, Hongmeng do mundo

  1. Clique no botão "Ferramentas dependentes instaladas incorretamente" na barra de ferramentas inferior para verificar se as ferramentas das quais o projeto depende estão definidas corretamente.
    • Se a ferramenta cuja "Instalação automática" é "Sim" não estiver instalada, o DevEco Device Tool será baixado automaticamente do hpm
    • Se a ferramenta cuja "Instalação automática" é "Não" não estiver instalada, uma caixa de prompt aparecerá no canto inferior direito, exigindo que o desenvolvedor a configure manualmente em Compilar, Gravar e Depurar.
Ferramenta Auto-instalar Instalado
Harmoniabi sim Não
mtd-utils-tool sim Não
mingw sim Não
Pitão Não Não
openocd sim Não
gcc-arm-none-eabi sim Não

Observação: após o teste, nenhuma das ferramentas acima é fornecida em hpm. A versão atual não oferece suporte à compilação de código-fonte no ambiente Windows e você não precisa prestar atenção mesmo se o download falhar.

Para obter mais informações sobre o desenvolvimento de dispositivos, consulte o site oficial do HarmonyOS.

"Harmonia" significa harmonia, unidade mundial, harmonia e simbiose, que é a filosofia que a civilização chinesa sempre defendeu. "Hongmeng" tem o significado da criação de Pangu. "Hongmeng é o inocente original, quebrando o vazio teimoso e Wukong". A ecologia de Hongmeng acaba de começar. Ela precisa dos esforços conjuntos da Huawei e de empresas nacionais e estrangeiras e da promoção conjunta de muitos Wukongs para construir um mundo mais colorido . O Hongmeng da Huawei, o Hongmeng da China, certamente se tornará o Hongmeng do mundo.

Hongmeng da China, Hongmeng do mundo

Referência

Site oficial do Hongmeng HarmonyOS
Open Atom Open Source Foundation-OpenHarmony Project

Acho que você gosta

Origin blog.51cto.com/7308310/2541796
Recomendado
Clasificación