Peripheral Drivers
Driver Architecture
LL (Low Layer)
Used for encapsulating various Chip register operations.
HAL (Hardware Adaption Layer)
Implements basic hardware functions based on LL layer interfaces.
Controller Driver
Implements various functionalities of controllers within the Chip based on HAL layer interfaces, with OS dependencies, and capabilities for mutual exclusion, semaphore, and other resource protections. (Controller types include: I2C, SPI, DMA, Timer, eFuse/OTP, WDT, I2S, Clock, CAN, USB, SDIO, IRQ, PWM, ADC, LCD, Touch, Uart, RTC, PMU, Crypto Engine, GPIO, etc.)
Device Driver
Implements the functions for external device drivers of the Chip based on Controller Driver interfaces (e.g., sensors, EEPROM, SIP Flash, TFT screen, etc.).
Device Manager
A device management unit used for unified management of all device configurations (controllers and external devices) in the current project, similar to the Linux device tree functionality.
Users can refer to the Example to develop applications using the Controller Driver API.
Device Table Introduction
WM IoT SDK uses device table to manage device configuration, which separates driver code from device configuration and makes it more convenient to use.