4.4.4 Static and Dynamic Model

MPLAB Harmony v2 static drivers are implemented for a single peripheral instance to reduce the memory footprint of the driver. Sometimes other features of a driver, such as multi-client, buffer queuing, and RTOS support are also removed from static drivers to make them simple and concise. Dynamic drivers are full fledged drivers which support multiple peripheral instances, multi-client, and RTOS.

MPLAB Harmony v2 supports both, static and dynamic driver models, where MPLAB Harmony v3 has only dynamic drivers. However, many of the characteristics of MPLAB Harmony v2 static drivers are provided in MPLAB Harmony v3 PLIBs. Applications developed using MPLAB Harmony v2 static drivers can switch to MPLAB Harmony v3 PLIBs or MPLAB Harmony v3 drivers (dynamic drivers) based on their requirements. If an application needs features, such as multiple client, buffer queuing and RTOS, then MPLAB Harmony v3 dynamic drivers can be used; otherwise MPLAB Harmony v3 PLIBs can be considered.