Skip to content


Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
C and C++ library for STM32 ARM Cortex-M3 development boards.
C C++ Assembly Python Makefile Objective-C

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.


                   _ _ _                           _      
                  | (_) |__  _ __ ___   __ _ _ __ | | ___ 
                  | | | '_ \| '_ ` _ \ / _` | '_ \| |/ _ \
                  | | | |_) | | | | | | (_| | |_) | |  __/
                  |_|_|_.__/|_| |_| |_|\__,_| .__/|_|\___|
                                            |_|               by leaflabs!

The latest version of this repository can be found at:

libmaple Repo Layout
    Licensing and copyright information

    main.cpp is required for a successful build but is non-existant by default;
    use this file as a template for building your program. By default just 
    blinks an LED.

    Binary output

    Lowest level definitions, routines, macros, and functions. This is the meat
    of the library.

    Extra wrappers and functionality around the lower level code which is 
    useful for programming in the IDE. Files in here implement the "Wirish"
    language, an Arduino "Wiring"-like language.

    What it sounds like. Copy these to /main.cpp to compile them.
    Linker scripts

    Unstructured text notes that may be useful. The 45-maple.rules udev file
    can be placed in /etc/udev/rules.d/ on compatible linux machines to allow
    non-root access to the Maple USB device for uploading.

Instructions to Compile for ARM Targets
The Codesourcery g++ compiler for arm platforms is required. It is based on gcc
(they push changes into gcc a couple times a year), get the latest EABI version

Note: grab the linux binaries for targeting the EABI platform (not to be 
confused with the linux binaries /tageting/ the linux platform).

I unzip the archive ("TAR") version into a directory such as 
~/bin/arm-gcc-codesourcery and then add the bin/ directory within that to my
$PATH in ~/.profile, resource that, then check that arm-none-eabi-gcc and
others are in my path.

You will also need to have dfu-util installed and on your path (on Linux) or
compiled and placed in a folder "dfu-util/" at the same level as the
maple-library folder (macosx and windows).

Write your program using /main.cpp as the entry point. Then just 'make' and
follow the directions!

Something went wrong with that request. Please try again.