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

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

  1. serg3295

    serg3295 Гуру

    Если речь идёт о наборе утилит в файлах tasks.json и auto.sh в каталоге .vscode, то путь к компилятору luac.cross задаётся в константе в файле auto.sh
    Код (Bash):
    #!/bin/sh

    LFS_SIZE=0x040000
    LFS_BASE=0x088000
    LUAC_CROSS="/opt/lua"
    ESP_ARCH="esp8266"
    MAKE_RESOURCE="/opt/lua/tools/make_resource"
    Если я правильно понял о чём речь. У меня этих файлов tasks.json как в Бразилии донов Педро :)
     
    ИгорьК нравится это.
  2. ИгорьК

    ИгорьК Гуру

    Это для чего?
     
  3. serg3295

    serg3295 Гуру

    первое - кусочек пути к luac.cross. Дальше в коде есть
    `luacCross=${LUAC_CROSS}/${ESP_ARCH}/${luaVer}/luac.cross`

    второе -
    В версии прошивки для ESP8266 имеется утилита make_resource, которая собирает произвольные файлы в файл resource.lua, записываемый в LFS. Затем к этим файлам можно получить доступ в режиме read-only из своей программы, используя функции модуля file_LFS.

    можно не обращать внимание. на этот параметр. Тем более, я планирую встроить make_resource в расширение vscode. Что бы всё автоматически собиралось.
     
    ИгорьК нравится это.
  4. ИгорьК

    ИгорьК Гуру

    Похоже, у меня одна из ранних версий вашего файла, для винды он называется "auto.ps1".

    upload_2024-5-16_10-43-21.png

    Как выглядит ваш последний вариант?
     
  5. serg3295

    serg3295 Гуру

    Что-то древнее лежит на github'e. Для линукс в том числе. Выложил в этот же репо более позднюю версию для linux в отдельную ветку dev.
    Просто у меня уже давно основная система linux mint, и во windows я захожу очень, очень редко. Поэтому поддерживать и обновлять вариант для винды я просто не смогу. Я реально не помню ps1.
    Более того, я начал дорабатывать расширение nodemcu-tools как раз с целью уйти от сценариев, и обеспечить кроссплатформенность. Сейчас расширение закрывает почти все задачи, имеющиеся в tasks.json.
    Собственно, поэтому и обновлений репо даже для линукса не делал.
     
    Последнее редактирование: 16 май 2024
    ИгорьК нравится это.
  6. serg3295

    serg3295 Гуру

    Обновление прошивки для ESP32

    В последнем принятом PR#3652 (github) были исправлены ошибки, возникающие при работе через консоль.
    Добавлена функция node.chipmodel() (readthedocs.io)
    Изменены значения по умолчанию для параметров
    Код (C++):
    CONFIG_NEWLIB_STDIN_LINE_ENDING_LF=y
    CONFIG_NEWLIB_STDOUT_LINE_ENDING_LF=y

    Для поддержки нового PR выпущена версия v4.1.0 CLI утилиты nodemcu-tool (github). Для установки скачать zip архив (github) и распаковать его в какой-нибудь каталог.
    Новая версия расширения VSCode - nodemcu-tools, поддерживающая этот PR, будет чуть позже.
     
    ИгорьК нравится это.
  7. ИгорьК

    ИгорьК Гуру

    Вот что важнее :)
     
  8. ИгорьК

    ИгорьК Гуру

    Коммит
    upload_2024-5-25_22-22-1.png

    Выдает ошибку

    Код (Text):
    [ 28%] Building C object esp-idf/esp_hw_support/CMakeFiles/__idf_esp_hw_support.dir/esp_hmac.c.obj
    [ 28%] Building C object esp-idf/esp_hw_support/CMakeFiles/__idf_esp_hw_support.dir/esp_etm.c.obj
    /home/igor/dev-esp32/sdk/esp32-esp-idf/components/esp_hw_support/sleep_modes.c: In function 'light_sleep_uart_prepare':
    /home/igor/dev-esp32/sdk/esp32-esp-idf/components/esp_hw_support/sleep_modes.c:152:61: error: 'CONFIG_ESP_CONSOLE_UART_BAUDRATE' undeclared (first use in this function); did you mean 'CONFIG_ESP_CONSOLE_UART_NUM'?
      152 | #define UART_FLUSH_US_PER_CHAR              (10*1000*1000 / CONFIG_ESP_CONSOLE_UART_BAUDRATE)
          |                                                             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    /home/igor/dev-esp32/sdk/esp32-esp-idf/components/esp_hw_support/sleep_modes.c:484:113: note: in expansion of macro 'UART_FLUSH_US_PER_CHAR'
      484 |             (sleep_duration < (int64_t)((UART_LL_FIFO_DEF_LEN - uart_ll_get_txfifo_len(CONSOLE_UART_DEV) + 1) * UART_FLUSH_US_PER_CHAR) + SLEEP_UART_FLUSH_DONE_TO_SLEEP_US)) {
          |                                                                                                                 ^~~~~~~~~~~~~~~~~~~~~~
    /home/igor/dev-esp32/sdk/esp32-esp-idf/components/esp_hw_support/sleep_modes.c:152:61: note: each undeclared identifier is reported only once for each function it appears in
      152 | #define UART_FLUSH_US_PER_CHAR              (10*1000*1000 / CONFIG_ESP_CONSOLE_UART_BAUDRATE)
          |                                                             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    /home/igor/dev-esp32/sdk/esp32-esp-idf/components/esp_hw_support/sleep_modes.c:484:113: note: in expansion of macro 'UART_FLUSH_US_PER_CHAR'
      484 |             (sleep_duration < (int64_t)((UART_LL_FIFO_DEF_LEN - uart_ll_get_txfifo_len(CONSOLE_UART_DEV) + 1) * UART_FLUSH_US_PER_CHAR) + SLEEP_UART_FLUSH_DONE_TO_SLEEP_US)) {
          |                                                                                                                 ^~~~~~~~~~~~~~~~~~~~~~
    make[4]: *** [esp-idf/esp_hw_support/CMakeFiles/__idf_esp_hw_support.dir/build.make:206: esp-idf/esp_hw_support/CMakeFiles/__idf_esp_hw_support.dir/sleep_modes.c.obj] Error 1
    make[4]: *** Waiting for unfinished jobs....
    [ 28%] Building C object esp-idf/esp_hw_support/CMakeFiles/__idf_esp_hw_support.dir/esp_dpa_protection.c.obj
    make[4]: Leaving directory '/home/igor/dev-esp32/build'
    make[3]: *** [CMakeFiles/Makefile2:3936: esp-idf/esp_hw_support/CMakeFiles/__idf_esp_hw_support.dir/all] Error 2
    make[3]: Leaving directory '/home/igor/dev-esp32/build'
    make[2]: *** [Makefile:130: all] Error 2
    make[2]: Leaving directory '/home/igor/dev-esp32/build'
    make failed with exit code 2, output of the command is in the /home/igor/dev-esp32/build/log/idf_py_stderr_output_15723 and /home/igor/dev-esp32/build/log/idf_py_stdout_output_15723
    make[1]: *** [Makefile:18: all] Error 2
    make[1]: Leaving directory '/home/igor/dev-esp32'
    make: *** [Makefile:10: all] Error 2
    igor@Zotac-C:~/dev-esp32$

    C целью все нормально:
    upload_2024-5-25_22-24-29.png

    Без указанной опции маке отрабатывает без ошибок.

    Или я опять что-то забыл... Так и уеду в отпуск... :)
     
    Последнее редактирование: 26 май 2024
  9. serg3295

    serg3295 Гуру

    У esp32c6 нет USB CDC
    там надо выбирать UART0 и втыкать провод в разъём ch343
    26-05-24_09-34.png

    Ко мне вчера приехала с6

    Похоже, надо сделать make clean перед сменой цели. Тогда прошивка соберётся.
    Если не поможет, тогда fullclean. Или даже удалить каталоги build, cache вручную.
     
    Последнее редактирование: 26 май 2024
  10. serg3295

    serg3295 Гуру