Skip to content

Instantly share code, notes, and snippets.

@jaka
Created April 26, 2018 14:34
Show Gist options
  • Save jaka/f4232b0cb442745b390b70abe227f044 to your computer and use it in GitHub Desktop.
Save jaka/f4232b0cb442745b390b70abe227f044 to your computer and use it in GitHub Desktop.
STM32F0 under Linux Tutorial

STM32F0 under Linux — Tutorial

Updated April, 2018.

Setting up the ARM GCC toolchain, OpenOCD and ST-Link

This is a tutorial on setting up a complete developing environment on Linux OS by using a free and open tools. The official ARM (GNU Tools for ARM Embedded Processors) GCC toolchain, OpenOCD and Texane's ST-Link debugger/programmer utilities will be used.

Why the ARM Cortex-M0 & why the STM32F0 Family Specifically?

The ARM Cortex-M0 is a 32-bit core that strikes an excellent balance between performance, power usage and price. It may not be as sophisticated and powerful as its older siblings the ARM Cortex-M3 and M4, but its simplicity, ease of use, lower cost and reduced power consumption easily makes up for that. The ARM Cortex-M0 core was designed to compete with other 8-bit/16-bit microcontroller cores like ARM and PIC and it succeeds in this goal on all major fronts; performance, low power, low price and short time to market.

The STM32F0 Microcontroller family has a very generous dose of hardware peripherals generous memory options and now more packaging options that include 20 pin TSSOP(0.65mm) and 32 pin LQFP (0.8mm), both of which are easier to hand solder than the classic 0.5mm QFP and QFN packages that are the norm for 32-bit microcontrollers.

Downloading & installing the toolchain

The toolchain mentioned above (GNU Tools for ARM Embedded Processors) is actively developed by ARM engineers and is used in many Commercial IDEs. It is free, complete, has no limitations and is regularly updated. Be sure to download the Linux version from the Toolchain Website.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment