Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
C and C++ library for STM32 ARM Cortex-M3 development boards.

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
docs
examples
libmaple
notes
support
wirish
.dir-locals.el
.gitignore
LICENSE
Makefile
README
TODO
build-targets.mk
main.cpp.example

README

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



The latest version of this repository can be found at:
http://github.com/leaflabs/libmaple

libmaple Repo Layout
------------------------------------------------------------------------------
/LICENSE
    Licensing and copyright information

/main.cpp.example
    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.

/build/
    Binary output

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

/wirish/
    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.

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

/support/notes/
    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 best HOWTO for developing with this code is the "libmaple Unix Toolchain
Quickstart" guide at http://leaflabs.com/docs/libmaple/unix-toolchain/.

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
from:

    http://www.codesourcery.com/sgpp/lite/arm

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 help'
and follow the directions!

Something went wrong with that request. Please try again.