【答疑汇总】HarmonyOS驱动框架调试总结 原创 精华

gwfighter
发布于 2020-12-25 15:20
浏览
7收藏

12月10日HarmonyOS驱动框架调试总结直播中的问题及解答

 

1. 使用VSCode开发HarmonyOS开发除了基本的插件还需要安装哪些来辅助开发?

答:VSCode这个软件主要是用来查看和编辑代码,安装好基本的插件就够了。代码的编译是在linux下面完成的,编译环境的搭建见如下链接:

https://device.harmonyos.com/cn/docs/start/introduce/oem_quickstart_3516_environment-0000001054501981

【答疑汇总】HarmonyOS驱动框架调试总结-鸿蒙开发者社区

  

2. 烧录完了restart板子 是直接把电源重插 是这意思吗?

答:是的。

 

3. 还是uboot只需要烧录即可,如果是烧录,能否介绍一下烧录方法。

答:uboot只需要烧录即可,我们烧录的是华为提供的编译好从uboot。uboot的烧录方是串口烧录。具体的烧录方法,见附件文档,我们详细总结HarmonyOS的各种烧录方式。

 

4. uboot需要自己编译嘛

答:不用,uboot的开发不在HarmonyOS开发的范围内,如果有兴趣的话,自己可以钻研下。

 

5. 鸿蒙OS的新手学习路线是怎么样的?老师有建议吗。

答:建议从简单应用入手,同时多动手。可以利用我们这边的南极洲开发板,先调试各种底层驱动,把南向接口搞清楚。后面再进行项目的开发,或者往北向(APP端)方向研究。

 

6. 鸿蒙现在可以和哪些设备联动?

答:鸿蒙在手机(4G内存)到几百KB RAM的单片机上运行,应用范围非常广泛。具体和什么设备联动,取决于您通过网络连接什么样的设备。

 

7. 鸿蒙os驱动管理的效率如何?

答:HDF框架设计就是为了简化开发者进行驱动开发。用应用情况来说,HDF驱动框架管理驱动的效率是非常高的。但是对于资源比较少的单片机,比如Hi3861等(RAM小,只有几百KB),不建议使用HDF驱动框架。效率这个不好评估,目前没有大量驱动适配,从目前测试来看没有性能问题。

 

8. 鸿蒙os的驱动框架和Linux有哪些区别?

答:鸿蒙的驱动框架包括驱动加载管理,驱动服务管理和消息机制,旨在搭建一个统一的驱动管理平台,而linux驱动框架中则没有这些东西。linux驱动框架中,则把所有外设拆分为字符设备,块设备和网络设备,在linux驱动框架中一些设备都是文件。鸿蒙HDF驱动框架中就没有这么一个区分方式。两者的区别还是蛮大的。

 

9. harmonyOS的驱动开发和linux开发的区别大吗?

答:参见问题8.

 

10. 想学习下harmony OS的开发,有没有这harmony OS的系统架构详解和开发的书啊?想买。

答:目前开发还是以华为官方提供的资料位置,个人感觉书籍更新的速度还是赶不上网络。主要的参考网站有如下两个,

①https://device.harmonyos.com/cn/docs/start/learn/oem_des_define-0000001055232642

②https://gitee.com/organizations/openharmony/issues

 

11. 有图形化配置harmony OS吗?

答:有的,在kernel这个文件夹里面运行“make menuconfig”这个命令,就可以图形化配置HarmonyOS,进行相关组件的裁剪。

 

12. 在linux上的应用程序,怎么移植到harmonyOS

答:底层驱动开发就要遵循HDF驱动框架机制,上层应用的开发我们这边不太清楚。

 

13. 用户代码,不是都要放applications目录里面么?

答:不一定,按照我们视频里面搭建的目录也可以的。

 

14. 绑定服务,是否要查询绑定状态?

答:不用的,底层驱动支持多个用户态程序同时调用。

 

15. 动态直接insmod就可以吧?

答:目前还不支持

 

16. SPI驱动开发和以前3516更新cmos驱动类似吗?

答:不太明白提问人关于CMOS驱动更新的具体意思。如果CMOS驱动是指摄像头这块的话,那么还是不太一样的。在目前鸿蒙驱动的框架中,摄像头的驱动是单独的一块,不再HDF体系中。

 

17. huawei主要环境配置和3516主要是驱动加载配置?可以这样理解吗?直接编一个sh脚本连接不行吗?

答:huawei这个目录下的配置可以理解为框架的搭建,hisi这个目录下的配置可以理解为具体加载是哪个芯片的驱动,以及驱动的配置管理等。

【答疑汇总】HarmonyOS驱动框架调试总结-鸿蒙开发者社区

18. 3516有没有带sata接口

答:应该不支持,我们没有使用过该的接口,具体还需要您去确认。

 

19. 问下有没有uboot编译时需要改什么地方的资料特别是 网卡和存储器。

答:我们不需要进行uboot编译,目前使用的是华为编译好的程序。如果你们的网络接口芯片等采用和我们的开发板(我们是参考海思的)不一样,那么就需要自己编译uboot了。

 

20. hdf中 host是什么概念,为什么要将类型相似的设备放在一个host中

host就是一类驱动的容器,其实就是归类的作用。把类型相似的设备放在同一个host中,可以方便管理。

 

21. 目前鸿蒙能否实现驱动动态insmod?现在只能编译到内核中吗?

答:目前不支持insmod。

 

22. 驱动之间,是有一个订阅机制吧?这个机制只能实现服务发现的订阅吗?能否支持自定义的事件订阅?

答:目前可以实现服务发现的订阅,但是自定义事件的订阅是不支持的。

 

23. 目前鸿蒙能否实现驱动动态insmod?现在只能编译到内核中吗?

答:目前还不支持。

 

24. 鸿蒙号称微服务,理论上微服务不重要的驱动挂了,不会把内核搞挂。现在的驱动挂了,会把内核搞崩溃吗?

答:鸿蒙号称是微内核,但目前开源的是liteos-a,还不是微内核的鸿蒙,所以目前驱动挂了还是会导致内核挂的。

 

25. 碰一碰,是nfc触发wifi和蓝牙吧?

答:是nfc触发wifi通信。

 

26. 驱动加载策略是否可以插件化修改?因为也许有的用户有特殊需要,不是全自动加载。

答:可以的,可以通过HCS文档配置决定需不需要加载相关驱动。具体介绍如下:

【答疑汇总】HarmonyOS驱动框架调试总结-鸿蒙开发者社区

27. 日志怎么提取,都是通过监听嘛。

答:应该会有log,目前我们还没有用到。华为专家的回复是“当前开源的版本,不太确定有没有开放维测的dump,有可能还没有”

 

28. 这个图像识别是否会受到感光的影响

我们没有做过图像相关的开发,建议咨询相关专业。

 

29. 如果死机了是否有log

答:同问题29。 

 

30. 如何debug调试!有什么好的编辑工具?

答:目前debug是在linux下面,靠打印输出来观察程序调整是不是正确。

 

31. 内存管理是直接选址还是虚拟地址?

答:虚拟地址

 

32. 老师3516和3519图像处理性能方面差距大吗?另外一个我们采用3519的linux设备能否移植鸿蒙

答:我们对3519这个芯片不熟悉,建议去查一查相关的datasheet。3519设备肯定可以一直鸿蒙系统的。

 

33. 你好老师,鸿蒙系统比较完整的移植资料有吗。

答:我们目前正在开发鸿蒙系统移植到RISCV的单片机上,后续我们会给出详细的移植资料。

 

34. 老师 你好 请问 HAL的分层是怎么样的? HAL下面的内核层中的驱动接口做那些工作  HAL上层的驱动做那些工作 谢谢。是不是说 不同板子的MCU移植 一个接入相同外设的硬件 只修改HAL内核层的驱动就可以了

答:移植是只需要修改内核层的驱动就可以了,对外的spi接口是统一的。HDF驱动的框架主要在“driver”这个目录里面,如果有兴趣,可以详细研究一下。

【答疑汇总】HarmonyOS驱动框架调试总结-鸿蒙开发者社区

35. 刚才说VS code只是查看编写代码 那用source insight是不是也可以  那为啥用一个新的工具。

答:用source insight也可以的,都可以,只是查看和编辑,根据个人的习惯就好。

 

 

©著作权归作者所有,如需转载,请注明出处,否则将追究法律责任
HarmonyOS烧录总结.docx 943.41K 144次下载
已于2020-12-29 18:02:53修改
4
收藏 7
回复
举报
3条回复
按时间正序
/
按时间倒序
鲜橙加冰
鲜橙加冰

终于等到了张老师的答疑汇总帖。赞。

回复
2020-12-25 15:24:23
红叶亦知秋
红叶亦知秋

这么多回复,老师用心了

回复
2020-12-25 15:24:38
bingfeng
bingfeng

那天直播结束之后就开始等老师的答疑帖,没想到今天更新的猝不及防,先🐎再看

1
回复
2020-12-25 15:28:24
回复
    相关推荐