This example was written for the STM32F429 development board. I manipulated the STM32F429 "hello world" example contained in the STM32 Cube Firmware v1.18.0 to make a ball (circle) infinitely bounce around the LCD screen of the STM32F429 development board.
I've added a makefile so that it can easily be built without an IDE (see directions below). The software has a dependency on the STM32 Cube Firmware v1.18.0.
Foreword
I currently (Winter 2018) use Windows as my main development machine, however, I'm fairly certain the following build steps can be done using a typical Linux distro (with a few minor tweaks) and quite possibly MacOS as well.
Prerequisites
- An STMF32F429 development board. Currently they can be ordered from the usual sites for around $30 USD plus shipping.
- Download and install the GNU Arm Embedded Toolchain
- Download and install GNU Make for Windows
- Download and install the STM32 ST-Link Utility.
- Download and uncompress STM32 Cube Firmware (I'm using v1.18.0)
Compiling and Flashing the Program to the Dev Board
- Open a GCC Command Prompt. Note that a "GCC Command Prompt" option was installed when installing the GNU Arm Embedded Toolchain and should be available from the Windows Start Menu.
- Change to the BouncingBall directory and run "make STM32CubeDir=LocationOfSTM32Cube" subsituting in the location of STM32Cube Firmware package on your machine. This will compile the program into a bin file.
- Open the STM32 ST-Link Utility and select "Program" from the "Target" pulldown menu.
- Navigate to the BouncingBall directory and select main.bin.
- Click "Start" to flash main.bin to the development board. After this is done you should see a blue "ball" bouncing around the LCD screen on the STM32F429 dev board.