aboutsummaryrefslogtreecommitdiffstats
path: root/README
blob: f3bb3343367ddca0e36a9fcede9f2645f2a75d80 (plain)
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

                   _ _ _                           _      
                  | (_) |__  _ __ ___   __ _ _ __ | | ___ 
                  | | | '_ \| '_ ` _ \ / _` | '_ \| |/ _ \
                  | | | |_) | | | | | | (_| | |_) | |  __/
                  |_|_|_.__/|_| |_| |_|\__,_| .__/|_|\___|
                                            |_|               by leaflabs!



The latest version of this repository can be found at:
http://github.com/leaflabs/libmaple

libmaple Repo Layout
------------------------------------------------------------------------------
/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.

/build/
    Binary output

/stm32conf/
    Linker scripts

/libmaple/
    Lowest level definitions, routines, macros, and functions. This is the meat
    of the library.

/core/
    Extra wrappers and functionality around the lower level code which is 
    useful for programming in the IDE.

/examples/
    What it sounds like. Copy these to /main.cpp to compile them.
    
/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.

Instructions to Compile for ARM Targets
------------------------------------------------------------------------------
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:

    http://www.codesourcery.com/sgpp/lite/arm

Note: grab the linux binaries for targeting the EABI platform; there are also
linux binaries for targeting the linux platform).

I unzip the archive ("TAR") version into a place like
~/bin/arm-gcc-codesourcery and then add the bin/ directory within that to my
$PATH in ~/.profile, then check that arm-none-eabi-gcc and others are in my
path.

You will also need to have dfu-util installed (on Linux) or compiled and placed
in a folder "dfu-util/" at the same level as the maple-library folder (macosx
and windows).

Write your program using /main.cpp as the entry point. Then just 'make' and
follow the directions!