_ _ _ _ | (_) |__ _ __ ___ __ _ _ __ | | ___ | | | '_ \| '_ ` _ \ / _` | '_ \| |/ _ \ | | | |_) | | | | | | (_| | |_) | | __/ |_|_|_.__/|_| |_| |_|\__,_| .__/|_|\___| |_| by LeafLabs! The latest version of this repository can be found here: http://github.com/leaflabs/libmaple General information ------------------------------------------------------------------------------ A HOWTO on setting up this library for use in a Unix environment is available in our online HTML documentation: http://leaflabs.com/docs/unix-toolchain.html The HTML docs for this repository are automatically generated from the source code and the files under the top-level /docs/ directory. For more information, see /docs/README. Our bugtracker is available at: http://code.google.com/p/leaflabs/issues/list For changes that block official releases, see our wiki: http://wiki.leaflabs.com/index.php?title=Blocking_Changes 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. /README/ This file. /support/ Support files and scripts for various purposes. 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. /wirish/ Extra wrappers and functionality around the lower level code in /libmaple/. These files implement an Arduino "Wiring"-like library.