← index #8232Issue #6307
Related · medium · value 1.417
QUERY · ISSUE

ESP32 and Zephyr: Error in nlr_push_tail call

openby sylvioalvesopened 2022-01-31updated 2024-04-14
port-zephyr

Hi, I have tried testing micropython porting for zephyr and ESP32 board. Got myself into this error:

*** Booting Zephyr OS build v3.0.0-rc1-34-gfe4ab778886c  ***
MicroPython v1.18-63-g60e05ae84 on 2022-01-31; zephyr-esp32 with esp32
>>> print("hello")

Backtrace:0x400E1A39:0x3FFE64E0 
0x400e1a39: nlr_push_tail at /home/sylvio/projects/espressif/zephyr/micropython/py/nlr.c:42

Steps to reproduce:
rm -rf build; west build -b esp32 -- -DCONF_FILE=prj_minimal.conf
west flash; west espressif monitor

CANDIDATE · ISSUE

Micropython Zephyr Port not working

closedby mridwangopened 2020-08-04updated 2020-08-21
port-zephyr

Hi,
I am trying to run a Micropython (Zephyr Port) example (blinky) given in github. While running "make" command I am getting the following error. Moreover, I want to use Zephyr Port with nRF52840 DK board. Please guide.
make
Use make V=1 or set BUILD_VERBOSE in your environment to increase build verbosity.
Warning: FROZEN_DIR is deprecated in favour of FROZEN_MANIFEST
mkdir -p outdir/qemu_x86 && cmake -DBOARD=qemu_x86 -Boutdir/qemu_x86 -H.
Including boilerplate (Zephyr workspace): /home/muhammad/zephyrproject/zephyr/cmake/app/boilerplate.cmake
-- Application: /home/muhammad/zephyrproject/micropython/ports/zephyr
-- Zephyr version: 2.3.0 (/home/muhammad/zephyrproject/zephyr)
-- Found Python3: /usr/bin/python3.7 (found suitable exact version "3.7.5") found components: Interpreter
-- Board: qemu_x86
-- Found toolchain: zephyr (/home/muhammad/zephyr-sdk-0.11.3)
-- Found west: /home/muhammad/.local/bin/west (found suitable version "0.7.2", minimum required is "0.7.1")
-- Found dtc: /home/muhammad/zephyr-sdk-0.11.3/sysroots/x86_64-pokysdk-linux/usr/bin/dtc (found suitable version "1.5.0", minimum required is "1.4.6")
-- Found BOARD.dts: /home/muhammad/zephyrproject/zephyr/boards/x86/qemu_x86/qemu_x86.dts
-- Generated zephyr.dts: /home/muhammad/zephyrproject/micropython/ports/zephyr/outdir/qemu_x86/zephyr/zephyr.dts
-- Generated devicetree_unfixed.h: /home/muhammad/zephyrproject/micropython/ports/zephyr/outdir/qemu_x86/zephyr/include/generated/devicetree_unfixed.h

warning: CONSOLE_GETCHAR_BUFSIZE (defined at subsys/console/Kconfig:29) was assigned the value '128'
but got the value ''. Check these unsatisfied dependencies: CONSOLE_GETCHAR (=n), CONSOLE_SUBSYS
(=n). See http://docs.zephyrproject.org/latest/reference/kconfig/CONFIG_CONSOLE_GETCHAR_BUFSIZE.html
and/or look up CONSOLE_GETCHAR_BUFSIZE in the menuconfig/guiconfig interface. The Application
Development Primer, Setting Configuration Values, and Kconfig - Tips and Best Practices sections of
the manual might be helpful too.

warning: CONSOLE_PUTCHAR_BUFSIZE (defined at subsys/console/Kconfig:38) was assigned the value '128'
but got the value ''. Check these unsatisfied dependencies: CONSOLE_GETCHAR (=n), CONSOLE_SUBSYS
(=n). See http://docs.zephyrproject.org/latest/reference/kconfig/CONFIG_CONSOLE_PUTCHAR_BUFSIZE.html
and/or look up CONSOLE_PUTCHAR_BUFSIZE in the menuconfig/guiconfig interface. The Application
Development Primer, Setting Configuration Values, and Kconfig - Tips and Best Practices sections of
the manual might be helpful too.

warning: The choice symbol CONSOLE_GETCHAR (defined at subsys/console/Kconfig:16) was selected (set
=y), but no symbol ended up as the choice selection. See
http://docs.zephyrproject.org/latest/reference/kconfig/CONFIG_CONSOLE_GETCHAR.html and/or look up
CONSOLE_GETCHAR in the menuconfig/guiconfig interface. The Application Development Primer, Setting
Configuration Values, and Kconfig - Tips and Best Practices sections of the manual might be helpful
too.

Parsing /home/muhammad/zephyrproject/zephyr/Kconfig
Loaded configuration '/home/muhammad/zephyrproject/zephyr/boards/x86/qemu_x86/qemu_x86_defconfig'
Merged configuration '/home/muhammad/zephyrproject/micropython/ports/zephyr/prj.conf'
Merged configuration '/home/muhammad/zephyrproject/micropython/ports/zephyr/boards/qemu_x86.conf'
Configuration saved to '/home/muhammad/zephyrproject/micropython/ports/zephyr/outdir/qemu_x86/zephyr/.config'
Kconfig header saved to '/home/muhammad/zephyrproject/micropython/ports/zephyr/outdir/qemu_x86/zephyr/include/generated/autoconf.h'
-- The C compiler identification is GNU 9.2.0
-- The CXX compiler identification is GNU 9.2.0
-- The ASM compiler identification is GNU
-- Found assembler: /home/muhammad/zephyr-sdk-0.11.3/x86_64-zephyr-elf/bin/x86_64-zephyr-elf-gcc
-- Cache files will be written to: /home/muhammad/.cache/zephyr
-- Configuring done
-- Generating done
-- Build files have been written to: /home/muhammad/zephyrproject/micropython/ports/zephyr/outdir/qemu_x86
make --no-print-directory -C outdir/qemu_x86 outputexports CMAKE_COMMAND=: >outdir/qemu_x86/Makefile.export
make -C outdir/qemu_x86 syscall_list_h_target kobj_types_h_target
make[1]: Entering directory '/home/muhammad/zephyrproject/micropython/ports/zephyr/outdir/qemu_x86'
make[2]: Entering directory '/home/muhammad/zephyrproject/micropython/ports/zephyr/outdir/qemu_x86'
make[3]: Entering directory '/home/muhammad/zephyrproject/micropython/ports/zephyr/outdir/qemu_x86'
make[4]: Entering directory '/home/muhammad/zephyrproject/micropython/ports/zephyr/outdir/qemu_x86'
Scanning dependencies of target parse_syscalls_target
make[4]: Leaving directory '/home/muhammad/zephyrproject/micropython/ports/zephyr/outdir/qemu_x86'
make[4]: Entering directory '/home/muhammad/zephyrproject/micropython/ports/zephyr/outdir/qemu_x86'
[ 0%] Generating misc/generated/syscalls.json, misc/generated/struct_tags.json
make[4]: Leaving directory '/home/muhammad/zephyrproject/micropython/ports/zephyr/outdir/qemu_x86'
[ 50%] Built target parse_syscalls_target
make[4]: Entering directory '/home/muhammad/zephyrproject/micropython/ports/zephyr/outdir/qemu_x86'
Scanning dependencies of target syscall_list_h_target
make[4]: Leaving directory '/home/muhammad/zephyrproject/micropython/ports/zephyr/outdir/qemu_x86'
make[4]: Entering directory '/home/muhammad/zephyrproject/micropython/ports/zephyr/outdir/qemu_x86'
[ 50%] Generating include/generated/syscall_dispatch.c, include/generated/syscall_list.h
make[4]: Leaving directory '/home/muhammad/zephyrproject/micropython/ports/zephyr/outdir/qemu_x86'
[100%] Built target syscall_list_h_target
make[3]: Leaving directory '/home/muhammad/zephyrproject/micropython/ports/zephyr/outdir/qemu_x86'
make[2]: Leaving directory '/home/muhammad/zephyrproject/micropython/ports/zephyr/outdir/qemu_x86'
make[2]: Entering directory '/home/muhammad/zephyrproject/micropython/ports/zephyr/outdir/qemu_x86'
make[3]: Entering directory '/home/muhammad/zephyrproject/micropython/ports/zephyr/outdir/qemu_x86'
make[4]: Entering directory '/home/muhammad/zephyrproject/micropython/ports/zephyr/outdir/qemu_x86'
make[4]: Leaving directory '/home/muhammad/zephyrproject/micropython/ports/zephyr/outdir/qemu_x86'
[ 66%] Built target parse_syscalls_target
make[4]: Entering directory '/home/muhammad/zephyrproject/micropython/ports/zephyr/outdir/qemu_x86'
Scanning dependencies of target kobj_types_h_target
make[4]: Leaving directory '/home/muhammad/zephyrproject/micropython/ports/zephyr/outdir/qemu_x86'
make[4]: Entering directory '/home/muhammad/zephyrproject/micropython/ports/zephyr/outdir/qemu_x86'
[100%] Generating include/generated/kobj-types-enum.h, include/generated/otype-to-str.h
make[4]: Leaving directory '/home/muhammad/zephyrproject/micropython/ports/zephyr/outdir/qemu_x86'
[100%] Built target kobj_types_h_target
make[3]: Leaving directory '/home/muhammad/zephyrproject/micropython/ports/zephyr/outdir/qemu_x86'
make[2]: Leaving directory '/home/muhammad/zephyrproject/micropython/ports/zephyr/outdir/qemu_x86'
make[1]: Leaving directory '/home/muhammad/zephyrproject/micropython/ports/zephyr/outdir/qemu_x86'
Use make V=1 or set BUILD_VERBOSE in your environment to increase build verbosity.
Warning: FROZEN_DIR is deprecated in favour of FROZEN_MANIFEST
CC ../../py/mpstate.c
CC ../../py/nlr.c
CC ../../py/nlrx86.c
CC ../../py/nlrx64.c
CC ../../py/nlrthumb.c
CC ../../py/nlrpowerpc.c
CC ../../py/nlrxtensa.c
CC ../../py/nlrsetjmp.c
CC ../../py/malloc.c
CC ../../py/gc.c
CC ../../py/pystack.c
CC ../../py/qstr.c
CC ../../py/vstr.c
CC ../../py/mpprint.c
CC ../../py/unicode.c
CC ../../py/mpz.c
CC ../../py/reader.c
CC ../../py/lexer.c
CC ../../py/parse.c
CC ../../py/scope.c
CC ../../py/compile.c
CC ../../py/emitcommon.c
CC ../../py/emitbc.c
CC ../../py/asmbase.c
CC ../../py/asmx64.c
CC ../../py/emitnx64.c
CC ../../py/asmx86.c
CC ../../py/emitnx86.c
CC ../../py/asmthumb.c
CC ../../py/emitnthumb.c
CC ../../py/emitinlinethumb.c
CC ../../py/asmarm.c
CC ../../py/emitnarm.c
CC ../../py/asmxtensa.c
CC ../../py/emitnxtensa.c
CC ../../py/emitinlinextensa.c
CC ../../py/emitnxtensawin.c
CC ../../py/formatfloat.c
CC ../../py/parsenumbase.c
CC ../../py/parsenum.c
CC ../../py/emitglue.c
CC ../../py/persistentcode.c
CC ../../py/runtime.c
CC ../../py/runtime_utils.c
CC ../../py/scheduler.c
CC ../../py/nativeglue.c
CC ../../py/pairheap.c
CC ../../py/ringbuf.c
CC ../../py/stackctrl.c
CC ../../py/argcheck.c
CC ../../py/warning.c
CC ../../py/profile.c
CC ../../py/map.c
CC ../../py/obj.c
CC ../../py/objarray.c
CC ../../py/objattrtuple.c
CC ../../py/objbool.c
CC ../../py/objboundmeth.c
CC ../../py/objcell.c
CC ../../py/objclosure.c
CC ../../py/objcomplex.c
CC ../../py/objdeque.c
CC ../../py/objdict.c
CC ../../py/objenumerate.c
CC ../../py/objexcept.c
CC ../../py/objfilter.c
CC ../../py/objfloat.c
CC ../../py/objfun.c
CC ../../py/objgenerator.c
CC ../../py/objgetitemiter.c
CC ../../py/objint.c
CC ../../py/objint_longlong.c
CC ../../py/objint_mpz.c
CC ../../py/objlist.c
CC ../../py/objmap.c
CC ../../py/objmodule.c
CC ../../py/objobject.c
CC ../../py/objpolyiter.c
CC ../../py/objproperty.c
CC ../../py/objnone.c
CC ../../py/objnamedtuple.c
CC ../../py/objrange.c
CC ../../py/objreversed.c
CC ../../py/objset.c
CC ../../py/objsingleton.c
CC ../../py/objslice.c
CC ../../py/objstr.c
CC ../../py/objstrunicode.c
CC ../../py/objstringio.c
CC ../../py/objtuple.c
CC ../../py/objtype.c
CC ../../py/objzip.c
CC ../../py/opmethods.c
CC ../../py/sequence.c
CC ../../py/stream.c
CC ../../py/binary.c
CC ../../py/builtinimport.c
CC ../../py/builtinevex.c
CC ../../py/builtinhelp.c
CC ../../py/modarray.c
CC ../../py/modbuiltins.c
CC ../../py/modcollections.c
CC ../../py/modgc.c
CC ../../py/modio.c
CC ../../py/modmath.c
CC ../../py/modcmath.c
CC ../../py/modmicropython.c
CC ../../py/modstruct.c
CC ../../py/modsys.c
CC ../../py/moduerrno.c
CC ../../py/modthread.c
CC ../../py/vm.c
CC ../../py/bc.c
CC ../../py/showbc.c
CC ../../py/repl.c
CC ../../py/smallint.c
CC ../../py/frozenmod.c
CC ../../extmod/moduasyncio.c
CC ../../extmod/moductypes.c
CC ../../extmod/modujson.c
CC ../../extmod/modure.c
CC ../../extmod/moduzlib.c
CC ../../extmod/moduheapq.c
CC ../../extmod/modutimeq.c
CC ../../extmod/moduhashlib.c
CC ../../extmod/moducryptolib.c
CC ../../extmod/modubinascii.c
CC ../../extmod/virtpin.c
CC ../../extmod/machine_mem.c
CC ../../extmod/machine_pinbase.c
CC ../../extmod/machine_signal.c
CC ../../extmod/machine_pulse.c
CC ../../extmod/machine_i2c.c
CC ../../extmod/machine_spi.c
CC ../../extmod/modbluetooth.c
CC ../../extmod/modussl_axtls.c
CC ../../extmod/modussl_mbedtls.c
CC ../../extmod/modurandom.c
CC ../../extmod/moduselect.c
CC ../../extmod/moduwebsocket.c
CC ../../extmod/modwebrepl.c
CC ../../extmod/modframebuf.c
CC ../../extmod/vfs.c
CC ../../extmod/vfs_blockdev.c
CC ../../extmod/vfs_reader.c
CC ../../extmod/vfs_posix.c
CC ../../extmod/vfs_posix_file.c
CC ../../extmod/vfs_fat.c
CC ../../extmod/vfs_fat_diskio.c
CC ../../extmod/vfs_fat_file.c
CC ../../extmod/vfs_lfs.c
CC ../../extmod/utime_mphal.c
CC ../../extmod/uos_dupterm.c
CC ../../lib/embed/abort_.c
CC ../../lib/utils/printf.c
CC build/frozen.c
CC main.c
main.c: In function 'vfs_init':
main.c:108:63: error: missing binary operator before token "("
108 | #elif defined(CONFIG_FLASH_MAP) && FLASH_AREA_LABEL_EXISTS(storage)
| ^
make: *** [../../py/mkrules.mk:63: build/main.o] Error 1

Keyboard

j / / n
next pair
k / / p
previous pair
1 / / h
show query pane
2 / / l
show candidate pane
c
copy suggested comment
r
toggle reasoning
g i
go to index
?
show this help
esc
close overlays

press ? or esc to close

copied