Відповісти

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

Назад

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

dimich
Сьогодні 01:20:06
jokeer пише:

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

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

jokeer
Вчора 19:42:40

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

dimich
Вчора 13:42:22
jokeR пише:

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

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

jokeR
Вчора 11:24:30

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

dimich
Вчора 02:55:58
jokeR пише:

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

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

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

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

jokeR
2026-08-21 20:35:32

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

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