PlatformIO Core 4.1 ๐Ÿš€

Weโ€™re happy to announce the next release of PlatformIO Core 4.1.0!

platformio_core_4_1

What is new

  • PIO Check โ€“ automated code analysis without hassle:
    • Potential NULL pointer dereferences
    • Possible indexing beyond array bounds
    • Suspicious assignments
    • Reads of potentially uninitialized objects
    • Unused variables or functions
    • Out of scope memory usage.
  • PlatformIO Home 3.0 and Project Inspection
    • Static Code Analysis
    • Firmware File Explorer
    • Firmware Memory Inspection
    • Firmware Sections & Symbols Viewer.
  • Added support for Build Middlewares: configure custom build flags per specific file, skip any build nodes from a framework, replace build file with another on-the-fly, etc.
  • Extend project environment configuration in โ€œplatformio.iniโ€ with other sections using a new extends option (issue #2953)
  • Generate .ccls LSP file for Emacs cross references, hierarchies, completion and semantic highlighting
  • Added --no-ansi flag for PIO Core to disable ANSI control characters
  • Added --shutdown-timeout option to PIO Home Server
  • Improvements and bug fixes.

See PlatformIO 4.1.0 Release Notes for details.

PlatformIO Home 3.0

We are glad to announce a new version of the PlatformIO Home with several new features and improvements including a completely new advanced tool called Project Inspector!

:white_check_mark: Firmware File Explorer
:white_check_mark: Memory Inspection
:white_check_mark: Symbols and Sections Explorer
:white_check_mark: Static Code Analysis (based on PIO Check)

Have you ever taken an interest in how the linker is assigning physical memory, where your code is placed in Flash, or how much RAM is used by OS or peripheral drivers? The Project Inspector can easily answer these questions. You can use the Project Inspector to analyze application memory usage or to answer specific questions about in which memory section a variable or function is placed

Now we can cover all* phases of the embedded software engineering processes that are implemented in one ecosystem: development, testing, debugging, static analysis, memory inspection!
*Probably not all, CPU profiling is still missing :wink:

Demos of Project Inspector

Statistics for Memory & Code

Static Code Analysis

Firmware File Explorer

Firmware File Symbols

Firmware Symbols

Firmware Sections

Upgrade

  • PlatformIO IDE:
    - Atom: Menu: PlatformIO > Upgrade PlatformIO Core
    - VSCode: Left Sidebar > PlatformIO (icon) > Quick Access > Upgrade PlatformIO Core
  • Terminal: Please run pio upgrade command in terminal.

Regards,
The PlatformIO Team

2 Likes