Not a member of Pastebin yet?
                        Sign Up,
                        it unlocks many cool features!                    
                - NodeESP_Firmware builden und flashen
 - ------------------------------------
 - Meine Umgebung: Ubuntu 18.04
 - Zuerst müssen drei Repos geklont werden:
 - -espressif-esp-idf (compiler und build tools)
 - -espressif-esptool (tool zum flashen)
 - -NodeESP_Firmware
 - Danach ein Folder irgendwo erstellen, wird unten jeweils referenziert:
 - ROOT=<project-root-folder>
 - ==== espressif-esp-idf =====
 - # siehe https://docs.espressif.com/projects/esp-idf/en/stable/get-started
 - 1) einen sym link erstellen um später mit python3 arbeiten zu können
 - cd $ROOT
 - mkdir python3-fix
 - ln -s /usr/bin/python3 ./python3-fix/python
 - 2) clonen des repo's
 - cd $ROOT
 - mkdir espressif-esp-idf
 - cd espressif-esp-idf
 - git clone --recursive https://github.com/espressif/esp-idf.git
 - 3) restliche tools im repo installieren
 - cd $ROOT
 - export PATH=$PWD/python3-fix:$PATH
 - cd espressif-esp-idf/esp-idf
 - ./install.sh
 - 4) benötigte python packages installieren
 - cd $ROOT
 - export PATH=$PWD/python3-fix:$PATH
 - cd espressif-esp-idf
 - python -m pip install --user -r $PWD/esp-idf/requirements.txt
 - ==== espressif-esptool ==== (zum flashen)
 - 1) clonen des repo's
 - cd $ROOT
 - git clone https://github.com/espressif/esptool.git
 - ==== NodeESP_Firmware ==== (source)
 - 1) clonen des repo's
 - cd $ROOT
 - git clone https://github.com/FKainka/NodeESP_Firmware.git
 - # folgende änderungen müssen vorgenommen werden, damit das repo compiliert:
 - NodeESP_Firmware/NodeESP/lib/Apps/Apps.hpp: (nur für linux)
 - #include "WiFiSetup.hpp" -> #include "WifiSetup.hpp"
 - #include "APP_iot18.hpp" -> #include "App_iot18.hpp"
 - #include "APP_sh19.hpp" -> #include "App_sh19.hpp"
 - #include "APP_examples.hpp" -> #include "App_examples.hpp"
 - #
 - NodeESP_Firmware/copy_bin.py:
 - print "Post Upload Spiffs" -> print("Post Upload Spiffs")
 - print "Post Upload Firmware" -> print("Post Upload Firmware")
 - #
 - platformio.ini:
 - lib_extra_dirs = NodeESP/lib -> in [env:esp32dev] sektion gezügelt
 - targets = upload, monitor -> auskommentiert, da manueller upload
 - 2) platformio installation vorbereiten
 - sudo apt install virtualenv
 - cd $ROOT
 - virtualenv -p python3 platformio/penv
 - 3) platformio installieren
 - source platformio/penv/bin/activate
 - pip install -U platformio
 - # change file $HOME/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/esp32/esp_wps.h
 - # line 81ff:
 - {.manufacturer = "ESPRESSIF"},\
 - {.model_number = "ESP32"},\
 - {.model_name = "ESPRESSIF IOT"},\
 - {.device_name = "ESP STATION"},\ \
 - 4) builden der firmware
 - cd $ROOT
 - source platformio/penv/bin/activate
 - cd NodeESP_Firmware
 - platformio run
 - 5) flashen der firmware
 - cd $ROOT
 - # da hier nur die application geflasht wird muss als start adresse entweder 0x10000 oder 0x150000 angegeben werden.
 - #
 - # meine partition table sieht wie folgt aus:
 - # -----------------------------------------
 - # Espressif ESP32 Partition Table
 - # Name, Type, SubType, Offset, Size, Flags
 - # Name, Type, SubType, Offset, Size, Flags
 - # nvs, data, nvs, 0x9000, 20K,
 - # otadata, data, ota, 0xe000, 8K,
 - # app0, app, ota_0, 0x10000, 1280K, <- entweder app0 0x10000
 - # app1, app, ota_1, 0x150000, 1280K, <- oder app1 0x150000 nach dem write_flash befehl angeben (siehe unten)
 - # eeprom, data, 153, 0x290000, 4K,
 - # spiffs, data, spiffs, 0x291000, 1468K,
 - # -----------------------------------------
 - #
 - ./espressif-esptool/esptool/esptool.py --chip esp32 -b 460800 write_flash 0x10000 ./NodeESP_Firmware/.pio/build/esp32dev/firmware.bin
 - ==== dump-partition-table ==== (optional)
 - cd $ROOT
 - pushd espressif-esp-idf
 - export IDF_PATH=$PWD/esp-idf
 - popd
 - ./espressif-esptool/esptool/esptool.py -b 460800 read_flash 0x8000 0xc00 ptable.img
 - $IDF_PATH/components/partition_table/gen_esp32part.py ptable.img | tee ptable.txt
 - ==== espressif-esp32-arduino-lib-builder ==== (optional, nur nötig, wenn z.b FreeRTOS neu gebuildet werden muss)
 - 1) clonen des repo's
 - cd $ROOT
 - git clone https://github.com/espressif/esp32-arduino-lib-builder.git
 - 2) builden der library
 - sudo apt-get install git wget curl libssl-dev libncurses-dev flex bison gperf python python-pip python-setuptools python-serial python-click python-cryptography python-future python-pyparsing python-pyelftools cmake ninja-build ccache
 - sudo apt-get install python3-pip
 - python3 -m pip install --upgrade pip
 - cd $ROOT
 - export PATH=$PWD/python3-fix:$PATH
 - cd esp32-arduino-lib-builder
 - ./build.sh
 - 3) kopieren der libraries
 - die erzeugten libraries sind dann hier abgelegt: esp32-arduino-lib-builder/out/tools/sdk/lib
 - die zum linken relevanten libraries sind hier abgelegt: $HOME/.platformio/packages/framework-arduinoespressif32/tools/sdk/lib
 - eine gebuildete library z.B. libfreertos.a müsse dann in den letzteren folder kopiert werden, damit sie gefunden wird
 
Advertisement
 
                    Add Comment                
                
                        Please, Sign In to add comment