You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
README: Simplify and update, and move unix section to separate file.
Changes are:
- Remove unix- and stm32-specific sections (move unix to its own
README.md), stm32 was duplicated.
- Add links to GitHub Discussions and Discord.
- Update information about the project.
- Add a getting started section.
- Explain `make submodules`.
Signed-off-by: Jim Mussared <[email protected]>
Signed-off-by: Damien George <[email protected]>
and the [Code Conventions](https://github.com/micropython/micropython/blob/master/CODECONVENTIONS.md).
63
+
Note that MicroPython is licenced under the MIT license, and all contributions
64
+
should follow this license.
65
+
66
+
About this repository
67
+
---------------------
68
+
69
+
This repository contains the following components:
70
+
-[py/](py/) -- the core Python implementation, including compiler, runtime, and
34
71
core library.
35
-
- mpy-cross/ -- the MicroPython cross-compiler which is used to turn scripts
72
+
-[mpy-cross/](mpy-cross/) -- the MicroPython cross-compiler which is used to turn scripts
36
73
into precompiled bytecode.
37
-
- ports/unix/ -- a version of MicroPython that runs on Unix.
38
-
- ports/stm32/ -- a version of MicroPython that runs on the PyBoard and similar
39
-
STM32 boards (using ST's Cube HAL drivers).
40
-
- ports/minimal/ -- a minimal MicroPython port. Start with this if you want
41
-
to port MicroPython to another microcontroller.
42
-
- tests/ -- test framework and test scripts.
43
-
- docs/ -- user documentation in Sphinx reStructuredText format. Rendered
44
-
HTML documentation is available at http://docs.micropython.org.
45
-
46
-
Additional components:
47
-
- ports/bare-arm/ -- a bare minimum version of MicroPython for ARM MCUs. Used
48
-
mostly to control code size.
49
-
- ports/teensy/ -- a version of MicroPython that runs on the Teensy 3.1
50
-
(preliminary but functional).
51
-
- ports/pic16bit/ -- a version of MicroPython for 16-bit PIC microcontrollers.
52
-
- ports/cc3200/ -- a version of MicroPython that runs on the CC3200 from TI.
53
-
- ports/esp8266/ -- a version of MicroPython that runs on Espressif's ESP8266 SoC.
54
-
- ports/esp32/ -- a version of MicroPython that runs on Espressif's ESP32 SoC.
55
-
- ports/nrf/ -- a version of MicroPython that runs on Nordic's nRF51 and nRF52 MCUs.
56
-
- extmod/ -- additional (non-core) modules implemented in C.
57
-
- tools/ -- various tools, including the pyboard.py module.
58
-
- examples/ -- a few example Python scripts.
59
-
60
-
The subdirectories above may include READMEs with additional info.
74
+
-[ports/](ports/) -- platform-specific code for the various ports and architectures that MicroPython runs on.
75
+
-[lib/](lib/) -- submodules for external dependencies.
76
+
-[tests/](tests/) -- test framework and test scripts.
77
+
-[docs/](docs/) -- user documentation in Sphinx reStructuredText format. This is used to generate the [online documentation](http://docs.micropython.org).
78
+
-[extmod/](extmod/) -- additional (non-core) modules implemented in C.
79
+
-[tools/](tools/) -- various tools, including the pyboard.py module.
80
+
-[examples/](examples/) -- a few example Python scripts.
61
81
62
82
"make" is used to build the components, or "gmake" on BSD-based systems.
63
83
You will also need bash, gcc, and Python 3.3+ available as the command `python3`
64
84
(if your system only has Python 2.7 then invoke make with the additional option
65
-
`PYTHON=python2`).
85
+
`PYTHON=python2`). Some ports (rp2 and esp32) additionally use CMake.
86
+
87
+
Supported platforms & architectures
88
+
-----------------------------------
89
+
90
+
MicroPython runs on a wide range of microcontrollers, as well as on Unix-like
91
+
(including Linux, BSD, macOS, WSL) and Windows systems.
92
+
93
+
Microcontroller targets can be as small as 256kiB flash + 16kiB RAM, although
94
+
devices with at least 512kiB flash + 128kiB RAM allow a much more
95
+
full-featured experience.
96
+
97
+
The [Unix](ports/unix) and [Windows](ports/windows) ports allow both
98
+
development and testing of MicroPython itself, as well as providing
99
+
lightweight alternative to CPython on these platforms (in particular on
100
+
embedded Linux systems).
101
+
102
+
The ["minimal"](ports/minimal) port provides an example of a very basic
103
+
MicroPython port and can be compiled as both a standalone Linux binary as
104
+
well as for ARM Cortex M4. Start with this if you want to port MicroPython to
105
+
another microcontroller. Additionally the ["bare-arm"](ports/bare-arm) port
106
+
is an example of the absolute minimum configuration, and is used to keep
107
+
track of the code size of the core runtime and VM.
108
+
109
+
In addition, the following ports are provided in this repository:
0 commit comments