Ви не увійшли.
Сторінки 1
Оце заходився зробити нагрівач з текрмостабілізацією. Нічого складного: термопара з датчиком MAX6675, LCD дисплей 1602, енкодер, симистор. Замість контроллера взяв stm32f103 - китайську blue pill. Всередину - freertos (красиво ж
). Готові ардуїнівські ліби зручно.. Х%%к-х%%к і в production
І воно все разом - упсь, не влізло
Штош, взяв тулзовину puncover, дивлюсь куди ділось 32к флешки. 
Я так розумію, дуже багато місця зайняла float математика, яку притягнула з собою ліба термометра (_adddf3, __aeabi_dmul і тому подібне). Але абсолютний рекордсмен - HAL (HAL_I2C_EV_IRQHandler, HAL_RCC_OscConfig,HAL_UART_IRQHandler). Без HAL мабуть буде незручно. freertos - помітно. Страшні ардуїнівські функції десь в кінці.
Можна, звичайно, трохи побайто%%битись, переписати лібу без float. Або без freertos обійтись. Чи взяти інший фреймворк спробувати. Що порадите?
Неактивний
Що у вас за конфігурація platformio?
Які саме ліби використовуєте?
Для термостата що там потрібно? Регулятор та примітивний UI. Не дуже розумію, навіщо там RTOS.
взяв тулзовину puncover, дивлюсь куди ділось 32к флешки.
А objdump що показує? Окрім .text є ще секції .data та .rodata.
Наприклад, дисплей хоч і символьний, але бібліотека може тягнути кастомні бітмапи для завантаження в CGRAM.
Я так розумію, дуже багато місця зайняла float математика, яку притягнула з собою ліба термометра (_adddf3, __aeabi_dmul і тому подібне).
Їх може і який-небудь snprintf() притягнути.
Але абсолютний рекордсмен - HAL (HAL_I2C_EV_IRQHandler, HAL_RCC_OscConfig,HAL_UART_IRQHandler).
Так це мабуть ардуінівська Wire. Вона дурна.
UPD: сама по собі HAL_I2C_EV_IRQHandler() в stm32f1xx_hal_i2c.c монструозна. Не розумію, навіщо імплементувати і master, і slave mode в одному місці одночасно.
Остання редакція dimich (Сьогодні 23:40:33)
Активний
Сторінки 1