移植案例与原理 - Utils子系统之file文件运作部件
发布时间:2022-02-17 14:47:12 所属栏目:系统 来源:互联网
导读:Utils子系统是OpenHarmony的公共基础库,存放OpenHarmony通用的基础组件。这些基础组件可被OpenHarmony各业务子系统及上层应用所使用。公共基础库在不同平台上提供的能力: LiteOS-M内核:KV(key value)存储、文件操作、定时器、Dump系统属性。 LiteOS-A内核
Utils子系统是OpenHarmony的公共基础库,存放OpenHarmony通用的基础组件。这些基础组件可被OpenHarmony各业务子系统及上层应用所使用。公共基础库在不同平台上提供的能力: LiteOS-M内核:KV(key value)存储、文件操作、定时器、Dump系统属性。 LiteOS-A内核:KV(key value)存储、定时器、JS API(设备查询,数据存储)、Dump系统属性。 本文介绍下移植开发板时如何适配utils子系统之file文件操作部件,并介绍下相关的运行机制原理。系统属性部件syspara_lite包含系统参数特性syspara_lite和token。file文件操作部件定义在utilsnativelite。源代码目录如下: 复制 utils/native/lite/ # 公共基础库根目录 ├── file # 文件接口实现 ├── hals # HAL目录 │ └── file # 文件操作硬件抽象层头文件 ├── include # 公共基础库对外接口文件 ├── js # JS API目录 │ └── builtin │ ├── common │ ├── deviceinfokit # 设备信息Kit │ ├── filekit # 文件Kit │ └── kvstorekit # KV存储Kit ├── kal # KAL目录 │ └── timer # Timer的KAL实现 ├── kv_store # KV存储实现 │ ├── innerkits # KV存储内部接口 │ └── src # KV存储源文件 ├── memory │ └── include # 内存池管理接口 ├── os_dump # Dump系统属性 └── timer_task # Timer实现 1、file文件操作部件适配示例 1.1 配置产品解决方案config.json utils子系统之file文件操作部件的适配示例可以参考vendorohemuqemu_csky_mini_system_democonfig.json,代码片段如下。⑴处用于配置子系统的file部件。⑵处指定在开发板目录中适配目录,这个适配目录下需要创建目录deviceqemuSmartL_E802adapterhalsutilsfile。为什么配置这个目录,后文会解析。 复制 { "subsystem": "utils", "components": [ ⑴ { "component": "file", "features":[] }, { "component": "kv_store", "features":[] } ] } ], ⑵ "vendor_adapter_dir": "//device/qemu/SmartL_E802/adapter", 1.2 适配hal_file.h文件中的接口 在文件utilsnativelitehalsfilehal_file.h头文件中,定义了文件操作接口,适配开发板时,如果需要使用utils子系统之file文件操作部件,就要适配这些接口。需要适配的接口如下。HalFileOpen()函数返回值是文件描述符fd,可以被其他带int fd参数的函数使用。 (编辑:晋中站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |