The CMSIS-Driver specification defines a uniform software API for peripheral driver interfaces that can be used by middleware stacks and user applications.
This documentation covers a set of reference CMSIS-Driver implementations for external peripheral devices.
The implementations are maintained in a public GitHub repository. Their releases in CMSIS Pack format are also available on CMSIS Packs page under Arm - CMSIS Drivers for external devices category and can be used in environments supporting the CMSIS-Pack concept.
Interested parties are welcome to contribute their drivers to the referenced repository.
The ARM::CMSIS-Driver Pack contains the following items:
| File/Directory | Content |
|---|---|
| ARM.CMSIS-Driver.pdsc | Package description file in CMSIS-Pack format. |
| LICENSE | CMSIS license agreement (Apache 2.0) |
| Config/ | Configuration files for I2C, NAND, and SPI bus implementations |
| Documentation/ | This documentation |
| Ethernet/ | Ethernet driver implementations |
| Ethernet_PHY/ | Ethernet PHY driver implementations |
| Flash/ | Flash memory driver implementations |
| I2C/ | I2C driver implementations |
| NAND/ | NAND driver implementations |
| Shield/ | Shield layer implementations |
| SPI/ | SPI driver implementations |
| USB/ | USB driver implementations |
| WiFi/ | WiFi driver implementations |
The CMSIS Driver example implementations are provided free of charge under Apache 2.0 license. See the Apache 2.0 License.