Відповісти

Введіть повідомлення і натисніть Надіслати
Параметри

Назад

Огляд теми (нові повідомленні вгорі)

jokeer
2025-05-31 22:49:44

>> невідповідність ABI.

Так, схоже, що лікується щось не те

>>я би взагалі не звʼязувався з фреймворком arduino

Розумію. Але зручна, зараза wink

dimich
2025-05-31 21:30:42
jokeer пише:

Судячи по SDK config.h , воно якось сконфігуроване.

Який саме config.h, той що include/sys/config.h в тулчейні?

jokeer пише:

Переконфігурувати під себе, звичайно, можна. Але було цікаво чи можна зробити це глобально.

Як розумію, якщо ви його модифікуєте, це вплине на ваш скомпільований код. Але ліби, прекомпільовані з цим конфігом, залишаться ті ж самі. Буде невідповідність ABI.

Збираєте проект з "pio run -v". Дивитеся, що воно компілює, з чим лінкує.

jokeer пише:

Спробував задіяти внутрішній термосенсор. Кров, кишки.. і це ще той код з сенсором навіть не запускався, падає з панікою зразу після bootloader а. Магія wink

Я би взагалі не звʼязувався з фреймворком arduino. Хіба що необхідно швидко запустити існуючий проект на новому залізі, або проект розробляється для зоопарку різних платформ.

jokeer
2025-05-31 08:26:26

Та попередніх версій не було, звідки? wink Що скачалось на тому і їздимо.
Сплошна китайська магія wink Це мене зацікавила тема watchdog. Судячи по SDK config.h , воно якось сконфігуроване. Переконфігурувати під себе, звичайно, можна. Але було цікаво чи можна зробити це глобально.
Спробував задіяти внутрішній термосенсор. Кров, кишки.. і це ще той код з сенсором навіть не запускався, падає з панікою зразу після bootloader а. Магія wink

dimich
2025-05-31 03:06:27
jokeR пише:

Це конфігурація відноситься до плати, а не до проекту.

Наскільки бачу, FreeRTOS там прекомпільована, у вигляді статичної бібліотеки. Якщо хочеться свою конфігурацію - мабуть, збирати окремо, потім може якось можна вкрутити в platformio у вигляді ще одного SDK.

jokeR пише:

.platformio/packages/framework-espidf/tools/idf.py - не запускається.

Хм, а у мене немає там idf.py. Може в нас різні версії фреймворка, або у вас якісь файли залишились від попередніх версій.

У мене при збірці проекта з такою ж конфігурацією esp-шний скрипт запускається тільки в кінці, для генерації бінарика з ельфа:

"/usr/bin/python" "/home/dimich/.platformio/packages/tool-esptoolpy/esptool.py" --chip esp32c3 elf2image --flash_mode dio --flash_freq 80m --flash_size 4MB --elf-sha256-offset 0xb0 -o .pio/build/esp32-c3-devkitm-1/firmware.bin .pio/build/esp32-c3-devkitm-1/firmware.elf
jokeR
2025-05-30 09:00:20

всі борди вже преконфігуровані.

Хм, здається ви таке праві wink Це конфігурація відноситься до плати, а не до проекту. Просто раз існує idf.py menuconfig - чому б не запустити wink


А що у вас в platformio.ini?

[env:esp32-c3-devkitm-1]
platform = espressif32
board = esp32-c3-devkitm-1
framework = arduino
upload_port = /dev/ttyACM0
debug_tool = esp-builtin
build_flags = !echo "-DGIT_VERSION="$(git rev-parse --short HEAD) "-DBUILD_DATE="$(date +%%Y%%m%%d)

Найдешевша китайська плата з непрацюючою керамічною антеною wink

dimich
2025-05-30 03:08:09
jokeR пише:

А як цей esp-idf конфігурувати?

А що саме ви хочете сконфігурувати? Здається, сенс platform.io в тому, що всі борди вже преконфігуровані. Хочете кастомну - створюєте окремий профайл борди. Хоча напевне не буду стверджувати, бо грався з цією екосистемою зовсім трошки.
Деякі опції збірки можна кастомізувати за допомогою build_unflags / build_flags в platformio.ini.

jokeR пише:

.platformio/packages/framework-arduinoespressif32/tools/esp32-arduino-libs/esp32c3/qio_qspi/include/sdkconfig.h

А що у вас в platformio.ini? Бо спробував створити проект саме для esp32c3 з фреймворком arduinoespressif32, а воно каже - нема такої борди в цьому фреймворку. І директорії esp32-arduino-libs по цьому шляху теж нема. Але я поки що не дуже й старався розбиратись із цим, щоб відтворити таку ж конфігурацю проекту як у вас.

jokeR
2025-05-29 11:28:03

Оце граюсь в esp32.. Цікаво в них зроблено.
framework-arduinoespressif32 виглядає як Arduino, але всередині і нього FreeRTOS. Можна ганяти arduino-style, можна task scheduler. Ok.
Всередині FreeRTOS - проглядає ESP-IDF. Ок.
А як цей esp-idf конфігурувати?
.platformio/packages/framework-arduinoespressif32/tools/esp32-arduino-libs/esp32c3/qio_qspi/include/sdkconfig.h - генерований. але чим?
.platformio/packages/framework-espidf/tools/idf.py - не запускається.
ModuleNotFoundError: No module named 'esp_idf_monitor'
Такого модуля дійсно немає.
Чи це в platformio залили попередньо сконфігурований framework, і нєфіг. Чи я його не з тої сторони розкурюю?

Підвал форуму