Small example project for STM32F767ZI-Nucleo-144 board using GCC, Make, GDB and st-link or openocd for debugging.
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
src documentation + cleanup Feb 22, 2017
sys appropriate debugging options; better docs; heapsize handling Feb 23, 2017
.gitignore generate info on stack usage (.su files) Mar 9, 2017
Makefile more assembler output for better low-level debugging Jun 25, 2018

STM32F767ZI-Nucleo-144 board example project

Small example project for STM32F767ZI-Nucleo-144 board using the hackers choice of tools:

  • GCC

  • GNU Make

  • GDB and one of ST-Link or OpenOCD for debugging and flashing

Originally based on (thanks to!), the Makefile has been enhanced with additional debugging options and simple GDB integration.

The sources and Makefile have been stripped to bare minimum by referencing the original CUBE7 package downloadable from ST.


  • You need to download the CUBE F7 zip from ST and set the correspondig environment variable or fix the Makefile (see Notes and pointers).

  • The setup is optimized for debugging and GDB integration. Thus, it uses -O0 -g -gdwarf2 to allow remote debugging. For production use, you might want to change DEBUG_OPTIMIZE_FLAGS to -O2.

  • HEAP SIZE is currently fixed to 0x400 (in the Makefile). For a larger heap, fix this. It is used in sys/_sbrk.c. A better solution would be to create an appropriate linker script that defines the value for HEAP_SIZE, just like it currently defines the start of the heap as _end.

Notes and pointers





Prior Art