回复
聊一聊鸿蒙系统中的公共基础库
星蔚星
发布于 2021-10-11 10:48
浏览
0收藏
简介
公共基础库存放OpenHarmony通用的基础组件。这些基础组件可被OpenHarmony各业务子系统及上层应用所使用。
公共基础库在不同平台上提供的能力:
- LiteOS-M内核(Hi3861平台):KV(key value)存储、文件操作、定时器、Dump系统属性。
- LiteOS-A内核(Hi3516、Hi3518平台):KV(key value)存储、定时器、JS API(设备查询,数据存储)、Dump系统属性。
表 1 公共基础库功能
模块 | 平台支持 | 说明 |
---|---|---|
KV存储 | LiteOS-M内核、LiteOS-A内核 | 为应用程序提供KV存储机制。 |
文件操作 | LiteOS-M内核 | 提供统一的文件操作接口,屏蔽对底层不同芯片组件的差异。 |
定时器 | LiteOS-M内核、LiteOS-A内核 | 提供统一的定时器操作接口,屏蔽对底层不同芯片组件的差异。 |
JS API | LiteOS-A内核 | 提供获取设备信息,数据存储的JS API。 |
Dump系统属性 | LiteOS-M内核、LiteOS-A内核 | 提供dump系统属性的命令行工具。 |
目录
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实现
使用
-
KV存储
// 存储/更新key对应数据项 const char key1[] = "key_sample"; const char defValue[] = "test case of key value store."; int ret = UtilsSetValue(key1, defValue); // 根据key获取对应数据项 char value1[32] = {0}; ret = UtilsGetValue(key1, value1, 32); // 删除key对应数据项 UtilsDeleteValue(key1);
-
文件操作
// 打开或创建文件 const char fileName[] = "testfile"; int fd = UtilsFileOpen(fileName, O_RDWR_FS | O_CREAT_FS | O_TRUNC_FS, 0); // 向文件写入特定大小的数据 const char defValue[] = "test case of file system."; int ret = UtilsFileWrite(fd, defValue, strlen(defValue)); // 关闭文件 UtilsFileClose(fd); // 获取文件大小 int fileLen = 0; ret = UtilsFileStat(fileName, &fileLen); printf("file size = %d\n", fileLen); // 重新定位文件读/写偏移量 int fd1 = UtilsFileOpen(fileName, O_RDWR_FS, 0); ret = UtilsFileSeek(fd1, 5, SEEK_SET_FS); // 读取特定长度的文件数据 char buf[32] = {0}; int readLen = UtilsFileRead(fd1, buf, 32); ret = UtilsFileClose(fd1); printf("read len = %d : buf = %s\n", readLen, buf); // 删除指定文件 ret = UtilsFileDelete(fileName);
-
dump系统属性
LiteOS-M内核:在串口执行如下命令,即可打印当前系统参数
AT+SYSPARA
LiteOS-A内核:在bin路径下执行os_dump,即可打印当前系统参数
./bin/os_dump syspara
涉及仓
公共基础
utils_native_lite
分类
utils_native_lite-master.zip 74.69K 4次下载
已于2021-10-11 10:48:05修改
赞
收藏
回复
相关推荐