1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
|
_ _ _ _
| (_) |__ _ __ ___ __ _ _ __ | | ___
| | | '_ \| '_ ` _ \ / _` | '_ \| |/ _ \
| | | |_) | | | | | | (_| | |_) | | __/
|_|_|_.__/|_| |_| |_|\__,_| .__/|_|\___|
|_| 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.
|