10000 Update documentation to reflect the new ESP32-S2/S3 support · pidou46/micropython-esp32-ulp@78275c2 · GitHub
[go: up one dir, main page]

Skip to content

Commit 78275c2

Browse files
committed
Update documentation to reflect the new ESP32-S2/S3 support
1 parent 0111dc5 commit 78275c2

File tree

2 files changed

+16
-7
lines changed

2 files changed

+16
-7
lines changed

README.rst

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ micropython-esp32-ulp is an assembler toolchain for the ESP32 ULP (Ultra Low-Pow
1515
Co-Processor, written in MicroPython.
1616

1717
It can translate small assembly language programs to a loadable/executable
18-
ULP machine code binary, directly on the ESP32 microcontroller.
18+
ULP-FSM (not RISC-V) machine code binary, directly on a ESP32 microcontroller.
1919

2020
This is intended as an alternative approach to assembling such programs using
2121
the `binutils-gdb toolchain <https://github.com/espressif/binutils-gdb/tree/esp32ulp-elf-2.35>`_
@@ -30,13 +30,19 @@ Features
3030
The following features are supported:
3131

3232
* the entire `ESP32 ULP instruction set <https://docs.espressif.com/projects/esp-idf/en/latest/esp32/api-reference/system/ulp_instruction_set.html>`_
33+
* the entire `ESP32-S2 ULP instruction set <https://docs.espressif.com/projects/esp-idf/en/latest/esp32s2/api-reference/system/ulp_instruction_set.html>`_
34+
(this also covers the ESP32-S3) [#f1]_
3335
* constants defined with ``.set``
3436
* constants defined with ``#define``
3537
* expressions in assembly code and constant definitions
3638
* RTC convenience macros (e.g. ``WRITE_RTC_REG``)
3739
* many ESP32 ULP code examples found on the web will work unmodified
3840
* a simple disassembler is also provided
3941

42+
.. [#f1] Note: the ESP32-S2 and ESP32-S3 have the same ULP binary format between each other
43+
but the binary format is different than that of the original ESP32 ULP. You need to
44+
select the ``esp32s2`` cpu (`see docs </docs/disassembler.rst>`_) when assembling code
45+
for use on an ESP32-S2/S3.
4046
4147
Quick start
4248
-----------
@@ -66,10 +72,12 @@ See `docs/index.rst </docs/index.rst>`_.
6672
Requirements
6773
------------
6874

69-
The minimum supported version of MicroPython is v1.12.
75+
The minimum supported version of MicroPython is v1.12. (For ESP32-S2 and S3
76+
devices, a version greater than v1.20 is required as versions before that
77+
did not enable the ``esp32.ULP`` class).
7078

71-
An ESP32 is required to run the ULP machine code binary produced by micropython-esp32-ulp
72-
(the ESP32-S2 will not work as it is not binary compatible with the ESP32).
79+
An ESP32 device is required to run the ULP machine code binary produced by
80+
micropython-esp32-ulp.
7381

7482

7583
License

docs/index.rst

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -93,7 +93,8 @@ assembly source file into a machine code binary file with a ``.ulp`` extension.
9393
That file can then be loaded directly without assembling the source again.
9494

9595
1. Create/upload an assembly source file and run the following to get a
96-
loadable ULP binary as a ``.ulp`` file:
96+
loadable ULP binary as a ``.ulp`` file (specify ``cpu='esp32s2'`` if you
97+
have an ESP32-S2 or ESP32-S3 device):
9798

9899
.. code-block:: python
99100
@@ -160,7 +161,6 @@ Currently the following are not supported:
160161
* assembler macros using ``.macro``
161162
* preprocessor macros using ``#define A(x,y) ...``
162163
* including files using ``#include``
163-
* ESP32-S2 (not binary compatible with the ESP32)
164164

165165

166166
Testing
@@ -171,7 +171,8 @@ output is identical with what Espressif's esp32-elf-as (from their `binutils-gdb
171171
<https://github.com/espressif/binutils-gdb/tree/esp32ulp-elf-2.35>`_) produces.
172172

173173
micropython-esp32-ulp has been tested on the Unix port of MicroPython and on real ESP32
174-
devices with the chip type ESP32D0WDQ6 (revision 1) without SPIRAM.
174+
devices with the chip type ESP32D0WDQ6 (revision 1) without SPIRAM as well as ESP32-S2
175+
(ESP32-S2FH4) and ESP32-S3 (ESP32-S3R8) devices.
175176

176177
Consult the Github Actions `workflow definition file </.github/workflows/run_tests.yaml>`_
177178
for how to run the different tests.

0 commit comments

Comments
 (0)
0