In this lecture, we are programming a microcontroller using bare metal, which means
without library or tool. However:
- In practice, we of course use libraries for most applications
- For each microcontroller, toolchain and flashing software are specific!
PlatformIO is a swiss-knife allowing you to install automatically
cross-compilation toolchains, libraries, and the flashing tools.
- Platforms: a processor architecture (ARM, AVR, ESP32...)
- Frameworks: software environment (for example Arduino or mbed)
- Boards: development boards supported
- Libraries: allowing you to support extra hardware or features
- Centralizing installation of toolchain and development tools
- Working on embedded system project mixing multiple target platforms for same codebase
- Sharing your dependencies using a configuration file
PlatformIO comes with a command line tool (PlatformIO core) and a VSCode integration.