2010-03-17 01:28:55 +01:00
|
|
|
|
2011-03-11 22:46:33 +01:00
|
|
|
_ _ _ _
|
|
|
|
| (_) |__ _ __ ___ __ _ _ __ | | ___
|
2010-03-31 02:52:45 +02:00
|
|
|
| | | '_ \| '_ ` _ \ / _` | '_ \| |/ _ \
|
|
|
|
| | | |_) | | | | | | (_| | |_) | | __/
|
|
|
|
|_|_|_.__/|_| |_| |_|\__,_| .__/|_|\___|
|
2011-03-11 22:46:33 +01:00
|
|
|
|_| by LeafLabs!
|
2011-06-12 01:25:29 +02:00
|
|
|
leaflabs.com
|
2010-03-31 02:52:45 +02:00
|
|
|
|
|
|
|
|
2011-03-11 22:46:33 +01:00
|
|
|
The latest version of this repository can be found here:
|
2010-03-31 02:52:45 +02:00
|
|
|
|
2011-06-12 01:25:29 +02:00
|
|
|
https://github.com/leaflabs/libmaple
|
2011-03-11 22:46:33 +01:00
|
|
|
|
2012-06-28 00:10:31 +02:00
|
|
|
IMPORTANT: read HACKING _before_ submitting patches.
|
|
|
|
|
2011-04-14 20:28:23 +02:00
|
|
|
General information
|
2010-03-31 02:52:45 +02:00
|
|
|
------------------------------------------------------------------------------
|
|
|
|
|
2011-06-12 01:25:29 +02:00
|
|
|
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.
|
|
|
|
|
2012-06-29 19:13:17 +02:00
|
|
|
libmaple is designed for portability, and currently runs on a variety
|
|
|
|
of STM32F1 performance and value line MCUs, with experimental support
|
|
|
|
for STM32F2 MCUs.
|
2011-06-12 01:25:29 +02:00
|
|
|
|
|
|
|
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
|
2012-06-29 19:13:17 +02:00
|
|
|
command line in a Unix environment is available here:
|
2011-03-11 22:46:33 +01:00
|
|
|
|
|
|
|
http://leaflabs.com/docs/unix-toolchain.html
|
|
|
|
|
2011-06-12 01:25:29 +02:00
|
|
|
Documentation, Etc.
|
|
|
|
------------------------------------------------------------------------------
|
|
|
|
|
|
|
|
HTML documentation for the latest release of libmaple/Maple IDE is
|
|
|
|
available here:
|
|
|
|
|
|
|
|
http://leaflabs.com/docs/
|
|
|
|
|
|
|
|
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:
|
|
|
|
|
|
|
|
http://github.com/leaflabs/leaflabs-docs/
|
2011-03-11 22:46:33 +01:00
|
|
|
|
|
|
|
Repository Layout
|
|
|
|
------------------------------------------------------------------------------
|
2010-03-31 02:52:45 +02:00
|
|
|
|
|
|
|
/build/
|
|
|
|
|
2011-03-11 22:46:33 +01:00
|
|
|
Compiler output
|
2010-03-31 02:52:45 +02:00
|
|
|
|
2011-03-11 22:46:33 +01:00
|
|
|
/contrib/
|
|
|
|
|
|
|
|
Community-contributed resources. LeafLabs doesn't maintain the
|
|
|
|
contents of this directory, so it may get stale.
|
|
|
|
|
2010-04-07 06:59:35 +02:00
|
|
|
/examples/
|
2010-06-03 17:57:20 +02:00
|
|
|
|
2011-03-11 22:46:33 +01:00
|
|
|
Example code and test programs. Copy these to /main.cpp to compile them.
|
2010-03-31 02:52:45 +02:00
|
|
|
|
2011-03-11 22:46:33 +01:00
|
|
|
/libmaple/
|
2010-06-19 04:00:35 +02:00
|
|
|
|
2011-06-12 01:25:29 +02:00
|
|
|
This is the meat of the library. C only, no C++. The
|
|
|
|
Arduino-like compatibility layer (in C++) is in /wirish/.
|
2010-03-17 01:28:55 +01:00
|
|
|
|
2011-03-11 22:46:33 +01:00
|
|
|
/libraries/
|
2010-03-17 01:28:55 +01:00
|
|
|
|
2011-03-11 22:46:33 +01:00
|
|
|
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.
|
2010-03-17 01:28:55 +01:00
|
|
|
|
2011-03-11 22:46:33 +01:00
|
|
|
/LICENSE
|
2010-03-17 01:28:55 +01:00
|
|
|
|
2011-03-11 22:46:33 +01:00
|
|
|
Licensing and copyright information.
|
2010-03-17 01:28:55 +01:00
|
|
|
|
2011-03-11 22:46:33 +01:00
|
|
|
/main.cpp.example
|
2010-03-17 01:28:55 +01:00
|
|
|
|
2011-03-11 22:46:33 +01:00
|
|
|
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
|
|
|
|
|
2012-06-29 19:13:17 +02:00
|
|
|
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/).
|
2011-03-11 22:46:33 +01:00
|
|
|
|
|
|
|
/notes/
|
|
|
|
|
2011-04-14 20:28:23 +02:00
|
|
|
Unstructured text notes that may be useful.
|
2011-03-11 22:46:33 +01:00
|
|
|
|
2011-04-14 22:00:39 +02:00
|
|
|
/README
|
2011-03-11 22:46:33 +01:00
|
|
|
|
2012-06-29 19:13:17 +02:00
|
|
|
This file ;).
|
2011-03-11 22:46:33 +01:00
|
|
|
|
|
|
|
/support/
|
|
|
|
|
|
|
|
Support files and scripts for various purposes.
|
|
|
|
|
|
|
|
gdb/ GDB scripts.
|
|
|
|
ld/ Linker scripts.
|
2012-06-29 19:13:17 +02:00
|
|
|
make/ Additional files used by the top-level Makefile.
|
2011-03-11 22:46:33 +01:00
|
|
|
scripts/ Miscellany.
|
2011-06-12 01:25:29 +02:00
|
|
|
doxygen/ Doxygen configuration.
|
2012-06-29 19:13:17 +02:00
|
|
|
stm32loader.py Upload script for the STM32's built-in USART bootloader.
|
2011-03-11 22:46:33 +01:00
|
|
|
|
|
|
|
/wirish/
|
|
|
|
|
|
|
|
Extra wrappers and functionality around the lower level code in
|
|
|
|
/libmaple/. These files implement an Arduino "Wiring"-like
|
|
|
|
library.
|