角宿-基于OpenHarmony成长计划知识赋能的学习笔记

​想了解更多内容,请访问:​

​51CTO和华为官方合作共建的鸿蒙技术社区​

​https://harmonyos.51cto.com​

引言

鉴于本人是北向开发,所以涉及到南向的资料目前暂不展开。同时自己觉得已经掌握且重要性没有那么高的文档暂不展开。Q&A这部分是特别有帮助的!

一、OpenHarmony开发者成长图谱

角宿-基于OpenHarmony成长计划知识赋能的学习笔记

1.基于HarmonyOS DevEco Service Playground的体验

web环境体验鸿蒙特性:HarmonyOS DevEco Service Playground

  • 【 秒级体验】 To- D o L i s t。特性:一次开发、多设备部署
  • 【 秒级体验】 联 系 人。特性:分布式任务调度,分布式远程设备通讯

这两个秒级案例,很直接很方便的呈现出一些基于OpenHarmony特性的案例,其中我对To-Do-List修改List的样式后,在手机,手表,平板的三台设备中List的样式都直接改变了。然后在第二个联系人的应用中,我只修改JS中的某个联系人的名字和电话,三台设备所呈现的页面也相应改变了。

  • 最后,在HarmonyOS DevEco Service Playground上还有6款应用,这些应用都是基于Web环境的,即可以很快的体验到。(基于设备开发和基于应用开发都有)

角宿-基于OpenHarmony成长计划知识赋能的学习笔记

二、从0到1,玩转 OpenHarmony

from:李传钊老师

号外:大家可以关注李传钊老师的B站账号,同时我也很期待4月份老师即将分享的OpenHarmony的完整运行框架!

角宿-基于OpenHarmony成长计划知识赋能的学习笔记

Part 1:什么是编程?

这一部分对我印象最深的是,编程是对真实世界的抽象,是0与1的构建,当然老师用三部电影举例,也特别的接地气。我认为编程的最终目的还是要作用在真实世界,无论是改造客观世界,还是改造主观世界。

Part 2;OpenHarmony是神马?

这里有个方法论:就是怎么快速了解新事物

  • 看它的定位
  • 跟同行比,看它的竞争对手

关于OpenHarmony的从三个方面去理解:

  • Kernel(内核):Fuchsia是谷歌的几年前推出的一个新的kernel,是微内核。
  • IOT OS(嵌入式操作系统):RTOS(实时性操作系统)结合特定的硬件完成特定的任务,然后把这东西烧录到硬件里,形成软硬件的一个整体。(注意:手机是嵌入式设备)
  • Mobile OS(移动手机操作系统):双寡头的格局(HarmonyOS没出来之前)

多内核设计及LiteOS-m/LiteOS-a内核:

角宿-基于OpenHarmony成长计划知识赋能的学习笔记

轻量和小型都对应是嵌入式设备,其区别最主要的是看有没有MMU,轻量系统就是没有MMU,小型系统就是有MMU。(标准系统上还是推荐Linux)

LiteOS-m是比较标准的实时操作系统的架构,比较轻量,简单适合控制一些小型的东西

LiteOS-a是实现了用户态和内核态的分离,让应用开发者写一些进程来控制逻辑,LiteOS-a比LiteOS-m复杂,但是比Linux简单

做设备开发基本用的是LiteOS-m,所以要做什么事情的时候务必需要理解LiteOS-m里面有啥东西

角宿-基于OpenHarmony成长计划知识赋能的学习笔记

角宿-基于OpenHarmony成长计划知识赋能的学习笔记

MMU是Memory Management Unit的缩写,中文名是内存管理单元,有时称作分页内存管理单元(英语:paged memory management unit,缩写为PMMU)。它是一种负责处理中央处理器(CPU)的内存访问请求的计算机硬件

Part 3:鸿蒙是什么?

关键:中国的操作系统

  • 鸿蒙是华为开发的操作系统
  • 鸿蒙是手机上除了iOS和安卓以外的选择
  • 鸿蒙是面向物联网的操作系统
  • 鸿蒙是面向全场景的分布式操作系统
  • 鸿蒙是属于中国的操作系统
  • OpenHarmony是开源操作系统

Part 4 :我们要干什么?

任务一:做APP

  • 2-4周学Java
  • 利用“数字管家”
  • 使用IDE把App安装到手机上

任务二:做硬件

  • 在开发板的基础上做硬件(开发板是产品PCB的前身,是用来做试验性开发)
  • 注入灵魂
  • 嵌入式开发与OpenHarmony南向开发是有区别的(看有没有安装OpenHarmony的套路去写程序)

任务三:做系统

  • 不只是一个孤立的设备
  • 设备与设备之间要有通信,要有协议
  • 设备与设备之间要有工作流程
  • 需要联调测试(手机与硬件联调测试)

Part 5:步骤与写代码用啥?编译用啥?烧录用啥?调试咋调试?

  • 写代码->编译->烧录->调试->写代码
  • 不断重复

角宿-基于OpenHarmony成长计划知识赋能的学习笔记

编译用啥:WSL2(安装简单->功能齐全->随叫随到->直接拷贝)

  • 安装Microsoft文档安装 WSL

角宿-基于OpenHarmony成长计划知识赋能的学习笔记

烧录用HiBurn(HiBurn是海思出的匹配最好)

  • 我看一篇帖子:海思入门笔记二:HiBurn工具实现镜像烧写
  • 选择allinone快速烧过去,可设置高波特率

调试是怎么调试:印象最深的是:程序出问题,百分之99是自己的代码问题!!

快速定位问题的方法:

  • 分类排除法
  • 逐次逼近法
  • 百度谷歌法
  • 场外救援法

Part 6:Q&A

  • 整个IT包括:软件,硬件,通信
  • 设备端主要是:C语言,C++都不是很好使
  • HDF驱动开发(看源码,学别人,尝试做)
  • OpenHarmony为什么不可以在Windows上编译:如果要在Windows上编译就需要用到MinGW,但Windows的命令行长度是有限制的,但OpenHarmony编译的命令行超出了这个限制,跑不下去。
  • OpenHarmony作为手机作为手机操作系统(大概是2022年)

MinGW,是Minimalist GNU for Windows的缩写。它是一个可自由使用和自由发布的Windows特定头文件和使用GNU工具集导入库的集合,允许你在GNU/Linux和Windows平台生成本地的Windows程序而不需要第三方C运行时(C Runtime)库。MinGW 是一组包含文件和端口库,其功能是允许控制台模式的程序使用微软的标准C运行时(C Runtime)库.

​想了解更多内容,请访问:​

​51CTO和华为官方合作共建的鸿蒙技术社区​

​https://harmonyos.51cto.com​

角宿-基于OpenHarmony成长计划知识赋能的学习笔记

© 版权声明

相关文章