Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

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