#1 2026-08-21 20:35:32

jokeR
Учасник
Зареєстрований: 2024-12-12
Повідомлень: 223

esp-idf vs Arduino

Трохи цікавих дослідів wink
Зробив саморобку на esp32-c3 + Arduino + FreeRtos. Нічого неймовірного: саморобний драйвер двигуна з аналоговим датчиком Холла, wifi, mqtt, mdns, веб-морда. Працює, але виглядає.. як Arduino - купа ліб, написаних різними людьми.. Вирішив зробити трохи рефакторінга - переписати на чесне esp-idf + freertos. Все що потрібно в esp-idf наче є. Та таска, що з wifi - без проблем; запустилась майже зразу. MDNS - теж. А з mqtt - перестало влазити в флешку. Якщо вимкнути debug - влазить.. але нам так незручно wink Під Arduino все влізло без ніякого байто@@бства.
От і питання - може є спосіб збирати свій код з клочом -Og, а бібліотечний - з -Os ?

Неактивний

#2 Вчора 02:55:58

dimich
Учасник
Зареєстрований: 2023-12-01
Повідомлень: 892

Re: esp-idf vs Arduino

jokeR пише:

От і питання - може є спосіб збирати свій код з клочом -Og, а бібліотечний - з -Os ?

Там же cmake? Теоретично можна, щось типу

set_source_files_properties(main.c PROPERTIES COMPILE_OPTIONS "-Og")

Але боюсь, що разом з кастомним "-Og" esp-idf все одно додаватиме "-Os" із sdkconfig, і який із них виявиться останнім, тобто актуальним - х.з.
А щоб прибрати дефолтні опціі, мабуть, доведеться правити CMakeLists.txt щоб "свій" код компілювався як окрема бібліотека зі своїм target_compile_options().
От тому й не люблю всякі фреймворки та обгортки: як автори собі придумали, так щось і працює, а як треба крок ліворуч чи праворуч - або ламається, або ігнорується.

Неактивний

#3 Вчора 11:24:30

jokeR
Учасник
Зареєстрований: 2024-12-12
Повідомлень: 223

Re: esp-idf vs Arduino

хттпс://docs.espressif.com/projects/esp-idf/en/stable/esp32/api-guides/performance/size.html
Насправді там є що вимкнути wink IPV6, VFS.. Допомогло.

Неактивний

#4 Вчора 13:42:22

dimich
Учасник
Зареєстрований: 2023-12-01
Повідомлень: 892

Re: esp-idf vs Arduino

jokeR пише:

Насправді там є що вимкнути wink

Ну питання було - чи можна скомпілювати різні частини з різними опціями, а не як зменшити розмір бінарика smile

Неактивний

#5 Вчора 19:42:40

jokeer
Гість

Re: esp-idf vs Arduino

Це тому що якимсь дивом бінарник під arduino framework вийшов менший - от і виникла підозра, що там всередині щось хитро скомпільоване.

#6 Сьогодні 01:20:06

dimich
Учасник
Зареєстрований: 2023-12-01
Повідомлень: 892

Re: esp-idf vs Arduino

jokeer пише:

Це тому що якимсь дивом бінарник під arduino framework вийшов менший - от і виникла підозра, що там всередині щось хитро скомпільоване.

Ардуіно фреймворк лінкує з уже скомпільованими freertos.a та іншими бібліотеками. Здається, ось тут можна знайти, що саме і з якими опціями компілюється: https://github.com/espressif/esp32-arduino-lib-builder. Тільки відкопати, з якої гілки чи тега воно збиралось. І якщо не змінювали опції локально.

Неактивний

Швидке повідомлення

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

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