Requirements for a modern software development environment
Firmware development is no different than any other form of software development and the tools we use are crucial for effective work. To make this book and the examples accessible as much as possible, the first requirement we’ll set is to use free tools. The compiler is the basis and the most important part of every development requirement, so let’s define the requirements and choose a compiler for our needs.
Compiler
Since we’re exploring modern C++, we’ll require compiler support for the C++23 standard. The latest version of ARM GNU Toolchain (based on GCC) is 13.2; it supports C++23 and is free. It’s also the most commonly used free compiler toolchain for ARM development, making it a perfect fit for our compiler.
ARM GNU Toolchain comes with C and C++ compilers, GNU Debugger (GDB), which we’ll use for debugging, and other useful tools, such as objcopy, objdump, size...