
RK3568------Openharmony 4.0-Release HDF串口驱动(USB转串口) 上
距离发布上一篇文章时隔半个月!之所以这么长时间没有发布文章,是因为一直在做适配CH9344 USB转串口驱动适配HDF驱动框架的工作,在这个过程遇到了很多问题,我将通过上、下两篇文章来详细讲解。本章的内容为-------如何在OHOS编译构建体系中,调用HDF提供的上层接口。本人之前一直从事应用开发,借着这次电鸿的契机进行系统级开发的学习,将我在工作中的遇到的问题及解决思路记录并分享,希望可以与诸
RK3568------Openharmony 4.0-Release HDF串口驱动(CH9344 USB转串口) 上
文章目录
前言
距离发布上一篇文章时隔半个月!之所以这么长时间没有发布文章,是因为一直在做适配CH9344 USB转串口驱动适配HDF驱动框架的工作,在这个过程遇到了很多问题,我将通过上、下两篇文章来详细讲解。本章的内容为-------如何在OHOS编译构建体系中,调用HDF提供的上层接口。
一、应用层接口调用实例
实例: rs485_test.c
使用的API均来自官网平台驱动使用,具体我不在此赘述。
!!!!!!!!需要注意的就是实例中设备端口号port的取值,关于port对应实际平台的端口号具体指什么,官网没有给出详细的解释,我将在 下篇 文章中结合源码给出解释
二、bundle.json 部件文件实例
实例: bundle.json
因为是在应用层调用HDF相关接口,需要依赖一些部件的接口,所以我选择建立一个新的子系统来创建我的工程。官网 编译构建已经详细介绍这一过程,我不在此赘述。只将我和讨论群群友遇到的问题和重点需要关注的地方详细记录
- 新的子系统一定要添加进配置文件中才能生效,//build/subsystem_config.json
2.部件的实际路径是以bundle.json文件所在路径为准
!!!!!!这里重点强调,我是将bundle.json放在rs485_test文件下了,如果我是放在samples文件下,那么路径就是samples,这里路径不对是找不到部件的
3.构建的目标路径
这里的路径应该分成3部分来看:
- //samples 是子系统的所在路径
- //samples/rs485_test 是编译构建文件BUILD.gn的所在路径
- :rs485_test是构建文件中一个构建目标的名称。
4.依赖的库
这里的依赖是指编译目标中需要依赖的库,分为两部分,一部分是其他组件,一部分是三方库,根据实际依赖的情况填写。
- 注意书写格式规范
bundle.json`对格式的规范检查很严格,举个我犯的错误,而且很不好排查
如果是BUILD.gn,这行的结尾添加一个","逗号是没问题的,但是在json中,是绝对不行的。
三 、BUILD.gn 构建文件实例
实例BUILD.gn
1.引用的头文件如果是其他组件的头文件,实际上不需要特别引用
这句话大家可能不是很理解,直接看图说话
这里大家可以看到头文件其实全是其他组件中API的定义头文件。实际上我是全部注释掉了,但是依然可以编译成功,是因为external_deps中依赖的相关组件,已经引用过这些头文件了。因为在构建规则了,这些可以提供给外部使用的组件,在定义时必须引用头文件,具体在哪里我可以举个hdf_core:libhdf_utils例子路径://drivers/hdf_core/bundle.json
2.依赖库时要分清依赖的是三方库、外部组件、内部组件
这里在引用时一定不要混淆,而且要求必须写准确
- deps 是该组件内部的依赖和第三方库
- external_deps 是声明可以给其他组件使用的依赖
3.必填的参数
!!!!!!!不管官网是如何描述的,以上几项是我认为在构建文件中必须填写的属性
四、遇到的问题
编写构建文档中遇到的问题已在实例中详细介绍解析,感谢群友@飘絮 @Promise提供的模版
这里为各位提供一个快速编译目标的方法
- ./build.sh --product-name 产品名 --build-target 模块名 --build-only-gn生成build.ninja,然后去该文件中查找相关模块名。
- 执行./build.sh --product-name 产品名 --build-target 模块名
这里的模块名就是你编译的目标,比如我的就是rs485_test
五、效果展示
总结
本人之前一直从事应用开发,借着这次电鸿的契机进行系统级开发的学习,将我在工作中的遇到的问题及解决思路记录并分享,希望可以与诸君共勉目前网上技术讨论群大都是鸿蒙的应用开发,总结此类文章也是希望将同样进行鸿蒙设备开发的同僚召集到一起,一起讨论学习。如果有同样在进行鸿蒙设备开发的朋友,可以加我的联系方式,期待您的消息
个人微信
更多推荐
所有评论(0)