为了方便社区开发者更易获取 OpenAtom OpenHarmony(以下简称“OpenHarmony”)相关文档,暨上篇应用开发文档上新内容,SIG Docs 小组同步准备了设备开发文档上新内容介绍,让您的开发工作事半功倍。
OpenHarmony设备开发新增指南文档
● 数据管理开发指南:包含关系型数据库和轻量级数据存储两部分
- 关系型数据库(Relational Database,RDB)是一种基于关系模型来管理数据的数据库。OpenHarmony关系型数据库基于 SQLite 组件提供了一套完整的对本地数据库进行管理的机制,对外提供了一系列的增、删、改、查等接口,也可以直接运行用户输入的 SQL 语句来满足复杂的场景需要。
https://docs.openharmony.cn/pages/v3.1/zh-cn/device-dev/subsystems/subsys-data-relational-database-overview.md/
- 轻量级数据存储适用于对 Key-Value 结构的数据进行存取和持久化操作。应用获取某个轻量级存储对象后,该存储对象中的数据将会被缓存在内存中,以便应用获得更快的数据存取速度。应用也可以将缓存的数据写入 XML 文件中进行持久化存储,由于文件读写将产生不可避免的系统资源开销,建议应用减少对持久化文件的读写频率。
https://docs.openharmony.cn/pages/v3.1/zh-cn/device-dev/subsystems/subsys-data-storage-overview.md/
● USB 服务开发指南:USB 设备分为 Host 设备(主机设备)和 Device 设备(从设备)。用户可通过 Port Service 来根据实际业务把运行 OpenHarmony 的设备切换为 Host 设备或者 Device 设备。目前在 Host 模式下,支持获取 USB 设备列表,USB 设备权限管理,控制传输、批量传输的同异步数据传输等;在 Device 模式下,支持 HDC(调试)、ACM(串口)、ECM(网口)等功能的切换。
https://docs.openharmony.cn/pages/v3.1/zh-cn/device-dev/subsystems/subsys-usbservice-overview.md/
● DFX 使用指导:标准系统新增 HiDumper、HiChecker、FaultLogger、hiperf 工具使用指导
- HiDumper 是 OpenHarmony 为开发、测试人员、IDE 工具提供的系统信息获取工具,帮助开发者分析、定位问题。适用于标准系统。
https://docs.openharmony.cn/pages/v3.1/zh-cn/device-dev/subsystems/subsys-dfx-hidumper.md/
- HiChecker 是 OpenHarmony 提供的用于检测代码错误使用方式和运行结果的一种检测框架,可在应用和系统开发阶段用于运行时的缺陷扫描。适用于标准系统。
https://docs.openharmony.cn/pages/v3.1/zh-cn/device-dev/subsystems/subsys-dfx-hichecker.md/
- Faultlogger 是 OpenHarmony 为开发者提供的一个维测日志框架,能够为应用、元能力、系统服务进程崩溃故障提供统一检测、日志采集、日志存储、日志上报功能,为应用崩溃故障提供详细的维测日志用以辅助故障定位。
https://docs.openharmony.cn/pages/v3.1/zh-cn/device-dev/subsystems/subsys-dfx-faultlogger.md/
- hiperf 是 OpenHarmony 为开发者提供的性能采样分析工具,基于内核 perf 机制进行用户态能力的扩展,可以对指定的应用或者整个系统进行性能采样。
https://docs.openharmony.cn/pages/v3.1/zh-cn/device-dev/subsystems/subsys-toolchain-hiperf.md/
● 设备安全等级管理开发指南:OpenHarmony 设备安全等级管理(DSLM)模块,负责管理各种不同形态和种类的 OpenHarmony 设备的设备安全等级。在各类分布式业务中,当 OpenHarmony 对各类用户数据进行流转或处理的时候,可以调用本模块提供的接口获取相关目标设备的安全等级,并根据获取到的等级进行相应的处理。
https://docs.openharmony.cn/pages/v3.1/zh-cn/device-dev/subsystems/subsys-security-devicesecuritylevel.md/
● 驱动开发指南和使用指南:包括平台驱动 DAC、I3C、MIPICSI、PIN、Regulator 的开发和使用指南,以及外设驱动 Camera、Vibrator、Light 的开发指南。对于平台驱动模块,新增章节介绍如何在 HDF 框架下开发适用的 DAC 驱动并正确使用;对于外设驱动模块,新增章节介绍如何开发符合 HDF 架构、符合 OpenHarmony 特性的外设驱动。
https://docs.openharmony.cn/pages/v3.1/zh-cn/device-dev/driver/driver-hdf-overview.md/
● 编译构建规范及 Kconfig 指导:
- 构建系统编码规范与最佳实践包括代码命名、格式化和编码实践。
https://docs.openharmony.cn/pages/v3.1/zh-cn/device-dev/subsystems/subsys-build-gn-coding-style-and-best-practice.md/
- 编译构建 Kconfig 可视化配置指导。该功能基于 Kconfiglib 与 Kconfig 实现,方便用户个性化配置 OpenHarmony 产品子系统部件。
https://docs.openharmony.cn/pages/v3.1/zh-cn/device-dev/subsystems/subsys-build-gn-kconfig-visual-config-guide.md/
● 标准系统内核新增 Enhanced SWAP 特性介绍、关联线程组调度和 CPU 轻量级隔离,轻量和小型系统新增 Perf 调测和 LMS 调测。
- ESwap(Enhanced Swap)提供了自定义新增存储分区作为内存交换分区的能力,并创建了一个内核线程为 zswapd 将 ZRAM 压缩后的匿名页加密换出到 ESwap 存储分区,从而能完全的空出一块可用内存,以此来达到维持 Memavailable 水线的目标。
https://docs.openharmony.cn/pages/v3.1/zh-cn/device-dev/kernel/kernel-standard-mm-eswap.md/
- 关联线程组(related thread group)提供了对一组关键线程调度优化的能力,支持对关键线程组单独进行负载统计和预测,并且设置优选 CPU cluster 功能,从而达到为组内线程选择最优 CPU 运行并且根据分组负载选择合适的 CPU 调频点运行。
https://docs.openharmony.cn/pages/v3.1/zh-cn/device-dev/kernel/kernel-standard-sched-rtg.md/
- CPU 轻量级隔离特性提供了根据系统负载和用户配置来选择合适的 CPU 进行动态隔离的能力。
https://docs.openharmony.cn/pages/v3.1/zh-cn/device-dev/kernel/kernel-standard-sched-cpuisolation.md/
- Perf 为性能分析工具,依赖 PMU(Performance Monitoring Unit)对采样事件进行计数和上下文采集,统计出热点分布(hot spot)和热路径(hot path)。
https://docs.openharmony.cn/pages/v3.1/zh-cn/device-dev/kernel/kernel-mini-memory-perf.md/
- LMS(Lite Memory Sanitizer)是一种实时检测内存操作合法性的调测工具。
https://docs.openharmony.cn/pages/v3.1/zh-cn/device-dev/kernel/kernel-small-memory-lms.md/
OpenHarmony社区新增芯片移植案例
三篇社区芯片移植案例(移植案例由社区芯片/开发板厂商贡献):
● 带屏解决方案之 BES2600W 芯片移植案例:该方案基于 BES2600W 芯片的 Multi-modal V200Z-R 开发板,进行轻量带屏开发板的标准移植,开发了智能开关面板样例,同时实现了 ace_engine_lite、graphic_ui、aafwk_lite、appexecfwk_lite、HDF 等部件基于 OpenHarmony LiteOS-M 内核的适配。
https://docs.openharmony.cn/pages/v3.1/zh-cn/device-dev/porting/porting-bes2600w-on-minisystem-display-demo.md/
● Combo 解决方案之 ASR 芯片移植案例:该方案基于 OpenHarmony LiteOS-M 内核,使用 ASR582X 芯片的 DEV.WIFI.A 开发板进行开发移植。作为典型的 IOT Combo(Wi-Fi+BLE)解决方案,本文章介绍 ASR582X 的适配过程。
https://gitee.com/openharmony/docs/blob/master/zh-cn/device-dev/porting/porting-asr582x-combo-demo.md
● 轻量有线以太网解决方案 STM32F407 芯片移植案例:介绍基于 STM32F407IGT6 芯片在 Niobe407 开发板上移植 OpenHarmony LiteOS-M 轻量系统,提供交通、工业领域开发板解决方案。
https://gitee.com/openharmony/docs/blob/master/zh-cn/device-dev/porting/porting-stm32f407-on-minisystem-eth.md
OpenHarmony设备开发优化文档
● 快速入门更新:根据开发者的开发习惯提供了 IDE 和安装包两种方式。其中 IDE 方式采用一站式开发,环境搭建、编译、烧录均采用 IDE 进行操作,本版本 IDE 集成了工具环境,降低了环境搭建的复杂度;安装包方式中环境搭建和编译采用命令行进行操作,同时统一了轻量小型系统和标准系统的工具安装命令及编译框架,简化了相关操作。
https://docs.openharmony.cn/pages/v3.1/zh-cn/device-dev/quick-start/quickstart-ide-lite-overview.md/
● 启动恢复更新:优化 init 启动引导组件的开发指导。
https://docs.openharmony.cn/pages/v3.1/zh-cn/device-dev/subsystems/subsys-boot-init.md/
OpenHarmony设备开发工具DevEco Device Tool升级
DevEco Device Tool 升级至 3.0 Release 版本,本次更新,为各位开发者带来了更好的开发体验:
● 集成丰富的编译工具链:在开发者导入 OpenHarmony 源码后,DevEco Device Tool 会自动检测工程编译所依赖的工具链是否完备。如果存在工具缺失,可一键下载和安装所有缺失的工具,且自动完成工具链配置,大幅度减少编译复杂度,提高工作效率。
● 集成 OpenHarmony 官网设备开发样例:为帮助提升开发效率,本次新版本集成了 OpenHarmony 官网的设备开发样例,让开发者无需从零开始敲代码,可快速上手。开发者在创建工程时根据需要选择开发样例,即可一键快速拉取源码。
● 多人共享开发模式:在 Windows+Ubuntu 远程开发模式下,支持一个团队共用一台服务器,只需搭建一台公共的 Linux 服务器,团队成员即可从自己的 Windows 机器远程登录 Linux 服务器,进行共享开发,既节省了时间,也降低了成本。
DevEco Device Tool使用指南:
https://docs.openharmony.cn/pages/v3.1/zh-cn/device-dev/get-code/gettools-ide.md/
欢迎开发者共建
希望本期文档上新内容,辅助广大开发者更高效地探索、体验、上手 OpenHarmony。
我们看到 400+ 位社区开发者参与了 OpenHarmony Docs 仓贡献,感谢开发者的持续关注和反馈。欢迎广大开发者在参与 OpenHarmony 开源项目中,持续关注 SIG Docs,反馈文档建议和需求,与我们一同持续提升文档体验。
欢迎订阅 SIG Docs 邮件列表
docs@openharmony.io
详细参考:
https://gitee.com/openharmony/community/blob/master/README.md
我们坚信社区开发者的共建力量,携手同行、并肩协作、打造健康、蓬勃发展的 OpenHarmony 社区。