1 Star 0 Fork 134

shilei91 / commonlibrary_utils_lite

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
README_zh.md 6.55 KB
一键复制 编辑 原始数据 按行查看 历史
liu_jialiang 提交于 2022-10-08 11:49 . Update README.md & README_zh.md

轻量级公共基础库

简介

轻量级公共基础库存放OpenHarmony通用的基础组件。这些基础组件可被OpenHarmony各业务子系统及上层应用所使用。

轻量级公共基础库在不同平台上提供的能力:

  • LiteOS-M内核(Hi3861平台):文件操作、定时器。
  • LiteOS-A内核(Hi3516、Hi3518平台):定时器、JS API(设备查询,数据存储)。

表 1 轻量级公共基础库功能

模块

平台支持

说明

文件操作

LiteOS-M内核

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

定时器

LiteOS-M内核、LiteOS-A内核

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

JS API

LiteOS-A内核

提供获取设备信息,数据存储的JS API。

目录

commonlibrary/utils_lite/              # 轻量级公共基础库根目录
├── file                        # 文件接口实现
├── hals                        # HAL目录
│   └── file                    # 文件操作硬件抽象层头文件
├── include                     # 公共基础库对外接口文件
├── js                          # JS API目录                 
│   └── builtin
│       ├── common              # Builtin公共函数
│       ├── deviceinfokit       # 设备信息Kit
│       ├── filekit             # 文件Kit
│       └── kvstorekit          # KV存储Kit
├── kal                         # KAL目录
│   └── timer                   # Timer的KAL实现
├── memory
│   └── include                 # 内存池管理接口
└── timer_task                  # Timer实现

使用

  • 文件操作

    // 打开或创建文件
    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);

涉及仓

公共基础

commonlibrary_utils_lite

1
https://gitee.com/shilei91/commonlibrary_utils_lite.git
git@gitee.com:shilei91/commonlibrary_utils_lite.git
shilei91
commonlibrary_utils_lite
commonlibrary_utils_lite
master

搜索帮助