PlatformIO Core Documentation

repository·develop·Indexed 27 days ago

https://github.com/platformio/platformio-core

A professional ecosystem for embedded software development featuring a unified build system, debugging, and testing framework. This documentation covers the PlatformIO Core CLI and the AccountClient API for managing user accounts, authentication, profiles, organizations, and teams.

Tokens
16.8K
Snippets
2
Records
173
Agent score
91%

What's inside PlatformIO Core

  1. Overview of PlatformIO Core

    develop
    PlatformIO Core is an open-source, cross-platform ecosystem for embedded software development. It provides a multi-platform and multi-architecture build system, a unified debugger, static code analysis, and remote unit testing capabilities. It is licensed under the Apache 2.0 license.
  2. Explore PlatformIO Core features and solutions

    develop

    PlatformIO Core offers several key capabilities for embedded development:

    Core Capabilities

    • Build System: Multi-platform and multi-architecture support.
    • Debugging: Unified Debugger and advanced debugging tools.
    • Testing: Remote unit testing and test-driven methodologies.
    • Analysis: Static Code Analyzer (via pio-check).
    • File Management: Firmware File Explorer and Memory Inspection.

    Key Solutions

    • Library Management: Automated management of embedded libraries.
    • IDE Integration: Integration with various desktop IDEs.
    • Continuous Integration: Support for CI/CD workflows.
    • Remote Development: Capabilities for remote development environments.
  3. Configure PlatformIO Telemetry settings

    develop
    PlatformIO enables minimal diagnostics and usage information sharing by default to help improve the platform. You can manage these settings via the command line or configuration files. Refer to the Telemetry Setting documentation for specific instructions on how to enable or disable telemetry.
  4. Add new board environments to an existing project

    develop

    You can use platformio init with the --board flag to add new environment sections to an existing platformio.ini file. PlatformIO will automatically determine the correct platform and framework for the specified board.

    If you provide --project-option, these options will be applied to the newly created environment section. You can also use --env-prefix to customize the name of the generated environment section (e.g., env:my_prefixboard_id).

  5. Configure library storage scope

    develop

    When using pio lib commands, you can control which library storage is being managed using the following flags:

    • -d, --storage-dir <DIR>: Manage custom library storage in the specified directory(s).
    • -g, --global: Manage the global PlatformIO library storage.
    • -e, --environment <ENV>: Manage libraries for specific project build environments declared in platformio.ini.
  6. Configure `check` tools in `platformio.ini`

    develop

    You can configure static analysis tools directly within your platformio.ini file under specific environments.

    Supported configuration keys per environment:

    • check_tool: A list of tools to run (e.g., check_tool = cppcheck).
    • check_src_filters: Filters for source files to be checked.
    • check_patterns: Alternative to check_src_filters.
    • check_flags: Additional flags to pass to the tool.
    • check_severity: The minimum severity level to report.
    • check_skip_packages: Whether to skip platform packages.
    • platform_packages: List of platform packages to include/exclude.
  7. Access the PlatformIO Registry

    develop

    The PlatformIO Registry is a central repository where you can discover and use various components for your embedded projects:

    • Libraries: Search for and integrate third-party libraries.
    • Development Platforms: Find support for specific hardware platforms and architectures.
    • Development Tools: Access specialized tools for the embedded ecosystem.