In order to make it easier for community developers to obtain OpenAtom OpenHarmony (hereinafter referred to as "OpenHarmony") related documents, as well as the new content in the previous application development document, the SIG Docs team has prepared an introduction to the new content in the device development document at the same time, so that your development work can be done with half the effort.
New guide document for OpenHarmony device development
Data Management Development Guide: Contains two parts: relational database and lightweight data storage
- A relational database (RDB) is a database that manages data based on a relational model. OpenHarmony relational database provides a complete set of local database management mechanism based on SQLite components, and provides a series of interfaces such as adding, deleting, modifying, and querying. scene needs.
https://docs.openharmony.cn/pages/v3.1/en-us/device-dev/subsystems/subsys-data-relational-database-overview.md/ - Lightweight data storage is suitable for accessing and persisting data in Key-Value structures. After an application obtains a lightweight storage object, the data in the storage object will be cached in memory, so that the application can obtain faster data access speed. Applications can also write cached data into XML files for persistent storage. Since file reading and writing will generate inevitable system resource overhead, it is recommended that applications reduce the frequency of reading and writing persistent files.
https://docs.openharmony.cn/pages/v3.1/zh-cn/device-dev/subsystems/subsys-data-storage-overview.md/
● USB service development guide : USB devices are divided into Host devices (host devices) and Device devices (slave devices). Users can switch the device running OpenHarmony to Host device or Device device according to the actual business through Port Service. Currently, in Host mode, it supports obtaining USB device list, USB device authority management, control transmission, synchronous and asynchronous data transmission in batch transmission, etc.; in Device mode, it supports HDC (debugging), ACM (serial port), ECM (network port) and other functions to switch.
https://docs.openharmony.cn/pages/v3.1/zh-cn/device-dev/subsystems/subsys-usbservice-overview.md/
● DFX usage guide: the standard system adds HiDumper, HiChecker, FaultLogger, hiperf tool usage guide
- HiDumper is a system information acquisition tool provided by OpenHarmony for developers, testers and IDE tools to help developers analyze and locate problems. Suitable for standard systems.
https://docs.openharmony.cn/pages/v3.1/zh-cn/device-dev/subsystems/subsys-dfx-hidumper.md/
- HiChecker is a detection framework provided by OpenHarmony for detecting code error usage and running results. It can be used for runtime defect scanning during application and system development. Suitable for standard systems.
https://docs.openharmony.cn/pages/v3.1/zh-cn/device-dev/subsystems/subsys-dfx-hichecker.md/ - Faultlogger is a maintenance log framework provided by OpenHarmony for developers. It can provide unified detection, log collection, log storage, and log reporting functions for application, meta-capability, and system service process crash failures, as well as detailed maintenance log for application crash failures. Used to assist in fault location.
https://docs.openharmony.cn/pages/v3.1/zh-cn/device-dev/subsystems/subsys-dfx-faultlogger.md/ - hiperf is a performance sampling analysis tool provided by OpenHarmony for developers. It extends user-mode capabilities based on the kernel perf mechanism, and can perform performance sampling for specified applications or the entire system.
https://docs.openharmony.cn/pages/v3.1/zh-cn/device-dev/subsystems/subsys-toolchain-hiperf.md/
● Device Security Level Management Development Guide : The OpenHarmony Device Security Level Management (DSLM) module is responsible for managing the device security levels of various types and types of OpenHarmony devices. In various distributed services, when OpenHarmony transfers or processes various user data, it can call the interface provided by this module to obtain the security level of the relevant target device, and perform corresponding processing according to the obtained level.
https://docs.openharmony.cn/pages/v3.1/zh-cn/device-dev/subsystems/subsys-security-devicesecuritylevel.md/
● Driver development guide and usage guide : including platform driver DAC, I3C, MIPCSI, PIN, Regulator development and usage guide, and peripheral driver Camera, Vibrator, Light development guide. For the platform driver module, a new chapter introduces how to develop a suitable DAC driver under the HDF framework and use it correctly; for the peripheral driver module, a new chapter introduces how to develop a peripheral driver that conforms to the HDF architecture and OpenHarmony features.
https://docs.openharmony.cn/pages/v3.1/zh-cn/device-dev/driver/driver-hdf-overview.md/
● Compile build specification and Kconfig guide : - Build system coding conventions and best practices include code naming, formatting, and coding practices.
https://docs.openharmony.cn/pages/v3.1/en-us/device-dev/subsystems/subsys-build-gn-coding-style-and-best-practice.md/ - Compile and build Kconfig visual configuration guide. This function is implemented based on Kconfiglib and Kconfig, which is convenient for users to configure the subsystem components of OpenHarmony products individually.
https://docs.openharmony.cn/pages/v3.1/en-us/device-dev/subsystems/subsys-build-gn-kconfig-visual-config-guide.md/
● Added Enhanced SWAP feature introduction, associative thread group scheduling and CPU lightweight isolation for standard system kernels, and Perf commissioning and LMS commissioning for lightweight and small systems. - ESwap (Enhanced Swap) provides the ability to customize the newly added storage partition as a memory swap partition, and creates a kernel thread for zswapd to encrypt the ZRAM-compressed anonymous page and swap it out to the ESwap storage partition, so that a block can be completely vacated Available memory, in order to achieve the goal of maintaining the Memavailable waterline.
https://docs.openharmony.cn/pages/v3.1/zh-cn/device-dev/kernel/kernel-standard-mm-eswap.md/ - The related thread group provides the ability to optimize the scheduling of a group of key threads, supports separate load statistics and prediction for the key thread groups, and sets the preferred CPU cluster function, so as to select the optimal CPU for the threads in the group to run. And select the appropriate CPU frequency adjustment point to run according to the group load.
https://docs.openharmony.cn/pages/v3.1/zh-cn/device-dev/kernel/kernel-standard-sched-rtg.md/ - The CPU lightweight isolation feature provides the ability to select an appropriate CPU for dynamic isolation according to system load and user configuration.
https://docs.openharmony.cn/pages/v3.1/zh-cn/device-dev/kernel/kernel-standard-sched-cpuisolation.md/ Perf is a performance analysis tool, relying on PMU (Performance Monitoring Unit) to count sampling events and collect context, and count hot spots and hot paths.
https://docs.openharmony.cn/pages/v3.1/zh-cn/device-dev/kernel/kernel-mini-memory-perf.md/- LMS (Lite Memory Sanitizer) is a debugging tool that detects the validity of memory operations in real time.
https://docs.openharmony.cn/pages/v3.1/zh-cn/device-dev/kernel/kernel-small-memory-lms.md/
- LMS (Lite Memory Sanitizer) is a debugging tool that detects the validity of memory operations in real time.
New chip transplant case in OpenHarmony community
Three community chip transplant cases (the transplant cases are contributed by community chip/development board manufacturers):
● Transplantation case of BES2600W chip with screen solution : This solution is based on the Multi-modal V200Z-R development board of BES2600W chip, and carries out standard transplantation of lightweight development board with screen, develops a sample of intelligent switch panel, and realizes ace_engine_lite, ace_engine_lite, Graphic_ui, aafwk_lite, appexecfwk_lite, HDF and other components are based on the adaptation of the OpenHarmony LiteOS-M kernel.
https://docs.openharmony.cn/pages/v3.1/zh-cn/device-dev/porting/porting-bes2600w-on-minisystem-display-demo.md/
● ASR chip transplanting case of Combo solution : This solution is based on OpenHarmony LiteOS-M kernel and uses the DEV.WIFI.A development board of ASR582X chip for development and transplanting. As a typical IOT Combo (Wi-Fi+BLE) solution, this article introduces the adaptation process of ASR582X.
https://gitee.com/openharmony/docs/blob/master/en-us/device-dev/porting/porting-asr582x-combo-demo.md
● Lightweight wired Ethernet solution STM32F407 chip porting case : Introduce the porting of the OpenHarmony LiteOS-M lightweight system based on the STM32F407IGT6 chip on the Niobe407 development board, providing development board solutions in the transportation and industrial fields.
https://gitee.com/openharmony/docs/blob/master/en-us/device-dev/porting/porting-stm32f407-on-minisystem-eth.md
OpenHarmony Device Development Optimization Documentation
● Quick start update : Provides two ways of IDE and installation package according to the developer's development habits. Among them, the IDE method adopts one-stop development, and the environment construction, compilation and burning are all operated by IDE. This version of IDE integrates the tool environment, which reduces the complexity of environment construction; in the installation package method, the environment construction and compilation are carried out by command line. At the same time, the tool installation commands and compilation framework of the lightweight small system and the standard system are unified, which simplifies the related operations.
https://docs.openharmony.cn/pages/v3.1/zh-cn/device-dev/quick-start/quickstart-ide-lite-overview.md/
● Startup recovery update : Optimize the development guidance of init startup bootstrap components.
https://docs.openharmony.cn/pages/v3.1/zh-cn/device-dev/subsystems/subsys-boot-init.md/
OpenHarmony Device Development Tool DevEco Device Tool Upgrade
DevEco Device Tool has been upgraded to version 3.0 Release. This update brings a better development experience to all developers:
● Integrate rich compilation toolchains: After the developer imports the OpenHarmony source code, DevEco Device Tool will automatically detect whether the toolchains on which the project is compiled are complete. If there are missing tools, you can download and install all missing tools with one click, and automatically complete the toolchain configuration, greatly reducing compilation complexity and improving work efficiency.
● Integrate device development samples from OpenHarmony official website: To help improve development efficiency, this new version integrates device development samples from OpenHarmony official website, allowing developers to get started quickly without typing code from scratch. Developers can select development samples according to their needs when creating a project, and then they can quickly pull the source code with one click.
● Multi-person shared development mode: In Windows+Ubuntu remote development mode, a team can share a server, just build a public Linux server, and team members can remotely log in to the Linux server from their own Windows machines to share development, saving both time and costs.
DevEco Device Tool usage guide:
https://docs.openharmony.cn/pages/v3.1/zh-cn/device-dev/get-code/gettools-ide.md/
Welcome developers to build
It is hoped that the new content in this document will help developers to explore, experience, and get started with OpenHarmony more efficiently.
We have seen 400+ community developers participating in the OpenHarmony Docs warehouse contribution, thank you for your continued attention and feedback. Developers are welcome to participate in the OpenHarmony open source project, continue to pay attention to SIG Docs, feedback document suggestions and requirements, and continue to improve the document experience with us.
Welcome to the SIG Docs mailing list
docs@openharmony.io
Detailed reference:
https://gitee.com/openharmony/community/blob/master/README.md
We firmly believe in the co-construction power of community developers, working hand in hand and side by side to create a healthy and thriving OpenHarmony community.
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。