This is an old revision of the document!
Table of Contents
libmaple
libmaple is a firmware library for the Leaflabs maple and maple mini and clones with STM32 CPUs.
The firmware library was built with this compiler.
Download
mkdir -p /embedded/arm-cortex/src cd /embedded/arm-cortex/src git clone https://github.com/leaflabs/libmaple.git cd libmaple
Help
make CROSS_COMPILE=/embedded/arm-cortex/gcc-arm-none-eabi-4_9-2014q4/bin/arm-none-eabi- help Basic usage (BOARD defaults to maple): $ cp your-main.cpp main.cpp $ make BOARD=your_board $ make BOARD=your_board install (Multiple source files? Link with libmaple.a (`$ make library') or hack build-targets.mk appropriately.) Important targets: sketch: Compile for BOARD to MEMORY_TARGET (default). install: Compile and upload over USB using Maple bootloader You *must* set BOARD if not compiling for Maple (e.g. use BOARD=maple_mini for mini, etc.), and MEMORY_TARGET if not compiling to Flash. Run `$ make list-boards' for a list of all boards. Valid MEMORY_TARGETs (default=flash): ram: Compile to RAM (doesn't touch Flash) flash: Compile to Flash (for Maple bootloader) jtag: Compile for JTAG/SWD upload (overwrites bootloader) Other targets: clean: Remove all build and object files doxygen: Build Doxygen HTML and XML documentation help: Show this message mrproper: Remove all generated files
List boards
make CROSS_COMPILE=/embedded/arm-cortex/gcc-arm-none-eabi-4_9-2014q4/bin/arm-none-eabi- list-boards cm900 maple_mini maple maple_native maple_RET6 nucleo olimex_stm32_h103 opencm904 st_stm3220g_eval VLDiscovery
Demo
cp examples/blinky.cpp main.cpp make CROSS_COMPILE=/embedded/arm-cortex/gcc-arm-none-eabi-4_9-2014q4/bin/arm-none-eabi- BOARD=maple_mini install