The CMSIS-Driver specification is a software API that describes peripheral driver interfaces for middleware stacks and user applications.
This software pack contains actual CMSIS-Driver implementations for various devices. It is publicly hosted on GitHub and interested parties are welcome to push their drivers to this repository: https://github.com/arm-software/CMSIS-Driver.
License
The CMSIS is provided free of charge by Arm under Apache 2.0 license. View the Apache 2.0 License.
ARM::CMSIS-Driver Pack
The ARM::CMSIS-Driver Pack contains the following:
File/Directory | Content |
ARM.CMSIS-Driver.pdsc | Package description file in CMSIS-Pack format. |
LICENSE.txt | CMSIS license agreement (Apache 2.0) |
Config | Configuration files for I2C, NAND, and SPI bus implementations |
Documentation | This documentation |
ETH | Ethernet driver implementations |
Flash | Flash memory driver implementations |
I2C | I2C driver implementations |
NAND | NAND driver implementations |
SPI | SPI driver implementations |
Utilities | Utilities for generating the pack |
WiFi | WiFi driver implementations |
Revision History
Version | Description |
2.7.2 |
- Added Renesas DA16200 WiFi driver
- Updated Inventek ISM43362 WiFi driver (version 1.14.0):
- Added statically allocated control block for asynchronous thread if FreeRTOS is used
|
2.7.1 |
- Added support for Arm Cortex-M85 processor based devices
- Added support for Arm China Star-MC1 processor based devices
|
2.7.0 |
- Added PHY_LAN8740A driver
- Added ETH_LAN91C111 driver
- Updated ETH_KSZ8851SNL and ETH_LAN9220 drivers:
- Corrected invalid power status in MAC_PowerControl
- Updated ESP8266 WiFi driver:
- Fixed Activate to use BSSID specified in SetOption with ARM_WIFI_BSSID
- Updated ESP8266, ESP32 and WizFi360 WiFi drivers:
- Fixed return string null terminator in GetModuleInfo
- Fixed SocketSendTo for stream socket lengths above 2048 bytes
- Enabled placement of USART transfer buffers in appropriate RAM by using section ".bss.driver.usartn" (n = USART driver instance number) in the linker scatter file
- Updated Inventek ISM43362 WiFi driver (version 1.11.0):
- Supports also ISM43340 Module
- Added support for 5 GHz channels on Access Point
- Fixed socket connect operation for non-blocking mode
- Enabled placement of SPI transfer buffers in appropriate RAM by using section ".bss.driver.spin" (n = SPI driver instance number) in the linker scatter file
- Detected ISM43362 Module on STMicroelectronics B-L475E-IOT01A1 firmware limitation: SocketConnect does not work if first or last octet of IP address is 0 (for example IPs 0.x.y.z or x.y.z.0 do not work)
- Detected shield firmware limitation: SocketConnect does not work if certain IP address octets contain value 0 or 255 (combinations that do not work: 0.x.y.z, x.y.z.0, 255.x.y.z)
- Updated CMSIS Driver Validation test results
|
2.6.1 |
- Updated ESP8266, ESP32 and WizFi360 WiFi drivers:
- Added auto protocol selection in SocketCreate
- Fixed socket default timeout (zero == no time out)
- Fixed SocketRecv/RecvFrom non blocking mode when received less than buffer length
- Updated Inventek ISM43362 WiFi driver (version 1.9.0):
- Corrected Initialize function failure if called shortly after reset
- Corrected default protocol selection in SocketCreate function
- Detected STM firmware limitation: SocketConnect does not work if any of IP address octets is 255 (for example IP like x.y.z.255)
|
2.6.0 |
- Updated ESP8266, ESP32 and WizFi360 WiFi drivers:
- API V1.1: SocketSend/SendTo and SocketRecv/RecvFrom (support for polling)
- Added DHCP setting before station Activate
- Added read of DHCP assigned IPs after station activate
- Fixed serial tx busy flag handling
- Fixed function AT_Resp_ConnectAP for NULL argument
- Enhanced serial communication startup procedure
- Updated Inventek ISM43362 WiFi driver (version 1.8.0):
- API V1.1: SocketSend/SendTo and SocketRecv/RecvFrom (support for polling)
- Corrected GetModuleInfo return string termination
- Corrected functionality when DATARDY line is used in polling mode
- Corrected SocketConnect function never returning 0 in non-blocking mode
- Corrected SocketRecv/SocketRecvFrom function polling if called without previous Bind
- Corrected delay after module reset
- For non-STM firmware variant only firmware version 6.2.1.7 is supported
- Documented firmware update procedure for Inventek ISMART43362-E WiFi Shield
|
2.5.0 |
- Added Espressif ESP32 WiFi driver
- Added Espressif ESP8266 WiFi driver
- Added Wiznet WizFi360 WiFi driver
- Updated Inventek ISM43362 WiFi driver (version 1.3.0):
- Fixed SocketClose functionality
- Fixed Activate function not to set password if OPEN security is used
- Updated Initialization function to handle unavailable reset pin
- Added debug of SPI traffic with Event Recorder
- Added CMSIS Driver Validation test results
|
2.4.1 |
- Updated Inventek ISM43362 WiFi driver
- Corrected PHY_LAN8742A power down bit definition
|
2.4.0 |
- Added Inventek ISM43362 WiFi driver
- Added support for Cortex-M1
|
2.3.0 |
- NAND MemoryBus driver updated:
- Fixed Ready/Busy configuration handling
- Enhanced compatibility for ARM Compiler 6
- Flash Drivers updated:
- Added data cache handling to memory bus based drivers
- Fixed warnings flagged by ARM Compiler 6
|
2.2.1 |
- Added web link to hardware documentation for CMSIS-Driver components
|
2.2.0 |
- Documentation added
- Set Cvendor to "Keil" in all driver components for ease of migration of existing projects
|
2.1.0 |
|
2.0.0 |
|