加入收藏
举报
02-14 20:04
#0
文件名称:
公共基础README.md
所在目录:
Openharmony v1.0 / docs / readme
文件大小:
7.09 KB
下载地址:
fenwii/OpenHarmony
   
免责声明:本网站仅提供指向 GitHub 上的文件的链接,所有文件的版权归原作者所有,本网站不对文件内容的合法性、准确性或安全性承担任何责任。
文本预览:
# 公共基础
## 简介
公共基础库存放OpenHarmony通用的基础组件。这些基础组件可被OpenHarmony各业务子系统及上层应用所使用。
公共基础库在不同平台上提供的能力:
- LiteOS-M平台:KV存储、文件操作、定时器、IoT外设控制
- LiteOS-A平台:KV存储、定时器、ACE JS API
## 目录
```
utils/native/lite/ # 公共基础库根目录
├── file # 文件接口实现
├── hals # HAL目录
│ └── file # 文件操作硬件抽象层头文件
├── include # 公共基础库对外接口文件
├── js # ACE JS API目录
│ └── builtin
│ ├── common
│ ├── deviceinfokit # 设备信息Kit
│ ├── filekit # 文件Kit
│ └── kvstorekit # KV存储Kit
├── kal # KAL目录
│ └── timer # Timer的KAL实现
├── kv_store # KV存储实现
│ ├── innerkits # KV存储内部接口
│ └── src # KV存储源文件
└── timer_task # Timer实现
base/iot_hardware #IoT外设控制
├── frameworks
│ └── wifiiot_lite #IoT外设控制模块实现
├── hals
│ └── wifiiot_lite #HAL适配层接口
└── interfaces
└── kits #IoT外设控制模块接口
vendor/hisi/hi3861/hi3861_adapter/hals/iot_hardware #IoT外设控制HAL层
└── wifiiot_lite #HAL适配层接口实现
```
## 约束
公共基础库使用C语言开发。
**表 1** 公共基础库功能及约束




























组件


平台支持


说明


约束


KV存储


LiteOS-M平台、LiteOS-A平台


为应用程序提供KV存储机制。


-


文件操作


LiteOS-M平台


提供统一的文件操作接口,屏蔽对底层不同芯片组件的差异。


-


定时器


LiteOS-M平台、LiteOS-A平台


提供统一的定时器操作接口,屏蔽对底层不同芯片组件的差异。


-


IoT外设控制


LiteOS-M平台


IoT外设控制模块提供对外围设备的操作能力。


  

## 使用
- **KV存储**
获取接口
```
char key1[] = "rw.sys.version";
char value1[32] = {0};
int ret = UtilsGetValue(key1, value1, 32);
设置接口
char key14[] = "key_14";
ret = UtilsSetValue(key14, defValue);
```
- **文件操作**
```
// open && write
char fileName[] = "testfile";
int fd = UtilsFileOpen(fileName, O_RDWR_FS | O_CREAT_FS | O_TRUNC_FS, 0);
printf("file handle = %d\n", fd);
int ret = UtilsFileWrite(fd, def, strlen(def));
printf("write ret = %d\n", ret);
// stat
int fileLen = 0;
ret = UtilsFileStat(fileName, &fileLen);
printf("file size = %d\n", fileLen);
// seek
int fd1 = UtilsFileOpen(fileName, O_RDWR_FS, 0);
ret = UtilsFileSeek(fd1, 5, SEEK_SET_FS);
printf("lseek ret = %d\n", ret);
char buf[32] = {0};
int readLen = UtilsFileRead(fd1, buf, 32);
ret = UtilsFileClose(fd1);
printf("read len = %d : buf = %s\n", readLen, buf);
// delete
ret = UtilsFileDelete(fileName);
printf("delete ret = %d\n", ret);
```
## 涉及仓
iothardware\_frameworks\_wifiiot\_lite
iothardware\_hals\_wifiiot\_lite
iothardware\_interfaces\_kits\_wifiiot\_lite
utils\_native\_lite
点赞 回复
回帖
支持markdown部分语法 ?