aboutsummaryrefslogtreecommitdiffstats
path: root/README
diff options
context:
space:
mode:
authorMarti Bolivar <mbolivar@leaflabs.com>2011-05-09 16:43:27 -0400
committerMarti Bolivar <mbolivar@leaflabs.com>2011-05-09 16:49:08 -0400
commit19ea6ba4ea3f1ecb9830cf4d3e1366513f4f96e3 (patch)
treea43f7e0fb3650ca54f245b750a078a0e8c356504 /README
parent868fb1c273e562a1140abfa948022c9d4f55bccf (diff)
parent1e2e177f6dae62e040c674b617744c73be187062 (diff)
downloadlibrambutan-19ea6ba4ea3f1ecb9830cf4d3e1366513f4f96e3.tar.gz
librambutan-19ea6ba4ea3f1ecb9830cf4d3e1366513f4f96e3.zip
Merge branch 'refactor'
This merges the libmaple refactor work into master. The contents of libmaple proper (/libmaple/) are almost completely incompatible with previous APIs in master. See /docs/source/libmaple/overview.rst for more information on the new design. Wirish incompatibilities are limited to the HardwareTimer class; however, there are several new deprecations, most likely to be removed in 0.1.0.
Diffstat (limited to 'README')
-rw-r--r--README136
1 files changed, 81 insertions, 55 deletions
diff --git a/README b/README
index b7dd521..456ea2f 100644
--- a/README
+++ b/README
@@ -1,80 +1,106 @@
- _ _ _ _
- | (_) |__ _ __ ___ __ _ _ __ | | ___
+ _ _ _ _
+ | (_) |__ _ __ ___ __ _ _ __ | | ___
| | | '_ \| '_ ` _ \ / _` | '_ \| |/ _ \
| | | |_) | | | | | | (_| | |_) | | __/
|_|_|_.__/|_| |_| |_|\__,_| .__/|_|\___|
- |_| by leaflabs!
+ |_| by LeafLabs!
-The latest version of this repository can be found at:
-http://github.com/leaflabs/libmaple
+The latest version of this repository can be found here:
-libmaple Repo Layout
+ http://github.com/leaflabs/libmaple
+
+General information
------------------------------------------------------------------------------
-/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.
+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
+
+Repository Layout
+------------------------------------------------------------------------------
/build/
- Binary output
-/libmaple/
- Lowest level definitions, routines, macros, and functions. This is the meat
- of the library.
+ Compiler output
-/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.
+/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/
- 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.
+ Example code and test programs. Copy these to /main.cpp to compile them.
-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/.
+/libmaple/
-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:
+ Lowest level definitions, routines, macros, and functions. This is
+ the meat of the library. The Arduino-like compatibility layer is
+ in /wirish/.
- http://www.codesourcery.com/sgpp/lite/arm
+/libraries/
-Note: grab the linux binaries for targeting the EABI platform (not to be
-confused with the linux binaries /tageting/ the linux platform).
+ 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.
-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.
+/LICENSE
-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).
+ Licensing and copyright information.
-Write your program using /main.cpp as the entry point. Then just 'make help'
-and follow the directions!
+/main.cpp.example
-Instructions to create a library
-------------------------------------------------------------------------------
-If you have a complicated project with its own Makefile and multiple .c 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). 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
+ 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.