MicroPython Firmeware bauen -> newlib component has been renamed

Alles, was nicht direkt mit Python-Problemen zu tun hat. Dies ist auch der perfekte Platz für Jobangebote.
Antworten
Benutzeravatar
Dennis89
User
Beiträge: 1670
Registriert: Freitag 11. Dezember 2020, 15:13

Hallo zusammen,

ich würde gerne MicroPython mit dem `st7789` Modul bauen. Für den ESP8266 hat das auch geklappt. Zumindest der `make` lief erfolgreich durch. Aber der hat zu wenig Speicherplatz für die Firmware.
Dann wollte ich auf den ESP32 ausweichen, allerdings läuft hier `make` nicht erfolgreich:

Code: Alles auswählen

CMake Error at /home/dennis/esp/esp-idf/tools/cmake/build.cmake:376 (message):
  Failed to resolve component 'newlib' required by component 'main': unknown
  name.
Call Stack (most recent call first):
  /home/dennis/esp/esp-idf/tools/cmake/build.cmake:419 (__build_resolve_and_add_req)
  /home/dennis/esp/esp-idf/tools/cmake/build.cmake:749 (__build_expand_requirements)
  /home/dennis/esp/esp-idf/tools/cmake/project.cmake:741 (idf_build_process)
  CMakeLists.txt:68 (project)

-- Configuring incomplete, errors occurred!
HINT: newlib component has been renamed to esp_libc. Any `REQUIRES newlib` can simply be deleted as esp_libc is REQUIRED by default.
Der Hinweis ist recht eindeutig und ich habe mich auf die Suche gemacht, wo ich denn `newlib` finde und je nach dem hätte ich das einfach umbenannt oder eben rausgeworfen, weil es ja nicht benötigt wird.

Mit `grep` habe ich gesucht und überall hier wird "newlib" gefunden:

Code: Alles auswählen

./micropython/extmod/modplatform.h
./micropython/lib/btstack/platform/chibios/retarget_chibios.c
./micropython/lib/btstack/port/apollo2-em9304/btstack_port.c
./micropython/lib/btstack/port/msp432p401lp-cc256x/main.c
./micropython/lib/btstack/port/nrf5-cinnamon/pca10040/armgcc/Makefile
./micropython/lib/btstack/port/renesas-ek-ra6m4a-da14531/e2-project/.cproject
./micropython/lib/btstack/port/renesas-ek-ra6m4a-da14531/e2-project/ra/fsp/src/bsp/mcu/all/bsp_sbrk.c
./micropython/lib/btstack/port/renesas-ek-ra6m4a-da14531/port/hal_entry.c
./micropython/lib/btstack/port/renesas-tb-s1ja-cc256x/template/btstack_example/.cproject
./micropython/lib/btstack/port/renesas-tb-s1ja-cc256x/template/btstack_example/synergy/ssp/src/bsp/mcu/all/bsp_sbrk.c
./micropython/lib/btstack/port/stm32-f4discovery-cc256x/port/port.c
./micropython/lib/fsp/ra/fsp/src/bsp/mcu/all/bsp_sbrk.c
./micropython/lib/libffi/.ci/bfin-sim.exp
./micropython/lib/libffi/.ci/m32r-sim.exp
./micropython/lib/libffi/.ci/moxie-sim.exp
./micropython/lib/libffi/.ci/or1k-sim.exp
./micropython/lib/libffi/.ci/powerpc-eabisim.exp
./micropython/lib/libffi/.ci/wine-sim.exp
./micropython/lib/libffi/config.sub
./micropython/lib/libm/ef_rem_pio2.c
./micropython/lib/libm/ef_sqrt.c
./micropython/lib/libm/erf_lgamma.c
./micropython/lib/libm/fdlibm.h
./micropython/lib/libm/kf_cos.c
./micropython/lib/libm/kf_rem_pio2.c
./micropython/lib/libm/kf_sin.c
./micropython/lib/libm/kf_tan.c
./micropython/lib/libm/sf_cos.c
./micropython/lib/libm/sf_erf.c
./micropython/lib/libm/sf_frexp.c
./micropython/lib/libm/sf_ldexp.c
./micropython/lib/libm/sf_modf.c
./micropython/lib/libm/sf_sin.c
./micropython/lib/libm/sf_tan.c
./micropython/lib/libm/wf_lgamma.c
./micropython/lib/libm/wf_tgamma.c
./micropython/lib/nxp_driver/lpcopen/lpc11u6x/gcc/cr_startup_lpc11u6x.c
./micropython/lib/nxp_driver/lpcopen/lpc11uxx/gcc/cr_startup_lpc11xx.c
./micropython/lib/nxp_driver/lpcopen/lpc13xx/gcc/cr_startup_lpc13xx.c
./micropython/lib/pico-sdk/README.md
./micropython/lib/pico-sdk/bazel/config/BUILD.bazel
./micropython/lib/pico-sdk/bazel/constraint/BUILD.bazel
./micropython/lib/pico-sdk/cmake/preload/toolchains/pico_arm_cortex_m0plus_clang.cmake
./micropython/lib/pico-sdk/cmake/preload/toolchains/pico_arm_cortex_m33_clang.cmake
./micropython/lib/pico-sdk/cmake/preload/toolchains/util/pico_arm_clang_common.cmake
./micropython/lib/pico-sdk/src/rp2_common/pico_clib_interface/BUILD.bazel
./micropython/lib/pico-sdk/src/rp2_common/pico_clib_interface/CMakeLists.txt
./micropython/lib/pico-sdk/src/rp2_common/pico_printf/include/pico/printf.h
./micropython/lib/pico-sdk/src/rp2_common/pico_printf/printf.c
./micropython/lib/pico-sdk/test/pico_float_test/pico_double_test.c
./micropython/lib/pico-sdk/test/pico_float_test/pico_float_test.c
./micropython/lib/pico-sdk/test/pico_sha256_test/pico_sha256_test.c
./micropython/lib/pico-sdk/test/pico_stdlib_test/pico_stdlib_test.c
./micropython/lib/pico-sdk/test/pico_time_test/pico_time_test.c
./micropython/lib/tinyusb/hw/bsp/board.c
./micropython/ports/cc3200/FreeRTOS/Source/tasks.c
./micropython/ports/esp32/boards/sdkconfig.base
./micropython/ports/esp32/esp32_common.cmake
./micropython/ports/esp32/managed_components/espressif__mdns/tests/test_afl_fuzz_host/Makefile
./micropython/ports/esp32/build-ESP32_GENERIC/log/idf_py_stderr_output_58277
./micropython/ports/esp32/build-ESP32_GENERIC/CMakeFiles/CMakeConfigureLog.yaml
./micropython/ports/esp32/build-ESP32_GENERIC/CMakeFiles/3.31.6/CompilerIdC/a.out
./micropython/ports/esp32/build-ESP32_GENERIC/CMakeFiles/3.31.6/CompilerIdCXX/a.out
./micropython/ports/esp32/build-ESP32_GENERIC/sdkconfig.combined.in
./micropython/ports/esp32/build-ESP32_GENERIC/sdkconfig.combined
Einfach da durch gehen und jedes "newlib" in "new_lib" umbenennen, könnte funktionieren. Das ist aber nicht meine Art. Habe ich trotzdem gemacht und wie zu erwarten, geht das nicht:

Code: Alles auswählen

CMake Error at /home/dennis/esp/esp-idf/tools/cmake/build.cmake:376 (message):
  Failed to resolve component 'new_lib' required by component 'main': unknown
  name.
Call Stack (most recent call first):
  /home/dennis/esp/esp-idf/tools/cmake/build.cmake:419 (__build_resolve_and_add_req)
  /home/dennis/esp/esp-idf/tools/cmake/build.cmake:749 (__build_expand_requirements)
  /home/dennis/esp/esp-idf/tools/cmake/project.cmake:741 (idf_build_process)
  CMakeLists.txt:68 (project)


-- Configuring incomplete, errors occurred!
HINT: The component 'new_lib' could not be found. This could be because: component name was misspelled, the component was not added to the build, the component has been moved to the IDF component manager, the component has been removed and refactored into some other component or the component may not be supported by the selected target.
Please look out for component in 'https://components.espressif.com' and add using 'idf.py add-dependency' command.
Refer to the migration guide for more details about moved components.
Refer to the build-system guide for more details about how components are found and included in the build.
Da stehen ja jetzt auch wieder Hinweise. Allerdings habe ich das Problem ja mehr oder weniger erzwungen. Daher eher meine Frage, wie würdet ihr bei der originalen Fehlermeldung vorgehen? Kann ich das in Griff bekommen und wenn ja, wie?

Der Link zu MicroPython noch, falls jemand Interesse daran hat.

Danke und Grüße
Dennis
"When I got the music, I got a place to go" [Rancid, 1993]
Benutzeravatar
__blackjack__
User
Beiträge: 14276
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

Wonach hast Du gegrepped? Da steht "REQUIRES newlib" kann entfernt werden. Nicht das "newlib" in "new_lib" umbenannt werden soll.
“Programming is partially an artform and, like artists, programmers will do it even if they don't get money.” — Linus Torvalds
Benutzeravatar
Dennis89
User
Beiträge: 1670
Registriert: Freitag 11. Dezember 2020, 15:13

Hi und danke,
irgendwo hatte ich doch was von umbenannt in "new_lib" gelesen.
Naja egal, gesucht habe ich mit:

Code: Alles auswählen

grep --exclude=*.bin -rnwl . -e newlib
Die Suche nach "REQUIRES newlib" ist erfolglos (ich habe das Repo davor natürlich gelöscht und das aktuelle wieder herunter geladen). Jetzt suche ich mit:

Code: Alles auswählen

grep --exclude=*.bin -rnwl . -e '(REQUIRES).*(newlib)'
Auf https://regex101.com/ macht der Ausdruck was er soll.

Grüße
Dennis
"When I got the music, I got a place to go" [Rancid, 1993]
Benutzeravatar
__blackjack__
User
Beiträge: 14276
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

Es steht nicht so direkt drin. In micropython/ports/esp32/esp32_common.cmake steht ein ``REQUIRES ${IDF_COMPONENTS}`` (auf zwei Zeilen verteilt) und in der gleichen Datei steht ein ``list(APPEND IDF_COMPONENTS`` wo in der folgenden Liste dann das ``newlib`` drin steht.
“Programming is partially an artform and, like artists, programmers will do it even if they don't get money.” — Linus Torvalds
Benutzeravatar
Dennis89
User
Beiträge: 1670
Registriert: Freitag 11. Dezember 2020, 15:13

Vielen Dank. Wie hast du das jetzt gefunden? Erfahrung?

Ich habe "newlib" aus der Liste gelöscht.
Dann kam:

Code: Alles auswählen

CMake Error at /home/dennis/esp/esp-idf/tools/cmake/build.cmake:376 (message):
  Failed to resolve component 'usb' required by component 'main': unknown
  name.
Call Stack (most recent call first):
  /home/dennis/esp/esp-idf/tools/cmake/build.cmake:419 (__build_resolve_and_add_req)
  /home/dennis/esp/esp-idf/tools/cmake/build.cmake:749 (__build_expand_requirements)
  /home/dennis/esp/esp-idf/tools/cmake/project.cmake:741 (idf_build_process)
  CMakeLists.txt:68 (project)


-- Configuring incomplete, errors occurred!
HINT: The component 'usb' could not be found. This could be because: component name was misspelled, the component was not added to the build, the component has been moved to the IDF component manager, the component has been removed and refactored into some other component or the component may not be supported by the selected target.
Please look out for component in 'https://components.espressif.com' and add using 'idf.py add-dependency' command.
Refer to the migration guide for more details about moved components.
Refer to the build-system guide for more details about how components are found and included in the build.
HINT: USB host layer ('usb' component) was removed from ESP-IDF. Please use 'usb' component from IDF component manager instead.
You can install 'usb' component using 'idf.py add-dependency espressif/usb' command.
Refer to the migration guide for more details.
Ich habe:

Code: Alles auswählen

idf.py add-dependency espressif/usb
und es kommt

Code: Alles auswählen

[dennis@dennis esp32]$ idf.py add-dependency espressif/usb
Executing action: add-dependency
NOTICE: Successfully added dependency "espressif/usb": "*" to component "main"
NOTICE: If you want to make additional changes to the manifest file at path /home/dennis/PycharmProjects/TWxSimulation/micropython/ports/esp32/main/idf_component.yml manually, please refer to the documentation: https://docs.espressif.com/projects/idf-component-manager/en/latest/reference/manifest_file.html
Done
Mit

Code: Alles auswählen

idf.py update-dependencies
kommt allerdings:

Code: Alles auswählen

CMake Error at /home/dennis/esp/esp-idf/tools/cmake/build.cmake:693 (message):
  ERROR: Because project depends on espressif/usb (*) which doesn't match any
  versions, version solving failed.

Call Stack (most recent call first):
  /home/dennis/esp/esp-idf/tools/cmake/project.cmake:741 (idf_build_process)
  CMakeLists.txt:68 (project)


..........-- Configuring incomplete, errors occurred!
cmake failed with exit code 1, output of the command is in the /home/dennis/PycharmProjects/TWxSimulation/micropython/ports/esp32/build/log/idf_py_stderr_output_90134 and /home/dennis/PycharmProjects/TWxSimulation/micropython/ports/esp32/build/log/idf_py_stdout_output_90134
Ohne `HINT` bin ich total hilflos.

Danke und Grüße
Dennis
"When I got the music, I got a place to go" [Rancid, 1993]
Benutzeravatar
Dennis89
User
Beiträge: 1670
Registriert: Freitag 11. Dezember 2020, 15:13

Guten Morgen,

da ich auch auf GitHub kein ähnliches Issue gefunden habe, ist der erste logische Schritt, für mich zumindest, es muss an mir liegen.
Zum gefühlt 100. mal habe ich `esp-idf` gelöscht, das MicroPython-Repo gelöscht und von vorne angefangen. Mein Gedanke, ich baue mal nur die MikroPython Firmware ohne zusätzlichen Code. Dafür habe ich mich an die README.md von MicroPython gehalten und `make` lief erfolgreich durch. Keine Meldung von wegen `newlib` oder `usb`.
Hier wird allerdings vor `make` noch `make submodules` ausgeführt.
Dann habe ich folgendes gemacht:

Code: Alles auswählen

make clean
make USER_C_MODULES=../../../../../st7789_mpy/
Und es lief erfolgreich durch und hat sich auf den ESP32 flashen lassen und `st7789` ist importierbar.

Was macht den `make submodules` ? Es verrät ja, dass da irgendwelche Module compiliert werden, die benötigt werden. Wenn ich in das README von ESP8266 schaue, dann wird da kein `make submodules` benötigt und das ist vermutlich auch der Grund, wieso ich diese Firmware bauen konnte, ich aber auf Probleme mit dem ESP32 gestoßen bin, weil ich diese Anleitung verwendet habe. Macht das Sinn?

Grüße
Dennis
"When I got the music, I got a place to go" [Rancid, 1993]
Benutzeravatar
__blackjack__
User
Beiträge: 14276
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

Ich hatte nach ``REQUIRES newlib`` gesucht und nix gefunden, also im nächsten Schritt dann nach Dateien die ``REQUIRES`` und ``newlib`` irgendwo enthalten. So habe ich die Datei gefunden und dort dann geschaut wo ``newlib`` verwendet wird und wie der Zusammenhang mit dem ``REQUIRES`` ist. Wirklich mehr Ahnung habe ich davon leider auch nicht. :-)
“Programming is partially an artform and, like artists, programmers will do it even if they don't get money.” — Linus Torvalds
Benutzeravatar
Dennis89
User
Beiträge: 1670
Registriert: Freitag 11. Dezember 2020, 15:13

Okay :D Darauf hätte man (ich) also auch selbst kommen können 🙄

Für die Detailfrage von mir, sollte man mal einen gewissen User aus dem Forums-Schlaf aufwecken. Kannst du dich mal auf die Suche machen? In der richtigen Stadt bist du ja schon mal 😇
"When I got the music, I got a place to go" [Rancid, 1993]
Benutzeravatar
Dennis89
User
Beiträge: 1670
Registriert: Freitag 11. Dezember 2020, 15:13

Noch was anderes. Ich benutze diese Schriftart:
https://github.com/Dennis-89/st7789_mpy ... /README.md

Da ist ein ausgefüllter Kreis abgebildet. Wo bekomme ich jetzt die Hex-Darstellung oder das Symbol her? Den Smile hätte ich auch gerne. Die Schriftart an sich finde ich gar nirgends, also mit der Bezeichung `vga`. Raus gefunden habe ich bis jetzt nur, das 0x002E den ganz normalen Punkt, also das Satzzeichen darstellt. In dieser Tabelle gibt es aber keinen ausgefüllten Kreis. Das war hier unter "Basis-Lateinisch"

Kennt ihr die Schriftart, die ich verwende? Wie heißt die richtig?

Danke und Grüße
Dennis

Btw. Ansonsten läuft jetzt alles recht gut, der PR ist auch erstellt, dabei habe ich entdeckt, das es den schon gab :D Der ist aber noch offen und von 2024.
"When I got the music, I got a place to go" [Rancid, 1993]
Benutzeravatar
__blackjack__
User
Beiträge: 14276
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

Die Kodierung sieht nach code page 437 aus. Meinst Du das Zeichen an 7. Stelle in der ersten Zeile? Das wäre dann 0x07. Und die Schriftart wird dem Namen nach wahrscheinlich die aus dem ROM einer IBM VGA Grafikkarte sein.
“Programming is partially an artform and, like artists, programmers will do it even if they don't get money.” — Linus Torvalds
Benutzeravatar
Dennis89
User
Beiträge: 1670
Registriert: Freitag 11. Dezember 2020, 15:13

Perfekt, genau dass ist die.

Vielen Dank.
"When I got the music, I got a place to go" [Rancid, 1993]
Benutzeravatar
Dennis89
User
Beiträge: 1670
Registriert: Freitag 11. Dezember 2020, 15:13

Hallo,

ich benutze diesen Thread mal weiter für meine Tätigkeit die ich gerade versuche.
Für den ESP32 gibt es MCPWM Support. Das ist allerdings nicht in MicroPython implementiert. Vor einigen Jahren hat das mal jemand in einen Fork eingebaut. Als ich das damals brauchte, ist @__deets__ aufgefallen, dass das nicht richtig/vollständig implementiert ist und er hat es korrigiert. Seine Version ist hier. Das ist nun alles schon etwas her, mittlerweile hat sich MicroPython weiterentwickelt und auch `PCNT` implementiert.
Ich wollte nun versuchen, den Code von __deets__ in die neuste MicroPython Firmware einzubauen und habe dazu einen Fork erstellt.

Nach einigen Problemen in C habe ich es geschafft die `esp32_mcpwm.c` so anzupassen, dass die Firmware kompiliert wird und sich auf den ESP32 flashen lässt. Dort kann ich `MCPWM` auch importieren, allerdings startet der ESP32 neu, wenn ich eine Instanz davon erstellen will. Getestet habe ich das mit einem normalen ESP32 und einem ESP32-C3. Die Ausgabe des C3 sieht so aus:

Code: Alles auswählen

>>> from esp32 import MCPWM
>>> MCPWM(0)

A fatal error occurred. The crash dump printed below may be used to help
determine what caused it. If you are not already running the most recent
version of MicroPython, consider upgrading. New versions often fix bugs.

To learn more about how to debug and/or report this crash visit the wiki
page at: https://github.com/micropython/micropython/wiki/ESP32-debugging

MPY version : 3f0723e061-dirty on 2026-01-22
IDF version : v5.5.1
Machine     : ESP32C3 module with ESP32C3

Guru Meditation Error: Core  0 panic'ed (Load access fault). Exception was unhandled.

Core  0 register dump:
MEPC    : 0x42039184  RA      : 0x42039184  SP      : 0x3fca8760  GP      : 0x3fc97600  
TP      : 0x3fca89e0  T0      : 0x4005890e  T1      : 0x40391ab6  T2      : 0xffffffff  
S0/FP   : 0x3c170000  S1      : 0x3c16337c  A0      : 0x00000000  A1      : 0x00000001  
A2      : 0x00000000  A3      : 0x3fca884c  A4      : 0x0000013c  A5      : 0x00000000  
A6      : 0x00000000  A7      : 0x00000008  S2      : 0x3fca8850  S3      : 0x3fc9b834  
S4      : 0x3fcaa2e0  S5      : 0x3fca884c  S6      : 0x00000000  S7      : 0x00000003  
S8      : 0x3fcaa1d9  S9      : 0x3fca8848  S10     : 0x3fcaa1da  S11     : 0x00000000  
T3      : 0x3fca9890  T4      : 0x00000002  T5      : 0x00000002  T6      : 0x00000001  
MSTATUS : 0x00001881  MTVEC   : 0x40380001  MCAUSE  : 0x00000005  MTVAL   : 0x0000000a  
MHARTID : 0x00000000  

Stack memory:
3fca8760: 0x000000e9 0x3fca884c 0x00000000 0x00000001 0x000000e9 0x3c16337c 0x3fca8830 0x40383bfa
3fca8780: 0x3fcaa584 0x00000000 0x3fca87fc 0x00000000 0x3fcaa584 0x3fcaa260 0x3fcaa290 0x3fca8844
3fca87a0: 0x00000020 0x3fcaa260 0x3fca87fc 0x4205791e 0x3fca88c0 0x00000000 0x40382b84 0x3fca8830
3fca87c0: 0x3fca8830 0x3fca8850 0x3fc9b834 0x00000000 0x3fca884c 0x00000000 0x00000003 0x00000030
3fca87e0: 0x00000001 0x00000000 0x00000000 0x3fca8780 0x3fcaa0c0 0x3fcaa0c0 0x3fca884c 0x00000000
3fca8800: 0x00000000 0x00000001 0x00000030 0x00000003 0x00000000 0x00000000 0x00000000 0x3fc9b834
3fca8820: 0x00000000 0x3fca8830 0x3fca8890 0x4203167a 0x3fcaa220 0x3fcaa1d8 0x3fca8840 0x00000003
3fca8840: 0x3fc9b834 0x3c16deb8 0x3c170000 0x00000001 0x00000005 0x00000002 0x3fca8890 0x420315f6
3fca8860: 0x3fcaa1d0 0x3fcaa1c0 0x3fc9b7d8 0x3fc9f000 0x00000005 0x00000002 0x000000e9 0x00000000
3fca8880: 0x00000000 0x00000000 0x3fcaa220 0x42049b4a 0x00000000 0x00000020 0x00000000 0x00000000
3fca88a0: 0x00000005 0x00000002 0x3c146000 0x00000008 0x3fc9bd50 0x3fc9b7d8 0x3fcaa584 0x00000000
3fca88c0: 0x00000000 0x00000000 0x42049b06 0x3fca8930 0x00000016 0x00000004 0x00000000 0x3c146000
3fca88e0: 0x00000002 0x00000005 0x3fc9f000 0x3fc9b7d8 0x00000001 0x00000000 0x00000000 0x3fca8890
3fca8900: 0x00000004 0x00000003 0x3c146000 0x00000001 0x00000004 0x00000003 0x3c140000 0x42049f14
3fca8920: 0x00000020 0x3fcb9890 0x00000001 0x3fc9b000 0x00000020 0x00000008 0x3fcaa0d0 0x3fc9f000
3fca8940: 0x42029000 0x3c142000 0x3fc9b7d8 0x3fc9f000 0x42029000 0x3c142000 0x3fc9b000 0x3fca8970
3fca8960: 0x3fcb9890 0x00003c00 0x3fca9890 0x420295ac 0x00000000 0x00000000 0x00000000 0x00000000
3fca8980: 0x00000000 0x00000000 0x00000000 0x3fca8970 0x00000000 0x00000000 0x00000000 0x00000000
3fca89a0: 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000
3fca89c0: 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000 0xa5a5a5a5 0xa5a5a5a5 0xa5a5a5a5
3fca89e0: 0xa5a5a5a5 0xa5a5a5a5 0x00000160 0x3fca8850 0x000010cb 0x3fc99f70 0x3fc99f70 0x3fca89ec
3fca8a00: 0x3fc99f68 0x00000018 0x00000000 0x00000000 0x3fca89ec 0x00000000 0x00000001 0x3fca49e8
3fca8a20: 0x745f706d 0x006b7361 0x00000000 0x00000000 0x3fca89e0 0x00000001 0x00000000 0x00000000
3fca8a40: 0x3fc9b7d8 0x00000000 0x00000000 0x00000000 0x3fca17a4 0x3fca180c 0x3fca1874 0x00000000
3fca8a60: 0x00000000 0x00000001 0x00000000 0x00000000 0x00000000 0x42009ef8 0x00000000 0x00000000
3fca8a80: 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000
3fca8aa0: 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000
3fca8ac0: 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000
3fca8ae0: 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000
3fca8b00: 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000
3fca8b20: 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000
3fca8b40: 0x00000000 0x82029303 0x3fca89e4 0x00000018 0x3c15475c 0x3fca8b6c 0x3fca972c 0x00000000



ELF file SHA256: 27416c954

Rebooting...
ESP-ROM:esp32c3-api1-20210207
Build:Feb  7 2021
rst:0xc (RTC_SW_CPU_RST),boot:0xd (SPI_FAST_FLASH_BOOT)
Saved PC:0x4038f5c8
SPIWP:0xee
mode:DIO, clock div:1
load:0x3fcd5820,len:0xddc
load:0x403cbf10,len:0x9ac
load:0x403ce710,len:0x2cb8
entry 0x403cbf10
MicroPython 3f0723e061-dirty on 2026-01-22; ESP32C3 module with ESP32C3
Type "help()" for more information.
Jetzt weiß ich leider gar nicht weiter. Ich versuche gerade herauszufinden, ob `mcpwm_make_new` die Funktion ist, die ausgeführt wird, wenn ich eine Instanz erstellen will oder nicht. Ich vermute von Namen her und wegen der `bad timer id...` Fehlermeldung darin, schon.
Ich kann mit `Load access fault` in Bezug auf den Code in C gar nichts anfangen.

Habt ihr eine Idee?

Danke und Grüße
Dennis
"When I got the music, I got a place to go" [Rancid, 1993]
Benutzeravatar
__blackjack__
User
Beiträge: 14276
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

„Guru Meditation Error“ ist so schön retro: https://de.wikipedia.org/wiki/Guru_Meditation

Das ist ein Speicherzugriffsfehler. Da wird versucht auf etwas zuzugreifen was keine gültige Adresse ist. Also in der Regel ein Pointer der auf ”Null” zeigt, oder ein nicht initialisierter Pointer und dann der Versuch den zu dereferenzieren.
“Programming is partially an artform and, like artists, programmers will do it even if they don't get money.” — Linus Torvalds
Antworten