floatpump-firmware/README.md

2.1 KiB

FloatPUMP - Firmware Repository

This repository contains the necessary files to completely build the firmware for the FloatPUMP controller. The toolchain used in this project is built up using docker. The following sections describe how to setup the jetbrains CLion IDE to automatically use the included docker image to build the project. It also contains some description on how to use OpenOCD to flash the controller using a STLink-V2 Programmer.

Toolchain Setup

This chapter describes how to setup the CLion IDE to use the toolchain built with docker.

Prerequisites

  • Install jetbrains CLion IDE
  • Install Docker
  • Open the Project by clicking New project from version control

Build the docker image

You can build the image by yourself. Alternatively you can pull the image from the robtor.de registry. Open a command line and enter the subdirectory build-tools. There run the follwing command to build the docker image:

docker build -t dev-arm-stm32:latest .

As an alternative you could open the Dockerfile in this directory using CLion and build it directly out of the IDE!

Pulling the image

This method is currently not supported. Coming soon...

Configure toolchain

First enter the Settings dialog in CLion while the floatpump-firmware project is opened. Under Build, Execution, Deployment > Toolchain add a new toolchain and choose the type docker. Now setup everything as depicted in this screenshot: toolchain_settings.png

If you named the image different than dev-arm-stm32:latest, choose the correct image corresponding to your name.

Usually now the correct CMake build targets should appear under Build, Execution, Deployment > CMake.

Configure OpenOCD

To configure OpenOCD for directly flashing and debugging out of CLion go to the BuildTargets dropdown in the header line and click on Edit configurations. There add a new configuration for OpenOCD and enter the following proerties: openocd_settings.png As Board config file chosse the correct floatpump.cfg file contained in the project root dir.