Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Newer
Older
100644 120 lines (73 sloc) 3.077 kb
6678573 Uwe Hermann Add README header.
uwehermann authored
1 ------------------------------------------------------------------------------
2 README
3 ------------------------------------------------------------------------------
4
079dc05 Uwe Hermann Change some names to libopencm3.
uwehermann authored
5 The libopencm3 project aims to create an open-source firmware library for
6 various ARM Cortex-M3 microcontrollers.
e5c5371 Uwe Hermann Add some more info to the README.
uwehermann authored
7
079dc05 Uwe Hermann Change some names to libopencm3.
uwehermann authored
8 Currently (at least partly) supported microcontrollers:
9
10 - ST STM32
11 - NXP LPC1311/13/42/43
12
13 The library is written completely from scratch based on the vendor datasheets,
d173306 Uwe Hermann Add some more generic info to the README.
uwehermann authored
14 programming manuals, and application notes. The code is meant to be used
15 with a GCC toolchain for ARM (arm-elf or arm-none-eabi), flashing of the
079dc05 Uwe Hermann Change some names to libopencm3.
uwehermann authored
16 code to a microcontroller can be done using the OpenOCD ARM JTAG software.
d173306 Uwe Hermann Add some more generic info to the README.
uwehermann authored
17
18
f682aa8 Uwe Hermann Document that the library API is NOT yet stable!
uwehermann authored
19 Status and API
20 --------------
21
079dc05 Uwe Hermann Change some names to libopencm3.
uwehermann authored
22 The libopencm3 project is currently work in progress. Not all subsystems
23 of the microcontrollers are supported, yet.
f682aa8 Uwe Hermann Document that the library API is NOT yet stable!
uwehermann authored
24
25 IMPORTANT: The API of the library is NOT yet considered stable! Please do
26 not rely on it, yet! Changes to function names, macro names etc.
27 can happen at any time without prior notice!
e5c5371 Uwe Hermann Add some more info to the README.
uwehermann authored
28
29 Building
30 --------
31
32 $ make
33
43d2a53 Uwe Hermann Mention how PREFIX can be used to override the toolchain.
uwehermann authored
34 You may want to override the toolchain (e.g., arm-elf or arm-none-eabi):
35
36 $ PREFIX=arm-none-eabi make
37
0fe49aa Uwe Hermann Document 'make V=1' usage.
uwehermann authored
38 For a more verbose build you can use
39
40 $ make V=1
41
e5c5371 Uwe Hermann Add some more info to the README.
uwehermann authored
42
9924967 Uwe Hermann Document the usage of the example projects.
uwehermann authored
43 Example projects
44 ----------------
45
46 The library ships with a few small example projects which illustrate how
079dc05 Uwe Hermann Change some names to libopencm3.
uwehermann authored
47 individual subsystems of the microcontrollers can be configured and used with
48 libopencm3.
9924967 Uwe Hermann Document the usage of the example projects.
uwehermann authored
49
079dc05 Uwe Hermann Change some names to libopencm3.
uwehermann authored
50 For flashing the 'miniblink' example (after you built libopencm3 and the
9924967 Uwe Hermann Document the usage of the example projects.
uwehermann authored
51 examples by typing 'make' at the top-level directory) you can execute:
52
079dc05 Uwe Hermann Change some names to libopencm3.
uwehermann authored
53 $ cd examples/stm32/stm32-h103/miniblink
9924967 Uwe Hermann Document the usage of the example projects.
uwehermann authored
54 $ make flash
55
56 The Makefiles of the examples are configured to use a certain OpenOCD
57 flash programmer, you might need to change some of the variables in the
58 Makefile if you use a different one.
59
01bfbfe Uwe Hermann Deduplicate example README file contents.
uwehermann authored
60 You can also flash manually like this:
61
62 $ openocd -f interface/jtagkey-tiny.cfg -f target/stm32.cfg
63 $ telnet localhost 4444
64 > reset halt
65 > flash write_image erase foobar.hex
66 > reset
67
68 Replace the "jtagkey-tiny.cfg" with whatever JTAG device you are using, and/or
69 replace "stm32.cfg" with your respective config file. Replace "foobar.hex"
70 with the file name of the image you want to flash.
71
9924967 Uwe Hermann Document the usage of the example projects.
uwehermann authored
72
e5c5371 Uwe Hermann Add some more info to the README.
uwehermann authored
73 Installation
74 ------------
75
76 $ make install
77
78 This will install the library in /usr/local. If you want to install it
79 elsewhere, use the following syntax:
80
81 $ DESTDIR=/opt make install
82
83
b3618ff Uwe Hermann Factor out coding guidelines to HACKING.
uwehermann authored
84 Coding style and development guidelines
85 ---------------------------------------
e5c5371 Uwe Hermann Add some more info to the README.
uwehermann authored
86
b3618ff Uwe Hermann Factor out coding guidelines to HACKING.
uwehermann authored
87 See HACKING.
e5c5371 Uwe Hermann Add some more info to the README.
uwehermann authored
88
89
90 License
91 -------
92
079dc05 Uwe Hermann Change some names to libopencm3.
uwehermann authored
93 The libopencm3 code is released under the terms of the GNU General
83f5c58 Uwe Hermann Switch the license to GPL, version 3 or later.
uwehermann authored
94 Public License (GPL), version 3 or later.
e5c5371 Uwe Hermann Add some more info to the README.
uwehermann authored
95
96 See COPYING for details.
97
98
99 Mailing lists
100 -------------
101
102 * Developer mailing list (for patches and discussions):
103 https://lists.sourceforge.net/lists/listinfo/libopenstm32-devel
104
105 * Commits mailing list (receives one mail per 'git push'):
106 https://lists.sourceforge.net/lists/listinfo/libopenstm32-commits
107
108
109 Website
110 -------
111
112 The official website is:
113
1b708b6 Uwe Hermann Drop 's' from https, no need for encryption here.
uwehermann authored
114 http://sourceforge.net/projects/libopenstm32/
446beb7 Uwe Hermann Add initial README.
uwehermann authored
115
bc9a9eb Uwe Hermann Small README fixes.
uwehermann authored
116 There's a wiki at:
117
118 http://sourceforge.net/apps/mediawiki/libopenstm32/
119
Something went wrong with that request. Please try again.