.. | ||
main | ||
CMakeLists.txt | ||
pytest_lp_core_intr.py | ||
README.md | ||
sdkconfig.defaults |
Supported Targets | ESP32-C6 | ESP32-P4 |
---|
LP-Core example with interrupt triggered from HP-Core:
This example demonstrates how to program the ULP coprocessor to receive an interrupt triggered by the HP-Core
ULP program written in C can be found across lp_core/main.c
. The build system compiles and links this program, converts it into binary format, and embeds it into the .rodata section of the ESP-IDF application.
At runtime, the application running inside the main CPU loads ULP program into the RTC_SLOW_MEM
memory region using ulp_lp_core_load_binary
function. The main code then configures the ULP and starts the coprocessor by using ulp_lp_core_run
. Once the ULP program is started, it runs continuously, waiting for interrupts. The main program will periodically trigger interrupts on the LP-Core.
After triggering a certain amount of interrupts, the main core will read and print the number of interrupts received as reported by the LP-Core.
Example output
LP core loaded with firmware and running successfully
Triggered 10 interrupts on the LP-Core, LP-Core received 10 interrupts