Software Architecture
As an enabler of the development state, the development module consists of the OM SDK, driver, as well as a part customized by the user.
- The OM SDK contains omsdk_interface, omsdk_core, and DEVM (DeviceManager). Externally, it offers the RESTful and cloud-edge collaboration APIs. RESTful APIs support Web and SmartKit access, and cloud-edge collaboration APIs support interconnection with the FusionDirector network management system (NMS). Internally, drivers of built-in hardware and user-extended hardware can be enabled through DEVM definition.
- The drivers are the built-in drivers of the OM SDK and drivers used for extension. Built-in drivers include basic drivers such as NPU and system drivers. Extended drivers are used to add new external devices.
- The user customized part mainly includes the OS and product name. The OS supports openEuler 22.03 and Ubuntu 22.04. Users can change the OS by card making. The product configuration capability is provided in the development state.
Figure 1 Software architecture diagram


The details are as follows:
- omsdk_interface: OM SDK API layer.
- omsdk_core: OM SDK implementation layer.
- DEVM: adaptation layer which is a DeviceManager module allowing developers to define and develop modules.
- NPU: mainly refers to the Ascend AI Processor.
- System: system resources.
- Installation tools: Developers need to prepare the development environment, including the tools involved in the development.
- Project configuration: Developers need to perform basic development on the obtained open-source software package, including configuring the project name and product name.
- extern_drv: extended resources mainly used to extend modules.
- OS: operating system.
Parent topic: Introduction