-
- Спасибо! Таки, да, виноват не компилер. Инлайн-ассемблерный код в
ядре FreeRTOS (port.c) транслируется в короткие джампы, которые "не
достают" до места назначения, если включена LTO. И, да, по ссылке
есть решение (по крайней мере, проект транслируется). - Cидopгeк(01.04.2020 16:16 - 16:25)
- Как в анекдоте про две новости, хорошую и плохую: хорошая -
бинарник с 213 уменьшился до 181 килобайта. Плохая - будучи залита
в железо, программа падает в WWDG_IRQHandler, хотя вотчдог не
использую. Пойду гуглить ... - Cидopгeк(01.04.2020 16:23)
- Если там 200 КБ реального кода, LTO может поднять из глубин тонны
навоза :-) - SciFi(01.04.2020 16:26)
- Кода там килобайт 100, остальное JQuery.js. Насчет тонн навоза,
согласен. Вопрос, как его отлаживать? - Cидopгeк(01.04.2020 16:39)
- Хороший вопрос... Ответ: долго и мучительно. Или забить на LTO. - SciFi(01.04.2020 16:39)
- Если б то был мой код, чес.слово, полез бы искать. Но там в
основном FreeRTOS + LwIP с альтернативным WEB-сервером, так что
наверное забью. - Cидopгeк(01.04.2020 16:44)
- Ставь только -Os и всё, больше никаких параметров не передавай. Компилятор сам решит чем там лучше оптимизировать, т,к. ряд флагов противоречивы или даже не совместимы. Для "релиза" вполне себе компактно и работоспособно. - POV(20.05.2023 17:54)
- Кстати, есть у меня прошивки с LTO, там же lwip, но нету freertos. Кода из исходников где-то на 80 КБ вместе с lwip. Так что можно считать, что lwip держится молодцом, наверное. - SciFi(01.04.2020 16:52)
- Если б то был мой код, чес.слово, полез бы искать. Но там в
основном FreeRTOS + LwIP с альтернативным WEB-сервером, так что
наверное забью. - Cидopгeк(01.04.2020 16:44)
- Хороший вопрос... Ответ: долго и мучительно. Или забить на LTO. - SciFi(01.04.2020 16:39)
- Кода там килобайт 100, остальное JQuery.js. Насчет тонн навоза,
согласен. Вопрос, как его отлаживать? - Cидopгeк(01.04.2020 16:39)
- Если там 200 КБ реального кода, LTO может поднять из глубин тонны
навоза :-) - SciFi(01.04.2020 16:26)
- Как в анекдоте про две новости, хорошую и плохую: хорошая -
бинарник с 213 уменьшился до 181 килобайта. Плохая - будучи залита
в железо, программа падает в WWDG_IRQHandler, хотя вотчдог не
использую. Пойду гуглить ... - Cидopгeк(01.04.2020 16:23)
- Спасибо! Таки, да, виноват не компилер. Инлайн-ассемблерный код в
ядре FreeRTOS (port.c) транслируется в короткие джампы, которые "не
достают" до места назначения, если включена LTO. И, да, по ссылке
есть решение (по крайней мере, проект транслируется). - Cидopгeк(01.04.2020 16:16 - 16:25)