@@ -84,7 +84,7 @@ Additional components:
84
84
The subdirectories above may include READMEs with additional info.
85
85
86
86
"make" is used to build the components, or "gmake" on BSD-based systems.
87
- You will also need bash and Python (at least 2.7 or 3.3).
87
+ You will also need bash, gcc, and Python (at least 2.7 or 3.3).
88
88
89
89
The Unix version
90
90
----------------
@@ -97,6 +97,7 @@ Alternatively, fallback implementation based on setjmp/longjmp can be used.
97
97
98
98
To build (see section below for required dependencies):
99
99
100
+ $ git submodule update --init
100
101
$ cd ports/unix
101
102
$ make axtls
102
103
$ make
@@ -129,43 +130,48 @@ Standard library modules come from
129
130
External dependencies
130
131
---------------------
131
132
132
- Building Unix version requires some dependencies installed. For
133
+ Building MicroPython ports may require some dependencies installed.
134
+
135
+ For Unix port, ` libffi ` library and ` pkg-config ` tool are required. On
133
136
Debian/Ubuntu/Mint derivative Linux distros, install ` build-essential `
134
137
(includes toolchain and make), ` libffi-dev ` , and ` pkg-config ` packages.
135
138
136
- Other dependencies can be built together with MicroPython. Oftentimes,
137
- you need to do this to enable extra features or capabilities. To build
139
+ Other dependencies can be built together with MicroPython. This may
140
+ be required to enable extra features or capabilities, and in recent
141
+ versions of MicroPython, these may be enabled by default. To build
138
142
these additional dependencies, first fetch git submodules for them:
139
143
140
144
$ git submodule update --init
141
145
142
- Use this same command to get the latest versions of dependencies, as
143
- they are updated from time to time. After that, in ` ports/unix/ ` dir, execute:
146
+ Use the same command to get the latest versions of dependencies, as
147
+ they are updated from time to time. After that, in the port directory
148
+ (e.g. ` ports/unix/ ` ), execute:
144
149
145
150
$ make deplibs
146
151
147
152
This will build all available dependencies (regardless whether they
148
153
are used or not). If you intend to build MicroPython with additional
149
154
options (like cross-compiling), the same set of options should be passed
150
- to ` make deplibs ` . To actually enabled use of dependencies, edit
155
+ to ` make deplibs ` . To actually enable/disable use of dependencies, edit
151
156
` ports/unix/mpconfigport.mk ` file, which has inline descriptions of the options.
152
- For example, to build SSL module (required for ` upip ` tool described above) ,
153
- set ` MICROPY_PY_USSL ` to 1.
157
+ For example, to build SSL module (required for ` upip ` tool described above,
158
+ and so enabled by dfeault), ` MICROPY_PY_USSL ` should be set to 1.
154
159
155
- In ` ports/unix/mpconfigport.mk ` , you can also disable some dependencies enabled
156
- by default, like FFI support, which requires libffi development files to
157
- be installed .
160
+ For some ports, building required dependences is transparent, and happens
161
+ automatically. They still need to be fetched with the git submodule command
162
+ above .
158
163
159
164
The STM32 version
160
165
-----------------
161
166
162
167
The "stm32" port requires an ARM compiler, arm-none-eabi-gcc, and associated
163
- bin-utils. For those using Arch Linux, you need arm-none-eabi-binutils and
164
- arm-none-eabi-gcc packages. Otherwise, try here:
168
+ bin-utils. For those using Arch Linux, you need arm-none-eabi-binutils,
169
+ arm-none-eabi-gcc and arm-none-eabi-newlib packages. Otherwise, try here:
165
170
https://launchpad.net/gcc-arm-embedded
166
171
167
172
To build:
168
173
174
+ $ git submodule update --init
169
175
$ cd ports/stm32
170
176
$ make
171
177
@@ -181,3 +187,13 @@ This will use the included `tools/pydfu.py` script. If flashing the firmware
181
187
does not work it may be because you don't have the correct permissions, and
182
188
need to use ` sudo make deploy ` .
183
189
See the README.md file in the ports/stm32/ directory for further details.
190
+
191
+ Contributing
192
+ ------------
193
+
194
+ MicroPython is an open-source project and welcomes contributions. To be
195
+ productive, please be sure to follow the
196
+ [ Contributors' Guidelines] ( https://github.com/micropython/micropython/wiki/ContributorGuidelines )
197
+ and the [ Code Conventions] ( https://github.com/micropython/micropython/blob/master/CODECONVENTIONS.md ) .
198
+ Note that MicroPython is licenced under the MIT license, and all contributions
199
+ should follow this license.
0 commit comments