All Projects → stv0g → Stm32cube Gcc

stv0g / Stm32cube Gcc

A developement environment for projects based on the STM32Cube firmware.

Labels

Projects that are alternatives of or similar to Stm32cube Gcc

Injectdemo
Stars: ✭ 69 (-11.54%)
Mutual labels:  makefile
Packages
Community maintained packages for OpenWrt.
Stars: ✭ 74 (-5.13%)
Mutual labels:  makefile
Kakwafont
Kakwafont, a 12px monospace bitmap font based on Terminus
Stars: ✭ 76 (-2.56%)
Mutual labels:  makefile
Aws Lambda Swift Sprinter
AWS Lambda Custom Runtime for Swift with swift-nio 2.0 support
Stars: ✭ 70 (-10.26%)
Mutual labels:  makefile
Ponydebuggerinjected
MobileSubstrate Extension to allow PonyDebugger client to be injected into running apps
Stars: ✭ 74 (-5.13%)
Mutual labels:  makefile
Sblg
static blog utility
Stars: ✭ 75 (-3.85%)
Mutual labels:  makefile
Sweet
Official repository for Semantic Web for Earth and Environmental Terminology (SWEET) Ontologies
Stars: ✭ 69 (-11.54%)
Mutual labels:  makefile
Handbook
The Niteo Handbook
Stars: ✭ 77 (-1.28%)
Mutual labels:  makefile
Browsenx
Launches the browser via nsp
Stars: ✭ 75 (-3.85%)
Mutual labels:  makefile
Homeland Docker
🚀 Deployment Homeland with Docker
Stars: ✭ 76 (-2.56%)
Mutual labels:  makefile
Xavr
An AVR C project template for XCode
Stars: ✭ 70 (-10.26%)
Mutual labels:  makefile
Hello Enclave
A "Hello World" Intel SGX enclave program
Stars: ✭ 74 (-5.13%)
Mutual labels:  makefile
Adafruit atmega32u4 breakout board
Atmega32u4 Breakout Board
Stars: ✭ 75 (-3.85%)
Mutual labels:  makefile
Adafruit icufflinks
Adafruit iCufflinks
Stars: ✭ 69 (-11.54%)
Mutual labels:  makefile
Rusted Switch
Nintendo Switch Homebrew with Rust 🦀
Stars: ✭ 75 (-3.85%)
Mutual labels:  makefile
Translation
translation work flow
Stars: ✭ 69 (-11.54%)
Mutual labels:  makefile
Zcash Apple
Zcash for Apple platforms
Stars: ✭ 75 (-3.85%)
Mutual labels:  makefile
Android device zuk z2 plus
Android device configuration for ZUK Z2 (z2_plus)
Stars: ✭ 78 (+0%)
Mutual labels:  makefile
Kbd
for building keyboard libraries
Stars: ✭ 77 (-1.28%)
Mutual labels:  makefile
Hornbill Examples
Stars: ✭ 76 (-2.56%)
Mutual labels:  makefile

STM32Cube Makefile

This is a template application for the STM32 ARM microcontrollers that compiles with GNU tools.

It serves as a quick-start for those who do not wish to use an IDE, but rather develop in a text editor of choice and build from the command line.

Target Overview

  • all Builds the target ELF binary.
  • program Flashes the ELF binary to the target board.
  • debug Launches GDB and connects to the target.
  • cube Downloads the most recent STM32Cube version from the ST website and extract it to cube.
  • template Copies a simple example/template, startup code and a linker script from the cube to your src directory.
  • clean Remove all files and directories which have been created during the compilation.

Installing

Before building, you must install the GNU compiler toolchain. I'm using the the gnu-none-eabi triple shipped with recent Debian and Ubuntu versions:

sudo apt-get install gcc-arm-none-eabi binutils-arm-none-eabi

You also might want to install some other libraries and debuggers:

sudo apt-get install openocd gdb-arm-none-eabi libnewlib-arm-none-eabi libstdc++-arm-none-eabi-newlib

Source code

Your source code has to be put in the src directory. Dont forget to add your source files in the Makefile.

Programming and debugging code on the board

First, make sure you have OpenOCD installed and in your path (see above). Recent versions already come with full support for the discovery and nucleus boards. Then connect your board, and load the application by saying:

make program

To load the program and debug it using GDB, simply use the debug target:

make debug

GDB connects to the board by launching OpenOCD in the background. See this blog post for info about how it works.

UDEV Rules for the Discovery Boards

If you are not able to communicate with the Discovery board without root privileges you should add appropriate udev rules.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].