Setting up an STM32F4 embedded project using GNU tools (gcc, ld, etc.) involves a few things – a makefile, a linker script and some startup code. This process is very similar for most or maybe all STM32 ARM microcontrollers. Creating a project template will greatly speed up development since we don’t have to go through the project creation process manually each time we create a new project. In this post we’ll explore how to set up a very simple project template that we can use as a starting point for future STM32F4 projects.