The development environment discussed here is minimal, terminal based, and cross platform. This configuration assumes that a terminal based text editor such as vim and the make utility are the primary tools for programming. It consists of following components: GNU ARM Embedded Toolchain Makefile Utility STM32CubeMX Flash Tool (JLink or OpenOCD) Hardware The most recent version of the compiler suite can be found here . The toolchain is self-sufficient. Thus you can simply unzip the archive into any directory of choice then you are good to go. In Linux, make utility is included in a package such as build-essential . If you have C/C++ compiler installed on your system then you already have it. In Windows, preferred way to get the utility is to install cygwin first, then to install make from there. Alternatively, you can use the one comes with MinGW system or you can find one of the precompiled version . However you may need to choose 32bi...