Ondřej Hruška
098a23a810
|
6 years ago | |
---|---|---|
Drivers | 7 years ago | |
GexCore@3d3d74f381 | 6 years ago | |
GexUnits | 6 years ago | |
Inc | 6 years ago | |
Middlewares/Third_Party/FreeRTOS/Source | 7 years ago | |
Patches | 7 years ago | |
Src | 6 years ago | |
.gitignore | 6 years ago | |
.gitmodules | 6 years ago | |
.mxproject | 7 years ago | |
CMakeLists.txt | 6 years ago | |
LICENSE.txt | 6 years ago | |
Makefile | 6 years ago | |
README.md | 6 years ago | |
STM32F072RBTx_FLASH.ld | 7 years ago | |
attach.gdb | 7 years ago | |
avstack.pl | 7 years ago | |
build.mk.example | 6 years ago | |
convertnl.sh | 7 years ago | |
dbg-client.sh | 7 years ago | |
dbg-server.sh | 7 years ago | |
fix_cube_mf.php | 7 years ago | |
gdb-pipe.cfg | 7 years ago | |
gex-f072.ioc | 7 years ago | |
openocd.cfg | 7 years ago | |
openocd.log | 7 years ago | |
parsemap.php | 7 years ago | |
run.gdb | 7 years ago | |
startup_stm32f072xb.s | 7 years ago |
README.md
GEX Firmware for STM32F072
This is the STM32F072 GEX firmware, supporting all STM32F072 GEX boards (including the F072 Discovery).
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 - upstream (F072)
- git.ondrovo.com/gex/gex-core - upstream (GexCore submodule)
- github.com/gexpander/gex-f072 - GitHub mirror (F072)
- 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
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
anddfu-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.