_ _ _ _ | (_) |__ _ __ ___ __ _ _ __ | | ___ | | | '_ \| '_ ` _ \ / _` | '_ \| |/ _ \ | | | |_) | | | | | | (_| | |_) | | __/ |_|_|_.__/|_| |_| |_|\__,_| .__/|_|\___| |_| by LeafLabs! The latest version of this repository can be found here: http://github.com/leaflabs/libmaple Instructions to Compile for ARM Targets ------------------------------------------------------------------------------ A HOWTO is available in the "Unix Toolchain Quickstart" guide at: http://leaflabs.com/docs/unix-toolchain.html HTML documentation for this repository is automatically generated from the source code and the files under the top-level /docs/ directory. It is available online at: http://leaflabs.com/docs/ (For more information on how this documentation is generated, see /docs/README). Instructions to Create a Library ------------------------------------------------------------------------------ TODO: fold this section into the Unix Toolchain Quickstart. If you have a complicated project with its own Makefile and multiple source files, or you're using an IDE that creates its own Makefile, you'll probably want to load libmaple from an archive (a build-time library, not a DLL). To create an archive, use the "make library" target, and install build/libmaple.a and the appropriate headers in your project's directory. At a minimum, the header set will include libmaple.h, util.h, and libmaple_types.h. Repository Layout ------------------------------------------------------------------------------ /build/ Compiler output /contrib/ Community-contributed resources. LeafLabs doesn't maintain the contents of this directory, so it may get stale. /docs/ Source code and build scripts for Doxygen and Sphinx documentation. The libmaple HTML documentation is generated from these files. It is available under http://leaflabs.com/docs/. /examples/ Example code and test programs. Copy these to /main.cpp to compile them. /libmaple/ Lowest level definitions, routines, macros, and functions. This is the meat of the library. The Arduino-like compatibility layer is in /wirish/. /libraries/ Special-purpose libraries that don't merit inclusion in the /libmaple/ and /wirish/ directories, which are intended for general use. Arduino-compatible libraries go here. /LICENSE Licensing and copyright information. /main.cpp.example main.cpp is required for a successful build but is non-existent by default; use this file as a template for building your program. By default, just blinks an LED. /Makefile libmaple build instructions for GNU Make. /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. /README/ This file. /support/ Support files and scripts for various purposes. codeblocks/ [OBSOLETE] Config files for the Code::Blocks IDE. gdb/ GDB scripts. ld/ Linker scripts. make/ Additional scripts used by the top-level Makefile. openocd/ OpenOCD scripts for JTAG debugging. scripts/ Miscellany. stm32loader.py Script for uploading via the built-in USART bootloader. TODO Various undone tasks. Also see our bugtracker at http://code.google.com/p/leaflabs/issues/list /wirish/ Extra wrappers and functionality around the lower level code in /libmaple/. These files implement an Arduino "Wiring"-like library.