Pular para o conteúdo principal

Intro

Frameworks

The term "PlatformIO framework" refers to the supported software development kits (SDKs) or programming environments that the PlatformIO Ecosystem allows you to use for building embedded software.

PlatformIO itself is an open-source, cross-platform, and multiple-framework professional tool for embedded systems and IoT development. It is often used as a powerful extension for IDEs like Visual Studio Code (VS Code).

NameDescription
ArduinoArduino 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.
CMSISVendor-independent hardware abstraction layer for the Cortex-M processor series
LibOpenCM3The libopencm3 project aims to create an open-source firmware library for various ARM Cortex-M microcontrollers.
STM32CubeSTM32Cube embedded software libraries, including: The HAL hardware abstraction layer, enabling portability between different STM32 devices via standardized API calls; The Low-Layer (LL) APIs, a light-weight, optimized, expert oriented set of APIs designed for both performance and runtime efficiency

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.

CMSIS

Common Microcontroller Software Interface Standard (CMSIS) CMSIS enables consistent device support and simple software interfaces to the processor and its peripherals, simplifying software reuse, reducing the learning curve for microcontroller developers, and reducing the time to market for new devices.

LibOpenCM3

Open-Source lowlevel hardware library for ARM Cortex-M3 microcontrollers (but also M0, M4 are supported and more to come)

The libopencm3 project (previously known as libopenstm32) aims to create a free/libre/open-source (LGPL v3, or later) 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.

STM32Cube

STM32Cube MCU and MPU packages for each individual STM32 MCU and MPU series include:

  • The hardware abstraction layer (HAL) enabling portability between different STM32 devices via standardized API calls
  • Low-layer (LL) APIs, a lightweight, optimized, expert-oriented set of APIs designed for both performance and runtime efficiency
  • A collection of middleware components including RTOS, USB library, file system, TCP/IP stack, touch-sensing library, or graphics library (depending on the STM32 series)
  • RF stacks such as Bluetooth® Low Energy 5.4, OpenThread, Zigbee 3.0, LoRaWAN®, and Sigfox, which are specific to every STM32 wireless series
  • For STM32 MPUs only, the BSP drivers are based on HAL drivers and provide an API set for the evaluation board and third-party components