Compare commits
No commits in common. "master" and "beta-0.1.0" have entirely different histories.
master
...
beta-0.1.0
8
.idea/.gitignore
generated
vendored
8
.idea/.gitignore
generated
vendored
@ -1,8 +0,0 @@
|
||||
# Default ignored files
|
||||
/shelf/
|
||||
/workspace.xml
|
||||
# Editor-based HTTP Client requests
|
||||
/httpRequests/
|
||||
# Datasource local storage ignored files
|
||||
/dataSources/
|
||||
/dataSources.local.xml
|
1
.idea/.name
generated
1
.idea/.name
generated
@ -1 +0,0 @@
|
||||
FloatPUMP
|
11
.idea/cmake.xml
generated
11
.idea/cmake.xml
generated
@ -1,11 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="CMakeSharedSettings">
|
||||
<configurations>
|
||||
<configuration PROFILE_NAME="Debug-fw" ENABLED="true" GENERATION_DIR=".out/fw-debug" CONFIG_NAME="Debug" TOOLCHAIN_NAME="dev-arm-stm32" NO_GENERATOR="true" />
|
||||
<configuration PROFILE_NAME="Release-fw" ENABLED="true" GENERATION_DIR=".out/fw-release" CONFIG_NAME="Release" TOOLCHAIN_NAME="dev-arm-stm32" NO_GENERATOR="true" />
|
||||
<configuration PROFILE_NAME="RelWithDebInfo-fw" ENABLED="true" GENERATION_DIR=".out/fw-relwithdebinfo" CONFIG_NAME="RelWithDebInfo" TOOLCHAIN_NAME="dev-arm-stm32" NO_GENERATOR="true" />
|
||||
<configuration PROFILE_NAME="MinSizeRel-fw" ENABLED="true" GENERATION_DIR=".out/fw-minsizerel" CONFIG_NAME="MinSizeRel" TOOLCHAIN_NAME="dev-arm-stm32" NO_GENERATOR="true" />
|
||||
</configurations>
|
||||
</component>
|
||||
</project>
|
2
.idea/floatpump-firmware.iml
generated
2
.idea/floatpump-firmware.iml
generated
@ -1,2 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<module classpath="CMake" type="CPP_MODULE" version="4" />
|
4
.idea/misc.xml
generated
4
.idea/misc.xml
generated
@ -1,4 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="CMakeWorkspace" PROJECT_DIR="$PROJECT_DIR$" />
|
||||
</project>
|
8
.idea/modules.xml
generated
8
.idea/modules.xml
generated
@ -1,8 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="ProjectModuleManager">
|
||||
<modules>
|
||||
<module fileurl="file://$PROJECT_DIR$/.idea/floatpump-firmware.iml" filepath="$PROJECT_DIR$/.idea/floatpump-firmware.iml" />
|
||||
</modules>
|
||||
</component>
|
||||
</project>
|
6
.idea/vcs.xml
generated
6
.idea/vcs.xml
generated
@ -1,6 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="VcsDirectoryMappings">
|
||||
<mapping directory="$PROJECT_DIR$" vcs="Git" />
|
||||
</component>
|
||||
</project>
|
102
README.md
102
README.md
@ -1,101 +1,3 @@
|
||||
# FloatPUMP - Firmware Repository
|
||||
# study_research
|
||||
|
||||
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](doc/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](doc/openocd_settings.png)
|
||||
As `Board config file` chosse the correct `floatpump.cfg` file contained in the project root dir.
|
||||
|
||||
## Project structure
|
||||
|
||||
| Folder | Contents |
|
||||
|:--------------------------------|:-----------------------|
|
||||
| .out | Build output directory |
|
||||
| build-tools | Files for building the toolchain|
|
||||
| doc | Files for documentation or inclusion in .md Files|
|
||||
| floatpump/Core | Firmware core source files |
|
||||
| floatpump/Drivers | STM32 HAL and CMSIS Library files |
|
||||
| floatpump/Middlewares/floatpump | Modules for the floatpump firmware |
|
||||
| Middlewares/ST | STM32 Middleware files for USB OTG implementation |
|
||||
| USB_DEVICE | same as above |
|
||||
| net | Folder containing material for external Tasmota device and SmartHome integration |
|
||||
| stm32-cube | Old files from the originating STM32 Cube Project |
|
||||
|
||||
# License
|
||||
| Component | Copyright | License |
|
||||
|:--------- |:----------------------------------------------------------|:---------------------------------------------|
|
||||
| CMSIS | ARM Limited | Apache License 2.0 |
|
||||
| CMSIS Device | ARM Limited - STMicroelectronics | Apache License 2.0 |
|
||||
| STM32F4 HAL | STMicroelectronics | BSD-3-Clause |
|
||||
| BSP STM32F4-Discovery | STMicroelectronics | BSD-3-Clause |
|
||||
| BSP STM32F4xx_Nucleo_144 | STMicroelectronics | BSD-3-Clause |
|
||||
| BSP STM32F4xx-Nucleo | STMicroelectronics | BSD-3-Clause |
|
||||
| BSP STM32F401-Discovery | STMicroelectronics | BSD-3-Clause |
|
||||
| BSP STM32F411E-Discovery | STMicroelectronics | BSD-3-Clause |
|
||||
| BSP STM32F413H-Discovery | STMicroelectronics | BSD-3-Clause |
|
||||
| BSP STM32F429I-Discovery | STMicroelectronics | BSD-3-Clause |
|
||||
| BSP STM324x9I_EVAL | STMicroelectronics | BSD-3-Clause |
|
||||
| BSP STM324xG_EVAL | STMicroelectronics | BSD-3-Clause |
|
||||
| BSP STM32412G-Discovery | STMicroelectronics | BSD-3-Clause |
|
||||
| BSP STM32446E_EVAL | STMicroelectronics | BSD-3-Clause |
|
||||
| BSP STM32469I_EVAL | STMicroelectronics | BSD-3-Clause |
|
||||
| BSP STM32469I-Discovery | STMicroelectronics | BSD-3-Clause |
|
||||
| BSP Components | STMicroelectronics | BSD-3-Clause |
|
||||
| BSP Adafruit | STMicroelectronics | BSD-3-Clause |
|
||||
| FreeRTOS kernel | Amazon.com, Inc. or its affiliates | MIT |
|
||||
| FatFS | ChaN - STMicroelectronics | BSD-3-Clause |
|
||||
| LibJPEG | Thomas G. Lane, Guido Vollbe | Independent JPEG Group License |
|
||||
| LwIP | Swedish Institute of Computer Science | BSD-3-Clause |
|
||||
| mbedTLS | ARM Limited | Apache License 2.0 |
|
||||
| STM32_USB_Device_Library | STMicroelectronics | SLA0044 |
|
||||
| STM32_USB_Host_Library | STMicroelectronics | SLA0044 |
|
||||
| STemWin | STMicroelectronics | SLA0044 |
|
||||
| TouchGFX | STMicroelectronics | SLA0044 |
|
||||
| STM32_Audio | STMicroelectronics | SLA0044 |
|
||||
| STM32 Projects | STMicroelectronics | SLA0044 (BSD-3-Clause for basic Examples) |
|
||||
| STM32 Utilities | STMicroelectronics | BSD-3-Clause |
|
||||
|
||||
The default `LICENSE` file applies on all other Components not covered by the table above!
|
||||
Studienarbeit Semester 7
|
4
build-tools/README.md
Normal file
4
build-tools/README.md
Normal file
@ -0,0 +1,4 @@
|
||||
# Toolchain Setup
|
||||
|
||||
## Prerequisites
|
||||
- Install Docker
|
Binary file not shown.
Before Width: | Height: | Size: 88 KiB |
Binary file not shown.
Before Width: | Height: | Size: 123 KiB |
Loading…
Reference in New Issue
Block a user