aboutsummaryrefslogtreecommitdiffstats
path: root/README
diff options
context:
space:
mode:
Diffstat (limited to 'README')
-rw-r--r--README132
1 files changed, 117 insertions, 15 deletions
diff --git a/README b/README
index 60fb888..400e656 100644
--- a/README
+++ b/README
@@ -1,24 +1,126 @@
-This repository contains source files used to generate the
-documentation for LeafLabs' libmaple and Maple IDE projects [*]. The
-HTML documentation generated from these sources is available online:
+
+ _ _ _ _
+ | (_) |__ _ __ ___ __ _ _ __ | | ___
+ | | | '_ \| '_ ` _ \ / _` | '_ \| |/ _ \
+ | | | |_) | | | | | | (_| | |_) | | __/
+ |_|_|_.__/|_| |_| |_|\__,_| .__/|_|\___|
+ |_| by LeafLabs!
+ leaflabs.com
+
+
+The latest version of this repository can be found here:
+
+ https://github.com/leaflabs/libmaple
+
+IMPORTANT: read HACKING _before_ submitting patches.
+
+General information
+------------------------------------------------------------------------------
+
+libmaple is a library for programming ST's STM32 line of Cortex M3
+microcontrollers. It has a pure C layer, libmaple proper, which does
+most of the work, and a C++ layer, Wirish, which provides high-level
+convenience functions and a Wiring/Arduino-compatible interface.
+
+libmaple is designed for portability, and currently runs on a variety
+of STM32F1 performance and value line MCUs, with experimental support
+for STM32F2 MCUs.
+
+Using libmaple
+------------------------------------------------------------------------------
+
+The easiest way to use libmaple is in concert with the Maple IDE.
+Maple IDE, a sister project from LeafLabs, is an Arduino IDE fork
+usable for programming Maple boards, which includes libmaple and a
+compilation and upload toolchain:
+
+ http://leaflabs.com/docs/maple-ide-install.html
+
+Additionally, a HOWTO on setting up this library for use from the
+command line in a Unix environment is available here:
+
+ http://leaflabs.com/docs/unix-toolchain.html
+
+Documentation, Etc.
+------------------------------------------------------------------------------
+
+HTML documentation for the latest release of libmaple/Maple IDE is
+available here:
http://leaflabs.com/docs/
-The above URL is the recommended way for users to read the
-documentation. The docs for the latest release are always available
-there.
+libmaple is well documented via Doxygen comments. The HTML
+documentation referenced above (which also includes the Doxygen
+output) is automatically generated from the source files in the
+leaflabs-docs repository. In order to obtain the leaflabs-docs
+repository, visit:
-Older versions are here:
+ http://github.com/leaflabs/leaflabs-docs/
- http://static.leaflabs.com/pub/leaflabs/maple-docs/
+Repository Layout
+------------------------------------------------------------------------------
-The file README-building.txt explains how to build the HTML docs.
+/build/
-The file README-maintainers.txt contains important information for
-maintainers of the documentation (e.g. how to add docs for a new
-board, how to cut a release version of the docs, etc.).
+ Compiler output
-[*] libmaple and Maple IDE themselves are in separate repositories:
+/contrib/
- https://github.com/leaflabs/libmaple
- https://github.com/leaflabs/maple-ide
+ Community-contributed resources. LeafLabs doesn't maintain the
+ contents of this directory, so it may get stale.
+
+/examples/
+
+ Example code and test programs. Copy these to /main.cpp to compile them.
+
+/libmaple/
+
+ This is the meat of the library. C only, no C++. The
+ Arduino-like compatibility layer (in C++) 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. (This is supplemented by
+ build-targets.mk, the rules.mk files throughout the tree, and the
+ files in support/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 files used by the top-level Makefile.
+ scripts/ Miscellany.
+ doxygen/ Doxygen configuration.
+ stm32loader.py Upload script for the STM32's built-in USART bootloader.
+
+/wirish/
+
+ Extra wrappers and functionality around the lower level code in
+ /libmaple/. These files implement an Arduino "Wiring"-like
+ library.