《鸿蒙开发板外设控制》直播答疑(初学者必看)

系统
文章由鸿蒙社区产出,想要了解更多内容请前往:51CTO和华为官方战略合作共建的鸿蒙技术社区https://harmonyos.51cto.com/#zz

[[350814]]

想了解更多内容,请访问:
51CTO和华为官方合作共建的鸿蒙技术社区
https://harmonyos.51cto.com

1 . 这套开发板上面可以进行其他操作系统的移植么?

答:理论上,可以在Hi3861上移植其它操作系统,只要目标操作系统适配到硬件,并且做好必要剪裁即可。Hi3861的本质是基于risc-v架构的硬件系统,所以支持这种硬件架构的操作系统均可移植。

2. GN脚本都学点什么,能快速入门。

答:gn是一种现代化的跨平台编译构建工具,之所以强调“现代”是因为它能做的事别的工具也能做,如:make 和 cmake。

这几种工具从年代上看有这样的进化关系: make->cmake->gn。

make的跨平台不太完善,所以有了cmake,用cmake屏蔽不同平台make的差异,cmake对于大型项目有些吃力,所以有了gn。

因此,要学好gn构建编译,建议把make和cmake先了解了解。

对于使用gn的大型项目来说(如:鸿蒙),一般分为3大块:

1) 整体工程入口(一次编写,常年不改)

2) gn通用文件(一次编写,常年不改)

3) gn源代码工程文件(用于具体项目模块,管理源码文件和头文件)

掌握以上内容,并且能编写鸿蒙板载应用程序,就算已经入门。

官方文档:https://gn.googlesource.com/gn/

3. 一直用MCU裸跑,对操作系统还是懵懂状态,很想知道操作系统和硬件如何关联起来的?

答:操作系统就是硬件系统和软件系统的关联层,提供各种服务帮助软件使用硬件,建议学习一下与操作系统相关的课程(可以看看我的操作系统课程)。

4. 目前鸿蒙支持的芯片只有海思的吗?这样的话后期的发展空间是不是限制很多?

答:鸿蒙从设计上是一个“多内核”操作系统,理论上可以支持各种硬件设备。目前韦东山老师已经将鸿蒙移植到了IMX6ULL和STM32。

5. 电脑连着板子搞东西电脑真的不会爆炸吗?比如板子上哪里搞得不对或者零件焊的不好啥的。。。

答:我个人经验不会爆炸,只是可能搞不好板子成砖头。。。如果电脑那么容易爆炸,我会第一个转行卖相关保险。

6. 鸿蒙以后可以应用到哪些领域?相比其他操作系统有什么优势?学习鸿蒙可以带来就业岗位吗?

答:鸿蒙的目标很明确:各种嵌入式设备(物联网设备,手持设备,车载设备,等)。理论上通过“换内核”可以应用于任意领域的设备和产品。

在我个人看来,如果持续保持现在的推广力度和社区活跃度,未来会出现一个鸿蒙相关技能需求井喷的时期。

7. 请问鸿蒙OS和华为的LiteOS区别是什么呢?

答:LiteOS是一种内核,鸿蒙可以使用这种内核(支持多种内核)。

8. 鸿蒙OS可以运行在一般的单片机中吗?

答:物联网领域是鸿蒙瞄准的领域之一,而物联网设备多数为单片机设备,只需要一些移植工作,鸿蒙运行于一般单片机是可以的(如:STM32)。

9. 对鸿蒙充满憧憬、觉得鸿蒙会在物联网大展身手、以后物联网会如现在的互联网一样发展迅猛,出现各种巨头吗?那现在学鸿蒙是不是抢先机?

答:物联网的本质还是互联网(Internet Of Things),只不过以前谈到“互联网”的时候是指把人联系起来的网络。现在,“把人联系起来的网络”应用日趋成熟,所以,下一步就是互联网进军设备的世界了,形成把设备联系起来的网络。

我个人认为,物联网是下一片蓝海,各大巨头企业都会进军这片蓝海,建议现在的开发者提前充实自己,准备好相关技术,为自己的职业发展做好准备。

10. 鸿蒙的开发板与其他开发板对比,优势在哪里?

答:目前我们能拿到的智能家居套件Hi3861只是首批支持鸿蒙OS的开发板之一,与其它开发板相比,功能相对单一,优势不明显。

11. 用鸿蒙做嵌入式开发和手机开发,开发框架和环境都是一样的吗?

答:鸿蒙OS嵌入式开发(设备开发)涉及到具体的交叉编译环境,在代码编辑和编译上有较大的可选择性;而鸿蒙手机开发(富应用开发)有官方提供的完整开发框架和开发环境(唯一性)。另外,语言上也不同,鸿蒙嵌入式开发主要是C语言,手机开发主要是Java/JS语言。

12. 鸿蒙 Liteos 和 ucos II 有可比性吗?

答:两者可以说是同类型的操作系统内核,只是鸿蒙 LiteOS 更针对物联网领域,面向低功耗硬件进行数据采集;ucos ii 更在意实时性,是一种为实时系统而打造的操作系统内核。

13. 没有Stm32基础,但是有51单片机和Linux应用开发基础学鸿蒙怎么样?

答:有任意单片机基础和Linux应用开发基础,学习鸿蒙就很轻松了,赶紧上手吧。

14. 能否有针对鸿蒙内核级的讲解,想系统学习一下鸿蒙应用和底层。

答:我个人有阅读学习鸿蒙内核代码的计划,如果大家需要,我也会把学习笔记分享出来。

15. 华为鸿蒙开发和其他stm32或者Linux开发相比具有哪些优势?有什么特别的亮点吗?从技术上应该没有,目前来看就是以前的嵌入式开发一样的步骤不同的工具,是不是从其他非技术角度,有什么优势?

答:如果单纯的看Hi3861和之上的系统,那么就只是单片机加嵌入式操作系统,无任何亮点。然而,鸿蒙却不只是这一点点东西!鸿蒙所瞄准的是物联网这片蓝海,所以在打造的是一个技术生态链,比如:数采集可能是Hi3861,采集到的数据汇总到控制中心(鸿蒙富应用),分析处理后自动做出控制决策,并通过鸿蒙手机应用通知用户。鸿蒙的目标就是无缝衔接这个过程,包括:系统开发过程(涉及各种类型的终端),数据传输过程(涉及统一的协议标准),等等。

鸿蒙并不是在某个单独的技术点上做创新和改进,而是站在更高的角度,打造物联网开发所涉及的整个技术栈。

16. 请问如何区分button press 和button release?

答:详见我的另一篇帖子:《实现按键“按下事件”和“释放事件”的通用框架》,这个框架我会继续打造和维护。

17. 鸿蒙现在有2个开发方向,分别是设备开发和应用开发,不知道如何选择?老师说下各自优缺点,我们思考下。

答:设备开发所需的关键技术为:C/C++,交叉编译构建(make/cmake/gn),多任务(多线程)编程,网络编程。

应用开发所需的关键技术为:Java/JS,XML,界面构建(GUI),网络编程,数据库编程。

当然,上述列出的关键技术不是绝对的,而是相对使用频率较高的技术。

在我看来设备开发和应用开发没有本质区别,只是场景不同而已。如果非要选择,那么可以根据自身目前已经掌握的技术“就近选择”。

物联网应用是一个完整的系统,同时涉及设备开发和应用开发,从系统角度看,两者同等重要。

18. 按键事件中也可以收集到边沿变化么,还是变化之后被捕获到呢?

答:物理按键上的动作(如:按下事件)会导致对应引脚上电平的变化,变化的过程就是边沿,边沿的出现会产生外部中断,内核接收到这个中断后立即调用中断服务程序(ISR),并在ISR中调用注册的事件处理函数。从这个过程可以看出,边沿出现后事件处理函数被调用。

想了解更多内容,请访问:
51CTO和华为官方合作共建的鸿蒙技术社区
https://harmonyos.51cto.com

 

责任编辑:jianghua 来源: 鸿蒙社区
相关推荐

2021-09-28 10:02:26

鸿蒙HarmonyOS应用

2011-09-16 09:38:19

Emacs

2011-08-04 18:01:07

IOS Cocoa Touc

2011-09-14 09:49:41

Android开发

2011-09-08 10:38:37

Widget

2011-08-10 16:44:56

iPhone代理设计模式

2011-06-17 14:54:31

Qt

2011-06-17 15:19:28

Qt

2011-06-17 15:44:25

Qt

2011-06-17 14:41:56

Qt

2011-06-17 15:25:18

Qt

2011-06-17 15:37:42

Qt

2013-04-23 10:51:15

Linux压缩

2011-08-24 17:05:01

Lua

2011-06-17 15:32:28

Qt

2011-06-17 14:12:32

Qt

2011-06-17 14:29:55

Qt

2011-06-17 15:06:14

Qt

2009-11-17 15:33:26

PHP数组元素

2009-10-22 16:46:03

VB.NET初步知识
点赞
收藏

51CTO技术栈公众号