GEX port to STM32F072. This is currently the main port.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
gex-f072/README.md

51 lines
2.3 KiB

# GEX Firmware for STM32F072
6 years ago
This is the STM32F072 GEX firmware, supporting all STM32F072 GEX boards (including the F072 Discovery).
6 years ago
## Links
GEX repositories are mirrored on GitHub to make it easier to submit issues and propose improvements
via "pull requests". **Please use the upstream repository** when cloning to ensure you have the latest
version of the code. The mirrors are kept up-to-date, but they may fall behind.
- [git.ondrovo.com/gex/gex-f072](https://git.ondrovo.com/gex/gex-f072) - upstream (F072)
- [git.ondrovo.com/gex/gex-core](https://git.ondrovo.com/gex/gex-f072) - upstream (GexCore submodule)
- [github.com/gexpander/gex-f072](https://github.com/gexpander/gex-f072) - GitHub mirror (F072)
- [github.com/gexpander/gex-core](https://github.com/gexpander/gex-core) - GitHub mirror (GexCore submodule)
## Building the Firmware
Make sure you clone the repository recursively (`git clone --recursive ...`), or run
`git submodule update --init` afterwards, to initialize the GexCore submodule.
In order to build the firmware, first copy the configuration file template `build.mk.example` to
`build.mk`, modify as desired, then run `make` to build the binary image (see the Make Targets
section below for more options).
Individual GEX units can be enabled or disabled in `build.mk`, and the target platform (your GEX
board model) is selected here as well. The config file is excluded from version control.
## Requirements
6 years ago
Listed versions were used during development. Other (particularly newer) versions may work too,
but without a guarantee. Please submit patches needed to fix incompatibilities, or at least let me
know.
- **arm-none-eabi-gcc** (v8.1)
- **arm-none-eabi-binutils** (v2.30)
- **arm-none-eabi-newlib** (v3.0)
- **make** (GNU, v4.2)
- **tr** (GNU coreutils 8.29 - but any version should work)
- **dfu-util** (v0.9) for DFU flashing
- **stlink** (texane, v1.5) for ST-Link flashing
## Make Targets
- **make** - basic build (recommended to use with `-j` for faster builds)
- **make flash** - flash using `st-flash`
- **make dfu** - flash using `dfu-convert` and `dfu-util`
- **make clean** - clean files generated during build
All make targets depend on all Makefiles, meaning any modification triggers a full (`-B`)
rebuild the next time you try to build or flash the firmware.