Welcome to the Pycom forum Forum
    • \[\[global:header.categories\]\]
    • \[\[global:header.recent\]\]
    • \[\[global:header.tags\]\]
    • \[\[global:header.popular\]\]
    • Login

    Explore Pybytes | Official Documentation | Report a Firmware Bug/Issue | GitHub

    [Wipy 2.0] Error when building firmware bootloader

    Scheduled Pinned Locked Moved Firmware
    wipyesp32
    4 Posts 2 Posters 1.9k Views 2 Watching
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • A Offline
      Arkaik
      last edited by

      Hi everyone,

      I'm currently trying to build a firmware from https://github.com/pycom/pycom-micropython-sigfox/tree/master/esp32 for my Wipy 2.0 but I always get an error during the build of bootloader.

      I started from a fresh clone https://github.com/pycom/pycom-micropython-sigfox
      Using pycom-esp-idf and the xtensa-esp32-elf toolchain.

      I did the submodule update with success

      ~/esp32_B/pycom-micropython-sigfox/esp32$ git submodule update --init
      Sous-module 'lib/axtls' (https://github.com/pfalcon/axtls) enregistré pour le chemin '../lib/axtls'
      Sous-module 'lib/berkeley-db-1.xx' (https://github.com/pfalcon/berkeley-db-1.xx) enregistré pour le chemin '../lib/berkeley-db-1.xx'
      Sous-module 'lib/libffi' (https://github.com/atgreen/libffi) enregistré pour le chemin '../lib/libffi'
      Sous-module 'lib/lwip' (http://git.savannah.gnu.org/r/lwip.git) enregistré pour le chemin '../lib/lwip'
      Clonage dans 'lib/axtls'...
      remote: Counting objects: 2774, done.
      remote: Total 2774 (delta 0), reused 0 (delta 0), pack-reused 2774
      Réception d'objets: 100% (2774/2774), 3.47 MiB | 73.00 KiB/s, fait.
      Résolution des deltas: 100% (2087/2087), fait.
      Vérification de la connectivité... fait.
      Chemin de sous-module '../lib/axtls' : '67d27df4b5d097e146599fc4fb160a2adcbf5632' extrait
      Clonage dans 'lib/berkeley-db-1.xx'...
      remote: Counting objects: 262, done.
      remote: Compressing objects: 100% (121/121), done.
      remote: Total 262 (delta 121), reused 262 (delta 121), pack-reused 0
      Réception d'objets: 100% (262/262), 331.56 KiB | 67.00 KiB/s, fait.
      Résolution des deltas: 100% (121/121), fait.
      Vérification de la connectivité... fait.
      Chemin de sous-module '../lib/berkeley-db-1.xx' : 'dab957dacddcbf6cbc85d42df62e189e4877bb72' extrait
      Clonage dans 'lib/libffi'...
      remote: Counting objects: 10883, done.
      remote: Total 10883 (delta 0), reused 0 (delta 0), pack-reused 10882
      Réception d'objets: 100% (10883/10883), 6.83 MiB | 54.00 KiB/s, fait.
      Résolution des deltas: 100% (6773/6773), fait.
      Vérification de la connectivité... fait.
      Chemin de sous-module '../lib/libffi' : 'e9de7e35f2339598b16cbb375f9992643ed81209' extrait
      Clonage dans 'lib/lwip'...
      remote: Counting objects: 43712, done.
      remote: Compressing objects: 100% (10861/10861), done.
      remote: Total 43712 (delta 32866), reused 42970 (delta 32347)
      Réception d'objets: 100% (43712/43712), 8.11 MiB | 29.00 KiB/s, fait.
      Résolution des deltas: 100% (32866/32866), fait.
      Vérification de la connectivité... fait.
      Chemin de sous-module '../lib/lwip' : '5b8b5d459e7dd890724515bbfad86c705234f9ec' extrait

      I also built mpy-cross sucessfully

      ~/esp32_B/pycom-micropython-sigfox/mpy-cross$ make all
      Use make V=1 or set BUILD_VERBOSE in your environment to increase build verbosity.
      mkdir -p build/genhdr
      Generating build/genhdr/mpversion.h
      GEN build/genhdr/qstr.i.last
      GEN build/genhdr/qstr.split
      GEN build/genhdr/qstrdefs.collected.h
      QSTR updated
      GEN build/genhdr/qstrdefs.generated.h
      mkdir -p build/py/
      mkdir -p build/py/../extmod/
      mkdir -p build/py/../lib/embed/
      mkdir -p build/py/../lib/utils/
      CC ../py/mpstate.c
      CC ../py/nlrx86.S
      CC ../py/nlrx64.S
      CC ../py/nlrthumb.c
      CC ../py/nlrxtensa.S
      CC ../py/nlrsetjmp.c
      CC ../py/malloc.c
      CC ../py/gc.c
      CC ../py/qstr.c
      CC ../py/vstr.c
      CC ../py/mpprint.c
      CC ../py/unicode.c
      CC ../py/mpz.c
      CC ../py/lexer.c
      CC ../py/lexerstr.c
      CC ../py/lexerunix.c
      CC ../py/parse.c
      CC ../py/scope.c
      CC ../py/compile.c
      CC ../py/emitcommon.c
      CC ../py/emitbc.c
      CC ../py/asmx64.c
      CC ../py/emitnative.c
      CC ../py/asmx86.c
      CC ../py/emitnative.c
      CC ../py/asmthumb.c
      CC ../py/emitnative.c
      CC ../py/emitinlinethumb.c
      CC ../py/asmarm.c
      CC ../py/emitnative.c
      CC ../py/formatfloat.c
      CC ../py/parsenumbase.c
      CC ../py/parsenum.c
      CC ../py/emitglue.c
      CC ../py/runtime.c
      CC ../py/runtime_utils.c
      CC ../py/nativeglue.c
      CC ../py/stackctrl.c
      CC ../py/argcheck.c
      CC ../py/warning.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/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/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 ../py/../extmod/moductypes.c
      CC ../py/../extmod/modujson.c
      CC ../py/../extmod/modure.c
      CC ../py/../extmod/moduzlib.c
      CC ../py/../extmod/moduheapq.c
      CC ../py/../extmod/moduhashlib.c
      CC ../py/../extmod/modubinascii.c
      CC ../py/../extmod/virtpin.c
      CC ../py/../extmod/machine_mem.c
      CC ../py/../extmod/machine_pinbase.c
      CC ../py/../extmod/machine_pulse.c
      CC ../py/../extmod/machine_i2c.c
      CC ../py/../extmod/machine_spi.c
      CC ../py/../extmod/modussl_axtls.c
      CC ../py/../extmod/modussl_mbedtls.c
      CC ../py/../extmod/modurandom.c
      CC ../py/../extmod/modwebsocket.c
      CC ../py/../extmod/modwebrepl.c
      CC ../py/../extmod/modframebuf.c
      CC ../py/../extmod/fsusermount.c
      CC ../py/../extmod/vfs_fat.c
      CC ../py/../extmod/vfs_fat_ffconf.c
      CC ../py/../extmod/vfs_fat_diskio.c
      CC ../py/../extmod/vfs_fat_file.c
      CC ../py/../extmod/vfs_fat_lexer.c
      CC ../py/../extmod/vfs_fat_misc.c
      CC ../py/../extmod/utime_mphal.c
      CC ../py/../extmod/uos_dupterm.c
      CC ../py/../lib/embed/abort_.c
      CC ../py/../lib/utils/printf.c
      CC main.c
      CC gccollect.c
      LINK mpy-cross
      text data bss dec hex filename
      133884 792 904 135580 2119c mpy-cross

      The environment variable for esp-idf path is defined

      ~/esp32_B/pycom-micropython-sigfox/esp32$ echo $ESP_IDF_PATH
      /home/julien/esp32_B/pycom-esp-idf/

      When I'm trying to build the firmware I got the following error:

      ~/esp32_B/pycom-micropython-sigfox/esp32$ make BOARD=WIPY -j5 TARGET=boot
      Use make V=1 or set BUILD_VERBOSE in your environment to increase build verbosity.
      CC bootloader/bootloader.c
      CC bootloader/bootmgr.c
      CC bootloader/mperror.c
      CC bootloader/gpio.c
      bootloader/gpio.c:14:23: fatal error: esp_types.h: No such file or directory
      compilation terminated.
      In file included from bootloader/bootloader.c:19:0:
      bootloader/bootloader.h:18:34: fatal error: esp_flash_data_types.h: No such file or directory
      compilation terminated.
      bootloader/mperror.c:18:29: fatal error: heap_alloc_caps.h: No such file or directory
      compilation terminated.
      bootloader/bootmgr.c:18:29: fatal error: heap_alloc_caps.h: No such file or directory
      compilation terminated.
      ../py/mkrules.mk:47: recipe for target 'build/WIPY/release/bootloader/gpio.o' failed
      make: *** [build/WIPY/release/bootloader/gpio.o] Error 1
      make: *** Attente des tâches non terminées....
      ../py/mkrules.mk:47: recipe for target 'build/WIPY/release/bootloader/bootmgr.o' failed
      make: *** [build/WIPY/release/bootloader/bootmgr.o] Error 1
      ../py/mkrules.mk:47: recipe for target 'build/WIPY/release/bootloader/bootloader.o' failed
      make: *** [build/WIPY/release/bootloader/bootloader.o] Error 1
      ../py/mkrules.mk:47: recipe for target 'build/WIPY/release/bootloader/mperror.o' failed
      make: *** [build/WIPY/release/bootloader/mperror.o] Error 1

      Does someone knows where the error could come from?

      robert-hhR 1 Reply Last reply Reply Quote 0
      • robert-hhR Offline
        robert-hh
        last edited by

        The file esp_types.h is missing. Look for it in the esp_idf tree and copy it to the micropython/esp32 folder. That's an old bug.

        1 Reply Last reply Reply Quote 0
        • robert-hhR Offline
          robert-hh @Arkaik
          last edited by

          @Arkaik It should be in pycom-esp-idf/components/esp32/include. Are you sue that you have set the environment variables right, like told in the README.md, https://github.com/pycom/pycom-micropython-sigfox, bottom section?

          A 1 Reply Last reply Reply Quote 0
          • A Offline
            Arkaik @robert-hh
            last edited by

            @robert-hh
            Hi, thank you for the answer, I think I missed something during the procedure because I tried again from scratch and it works perfectly.
            I think I forgot an environment variable as you propose.

            1 Reply Last reply Reply Quote 0

            Hello! It looks like you're interested in this conversation, but you don't have an account yet.

            Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.

            With your input, this post could be even better 💗

            Register Login
            • 1 / 1
            • First post
              Last post

            Pycom on Twitter

            Pycom