角宿-基于OpenHarmony成长计划知识赋能的学习笔记(1) 原创 精华

Der_带鱼
发布于 2022-1-26 14:18
浏览
2收藏

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

春节不停更,此文正在参加「星光计划-春节更帖活动」

Start Time: 26 January,2022

Author: Hairtail

Location: Gao Xing

引言

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

一、OpenHarmony开发者成长图谱

角宿-基于OpenHarmony成长计划知识赋能的学习笔记(1)-鸿蒙开发者社区

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成长计划知识赋能的学习笔记(1)-鸿蒙开发者社区

二、从0到1,玩转 OpenHarmony

from:李传钊老师

  • 号外:大家可以关注李传钊老师的B站账号,同时我也很期待4月份老师即将分享的OpenHarmony的完整运行框架!
  • 角宿-基于OpenHarmony成长计划知识赋能的学习笔记(1)-鸿蒙开发者社区

Part 1:什么是编程?

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

Part 2;OpenHarmony是神马?

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

    • 看它的定位
    • 跟同行比,看它的竞争对手
  • 关于OpenHarmony的从三个方面去理解:

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

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

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

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

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

    • 角宿-基于OpenHarmony成长计划知识赋能的学习笔记(1)-鸿蒙开发者社区

    • 角宿-基于OpenHarmony成长计划知识赋能的学习笔记(1)-鸿蒙开发者社区

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成长计划知识赋能的学习笔记(1)-鸿蒙开发者社区
  • 编译用啥:WSL2(安装简单->功能齐全->随叫随到->直接拷贝)
  • 烧录用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)库

©著作权归作者所有,如需转载,请注明出处,否则将追究法律责任
【从0到1玩转OpenHarmony】李传钊.pptx 4.04M 67次下载
OpenHarmony开发者成长图谱.pdf 1.82M 61次下载
已于2022-1-26 14:47:37修改
3
收藏 2
回复
举报
2条回复
按时间正序
/
按时间倒序
红叶亦知秋
红叶亦知秋

过年就决定跟着楼主学鸿蒙了

1
回复
2022-1-26 14:49:34
Der_带鱼
Der_带鱼 回复了 红叶亦知秋
过年就决定跟着楼主学鸿蒙了

太抬举了~都是老师给力,老师的直播和资料含金量高!倒是阔以一起互相学习鸿蒙!

回复
2022-1-26 16:21:44
回复
    相关推荐