#冲刺创作新星# [九] 写个简单的LED驱动 原创 精华
左翼风发
发布于 2022-10-13 08:43
浏览
4收藏
在《[二]第一个OpenHarmony程序》我们熟悉了如何在OpenHarmony开发终端应用,并他通过hdc工具拷贝至开发板运行。在《[六]第一个hap应用》的文章里我们学会如何用IDE工具编写hap应用并他通过IDE工具安装至开发板运行。我们学会了终端的应用,学会了交互界面的程序开发,接下来我们需要学习下如何开发一个驱动应用。
HDF框架简介
HDF(Hardware Driver Framework)是OpenHarmony的驱动子系统,包括驱动框架,配置管理,配置解析,驱动通用框架模型,硬件通用平台能力接口等。下图是一副标准系统的框架模型,但是在小型或者轻量级系统使用的时候时候没有VFS也没有这么复杂的分层。
-
标准系统
-
小型、轻量系统
详细的内容介绍在一下链接内可以看到官方的说明:
参考链接:https://gitee.com/openharmony/drivers_hdf_core
此样例参考小熊派设计,使用小熊派HM_Micro开发板进行验证
Driver开发流程
-
编写driver: led.c, BUILD.gn
- 实现对应的方法:初始化
- 实现对应的方法:初始化
- 实现对应的方法:驱动资源释放
- 驱动编译gn脚本
-
驱动配置
- 在OpenHarmony源码目录下vendor目录里是不同厂家的开发板,之下有hdf_config目录,里面有对应的device_info.hcs设备硬件配置文件,在此文件里增加以下内容
- 同时在同级目录里也需要增加led_config.hcs文件
- 同时在同级目录里也需要修改hdf.hcs文件,增加以下代码:
-
编译生成
总结
- device_info.hcs文件中的moduleName必须要和驱动文件中的moduleName字段匹配,这样驱动才会加载起来
- device_info.hcs文件中的deviceMatchAttr的字段必须和私有配置文件中led_config.hcs的match_attr的字段匹配,这样私有配置才能生效
这样我们就有了自己的driver和配置,后面的章节我们会讲如何在hap应用里调用驱动接口
https://gitee.com/bearpi/bearpi-hm_micro_app/tree/master/code
©著作权归作者所有,如需转载,请注明出处,否则将追究法律责任
分类
已于2022-12-30 10:03:25修改
赞
7
收藏 4
回复
7
5
4
相关推荐
前排学习HDF的开发流程
已经出到第九章了,学习学习
赞赞赞
大佬不仅技术厉害,还有恒心
学一下驱动的配置