|
1 | 1 | py-esp32-ulp Documentation |
2 | 2 | ========================== |
3 | 3 |
|
4 | | -py-esp32-ulp is an assembler toolchain for the ESP32 ULP (Ultra Low-Power) |
5 | | -Co-Processor, written in MicroPython. |
6 | | - |
7 | 4 | .. contents:: Table of Contents |
8 | 5 |
|
9 | 6 |
|
10 | | -What is it useful for? |
11 | | ----------------------- |
12 | | - |
13 | | -py-esp32-ulp can translate small assembly language programs to a |
14 | | -loadable/executable ULP machine code binary, directly on the ESP32 |
15 | | -microcontroller. |
16 | | - |
17 | | -This is intended as an alternative approach to assembling such programs using |
18 | | -the binutils-esp32ulp toolchain from Espressif on a development machine. |
19 | | - |
20 | | -It can also be useful in cases where binutils-esp32ulp is not available. |
21 | | - |
22 | | - |
23 | | -Features |
| 7 | +Overview |
24 | 8 | -------- |
25 | 9 |
|
26 | | -The following features are supported: |
27 | | - |
28 | | -* the entire `ESP32 ULP instruction set <https://esp-idf.readthedocs.io/en/latest/api-guides/ulp_instruction_set.html>`_ |
29 | | -* constants defined with ``.set`` |
30 | | -* constants defined with ``#define`` |
31 | | -* expressions in assembly code and constant definitions |
32 | | -* RTC convenience macros (e.g. WRITE_RTC_REG) |
33 | | -* many ESP32 ULP code examples found on the web will work unmodified |
34 | | - |
35 | | - |
36 | | -Limitations |
37 | | ------------ |
38 | | - |
39 | | -Currently the following are not supported: |
40 | | - |
41 | | -* assembler macros using ``.macro`` |
42 | | -* preprocessor macros using ``#define A(x,y) ...`` |
43 | | -* including files using ``#include`` |
44 | | -* ESP32-S2 (not binary compatible with the ESP32) |
| 10 | +`README.rst </README.rst>`_ gives a general overview of this project. |
45 | 11 |
|
46 | 12 |
|
47 | 13 | Installation |
@@ -170,6 +136,17 @@ found as part of Arduino/ESP-IDF projects. |
170 | 136 | The preprocessor and how to use it is documented here: `Preprocessor support </docs/preprocess.rst>`_. |
171 | 137 |
|
172 | 138 |
|
| 139 | +Limitations |
| 140 | +----------- |
| 141 | + |
| 142 | +Currently the following are not supported: |
| 143 | + |
| 144 | +* assembler macros using ``.macro`` |
| 145 | +* preprocessor macros using ``#define A(x,y) ...`` |
| 146 | +* including files using ``#include`` |
| 147 | +* ESP32-S2 (not binary compatible with the ESP32) |
| 148 | + |
| 149 | + |
173 | 150 | Testing |
174 | 151 | ------- |
175 | 152 |
|
|
0 commit comments