Прошивка для esp32 nodemcu lua на базе последней idf4.4

Тема в разделе "ESP8266, ESP32", создана пользователем serg3295, 11 июл 2022.

  1. ИгорьК

    ИгорьК Гуру

    Установил gawk.

    upload_2024-12-16_19-11-35.png
     
  2. serg3295

    serg3295 Гуру

    Не, ну не так же жёстко :)
    $1 это параметр 0x10000, переданный по pipe от других команд. А тут и нет ничего.
    можно awk "{ print strtonum( 0x10000 )}" для проверки.
     
    ИгорьК нравится это.
  3. ИгорьК

    ИгорьК Гуру

    Не отвлекайте, я обезьяной работаю.

    upload_2024-12-16_19-18-21.png
     
  4. serg3295

    serg3295 Гуру

    :eek: Тогда вместо ctrl+c нажмите ввод.
    получится 65 536
    потом ctrl+c

    А потом всю команду целиком
    grep "^lfs,.*" ./components/platform/partitions.csv | cut -d, -f5 | tr -d " " | awk "{print strtonum( \$1 )}"
     
    ИгорьК нравится это.
  5. ИгорьК

    ИгорьК Гуру

    Код (C++):
    igor@debianTEST:~/nodemcu-firmware-esp32$ grep "^lfs,.*" ./components/platform/partitions.csv | cut -d, -f5 | tr -d " " | awk "{print strtonum( \$1 )}"
    65536
     
     
    serg3295 нравится это.
  6. serg3295

    serg3295 Гуру

    Гут!
    Можно компилироваться.
     
    ИгорьК нравится это.
  7. ИгорьК

    ИгорьК Гуру

    Низзяяя....
     

    Вложения:

    • loggg.zip
      Размер файла:
      2,1 КБ
      Просмотров:
      22
  8. serg3295

    serg3295 Гуру

    Плохо, что не компилируется. Хорошо, что до этого никаких ошибок нет.
    В файле buildinfo.h значение lfs_size по-прежнему пусто?
    Если да, то меняем в components/modules/CMakeLists.txt строчку номер 256 COMMAND awk ....что-то там на COMMAND echo $(($1))
    Пробуем компилироваться.

    Нет. Надо подумать. Должно было скомпилироваться с gawk.

    Добавление.
    В итоге, скомпилировалось с gawk без всяких изменений. Надо после установки gawk сделать make clean. И уже потом снова make.
     
    Последнее редактирование: 17 дек 2024
    ИгорьК нравится это.
  9. ИгорьК

    ИгорьК Гуру

    Поставлю Убунту. Но завтра.
     
    serg3295 нравится это.
  10. serg3295

    serg3295 Гуру

    Заменить строку номер 256 в components/modules/CMakeLists.txt на COMMAND xargs -I n printf "%d" n
    вместо awk. Тогда мы избавляемся от функции strtonum, которая есть только в gawk.
    С этой строкой у меня компилируетcя.

    Однако, я не понимаю почему не работает с gawk. Может в строке №256 сначала попробовать явно вызывать gawk, а не awk. Чтобы уж окончательно ничего не понимать.
     
    Последнее редактирование: 17 дек 2024
    ИгорьК нравится это.
  11. ИгорьК

    ИгорьК Гуру

    Код (Bash):
    Project build complete. To flash, run this command:
    /home/igor/.espressif/python_env/idf5.1_py3.11_env/bin/python sdk/esp32-esp-idf/components/esptool_py/esptool/esptool.py -p (PORT) -b 460800 --before default_reset --after hard_reset --chip esp32  write_flash --flash_mode dio --flash_size 4MB --flash_freq 40m 0x1000 build/bootloader/bootloader.bin 0x8000 build/partition_table/partition-table.bin 0x10000 build/nodemcu.bin
    or run 'idf.py -p (PORT) flash'
    make[1]: Leaving directory '/home/igor/nodemcu-firmware-esp32'
    igor@debianTEST:~/nodemcu-firmware-esp32$
     
    На дебиане, там где не компилировалось.!!!!! Все необходимые модули и увеличил LFS. Правда на железке не проверял.

    На Убунту пока нет времени.
     
    Последнее редактирование: 17 дек 2024
    serg3295 нравится это.
  12. serg3295

    serg3295 Гуру

    То что скомипилировалось, это хорошо. Однако, можно всё-таки ничего не менять в исходном коде.
    Просто установить gawk и после этого сделать make clean, чтобы очистить папку build тем самым заставив CMake отработать заново. И тогда уже make будет без ошибок.
    Я проверил это на Debian 11.

    Убунту можно и не проверять. На ubuntu 20.04 ci на github'e отрабатывает сборку при каждом коммите.
     
    ИгорьК нравится это.
  13. ИгорьК

    ИгорьК Гуру

    Воистину так! И поверил и проверил :)

    И вот еще:

    upload_2024-12-18_11-1-52.png

    ESP32S3 в работе! Это славно!
     
    Последнее редактирование: 18 дек 2024
    serg3295 нравится это.
  14. ИгорьК

    ИгорьК Гуру

    ... но не ESP32-S3-Zero. Сергей, нет ли у вас опыта прошивки этой платы? В установках я выбираю

    upload_2025-2-18_11-11-6.png

    После прошивки появляется порт с другим номером, но дальше дело не идет.

    Если приколоться и в этот новый порт накатить эту же прошивку, то (именно) ESPlorer начинает видеть модуль, но, дело дальше node.heap() не идет :)

    Вот как выглядит VSCode (без приколов):

    upload_2025-2-18_11-17-34.png
     
    Последнее редактирование: 18 фев 2025 в 12:22
  15. ИгорьК

    ИгорьК Гуру

    Ашыпка обнаружена:

    upload_2025-2-18_11-37-8.png

    Оно работает!
     
  16. serg3295

    serg3295 Гуру

    У меня s3 zero нормально работает по всем интерфейсам. Кстати, если нет явной необходимости в cdc, рекомендую выбирать usb_serial_jtag в качестве интерфейса консоли.

    Upd: Опоздал :D
     
    ИгорьК нравится это.
  17. ИгорьК

    ИгорьК Гуру

    О каких ЕЩЕ интерфейсах Зеро идет речь?

    Она появляется тогда, когда на модуле нет микросхемы USB-UART, так?

    У меня лежит плата ESP32 S3 с двумя разъемами USB Type-C. Речь об этом?
     
  18. serg3295

    serg3295 Гуру

    На некоторых платах, в частности на s3, можно выбрать канал для вывода консоли либо cdc, либо jtag для подключения через физический разъём USB. Под "интерфейсами" в данном случае я подразумевал разные типы консолей. Некорректно сформулировал. Канал для вывода консоли будет более правильно.

    Если на плате (S3, H2, другая) установлены два разъёма USB, то на одном написано UART, на другом USB. На UART, ясное дело, выводится только канал для вывода консоли UART. На USB можно вывести CDC или jtag. Консоль одна, поэтому выводим в какой-нибудь один канал.

    Выбор между cdc и jtag это просто моё предпочтение. Мне jtag показался более устойчивым при работе с разными платами на esp-idf.
    Если работает cdc, то можно и его использовать. Без разницы.
     
    ИгорьК нравится это.
  19. Ariadna-on-Line

    Ariadna-on-Line Гуру

    Не понял. Через USB-разъём идет физический UART интерфейс ? Это конечно возможно. Но это жестокое неуважение к техн. стандартам. Или вы имеете в виду виртуальный Ком-порт как на Ардуино Уно R3 ?!
     
    ИгорьК нравится это.
  20. serg3295

    serg3295 Гуру

    При подключении по физическому порту USB плата видится как виртуальный порт /dev/ttyUSB.. /dev/ttyACM.. COM..
    Физический интерфейс UART не идёт через разъем USB.
    Вот здесь я более подробно писал о разных вариантах подключения.
     
    Последнее редактирование: 19 фев 2025 в 09:52
    ИгорьК нравится это.