Frameworks ┌─────────────────────┬─────────────────────────────┐ │Name                 │ Description                 │ ├─────────────────────┼─────────────────────────────┤ │framework_arduino    │ Arduino Wiring-based        │ │                     │ Framework allows writing    │ │                     │ cross-platform software to  │ │                     │ control devices attached to │ │                     │ a wide range of Arduino     │ │                     │ boards to create all kinds  │ │                     │ of creative coding,         │ │                     │ interactive objects, spaces │ │                     │ or physical experiences.    │ ├─────────────────────┼─────────────────────────────┤ │framework_cmsis      │ The ARM Cortex              │ │                     │ Microcontroller Software    │ │                     │ Interface Standard (CMSIS)  │ │                     │ is a vendor-independent     │ │                     │ hardware abstraction layer  │ │                     │ for the Cortex-M processor  │ │                     │ series and specifies        │ │                     │ debugger interfaces. The    │ │                     │ CMSIS enables consistent    │ │                     │ and simple software         │ │                     │ interfaces to the processor │ │                     │ for interface peripherals,  │ │                     │ real-time operating         │ │                     │ systems, and middleware. It │ │                     │ simplifies software re-use, │ │                     │ reducing the learning curve │ │                     │ for new microcontroller     │ │                     │ developers and cutting the  │ │                     │ time-to-market for devices. │ ├─────────────────────┼─────────────────────────────┤ │framework_libopencm3 │ The libOpenCM3 framework    │ │                     │ aims to create a            │ │                     │ free/libre/open-source      │ │                     │ firmware library for        │ │                     │ various ARM                 │ │                     │ Cortex-M0(+)/M3/M4          │ │                     │ microcontrollers, including │ │                     │ ST STM32, Ti Tiva and       │ │                     │ Stellaris, NXP LPC 11xx,    │ │                     │ 13xx, 15xx, 17xx parts,     │ │                     │ Atmel SAM3, Energy Micro    │ │                     │ EFM32 and others.           │ ├─────────────────────┼─────────────────────────────┤ │framework_mbed       │ The mbed framework The mbed │ │                     │ SDK has been designed to    │ │                     │ provide enough hardware     │ │                     │ abstraction to be intuitive │ │                     │ and concise, yet powerful   │ │                     │ enough to build complex     │ │                     │ projects. It is built on    │ │                     │ the low-level ARM CMSIS     │ │                     │ APIs, allowing you to code  │ │                     │ down to the metal if        │ │                     │ needed. In addition to      │ │                     │ RTOS, USB and Networking    │ │                     │ libraries, a cookbook of    │ │                     │ hundreds of reusable        │ │                     │ peripheral and module       │ │                     │ libraries have been built   │ │                     │ on top of the SDK by the    │ │                     │ mbed Developer Community.   │ ├─────────────────────┼─────────────────────────────┤ │framework_spl        │ The ST Standard Peripheral  │ │                     │ Library provides a set of   │ │                     │ functions for handling the  │ │                     │ peripherals on the STM32    │ │                     │ Cortex-M3 family. The idea  │ │                     │ is to save the user (the    │ │                     │ new user, in particular)    │ │                     │ having to deal directly     │ │                     │ with the registers.         │ └─────────────────────┴─────────────────────────────┘