- Notifications
You must be signed in to change notification settings - Fork27
ESP32 ULP Co-Processor toolchain implemented in MicroPython
License
micropython/micropython-esp32-ulp
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
Repository files navigation
micropython-esp32-ulp is an assembler toolchain for the ESP32 ULP (Ultra Low-Power)Co-Processor, written in MicroPython.
It can translate small assembly language programs to a loadable/executableULP machine code binary, directly on the ESP32 microcontroller.
This is intended as an alternative approach to assembling such programs usingthe binutils-esp32ulp toolchain from Espressif on a development machine.
It can also be useful in cases where binutils-esp32ulp is not available.
The following features are supported:
- the entireESP32 ULP instruction set
- constants defined with
.set - constants defined with
#define - expressions in assembly code and constant definitions
- RTC convenience macros (e.g.
WRITE_RTC_REG) - many ESP32 ULP code examples found on the web will work unmodified
To get going run the following directly on the ESP32:
# Step 1: Install micropython-esp32-ulp# IMPORTANT: Ensure the ESP32 is connected to a network with internet connectivity.importupipupip.install('micropython-esp32-ulp')# Step 2: Run an example# First, upload examples/counter.py to the ESP32.importcounter
Theexamples/counter.py example shows how to assemble code,load and run the resulting binary and exchange data between the ULP and the main CPU.
Seedocs/index.rst.
The minimum supported version of MicroPython is v1.12.
An ESP32 is required to run the ULP machine code binary produced by micropython-esp32-ulp(the ESP32-S2 will not work as it is not binary compatible with the ESP32).
This project is released under theMIT License.
About
ESP32 ULP Co-Processor toolchain implemented in MicroPython
Topics
Resources
License
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Packages0
Uh oh!
There was an error while loading.Please reload this page.