Ошибка makefile Error 1 STM32CubeIDE и её решение

Ошибка make: *** [makefile: : prjname.elf] Error 1 возникает при переполнении занимаемой прошивкой памяти (RAM/FLASH)  микроконтроллера .

Решением может быть оптимизация вашего кода, можно подробнее посмотреть что занимает много памяти и не использовать это:

В моем случае, при использовании библиотеки для экранчика в светодиодном тестере разумно было использовать только один вид шрифта из трех, т.к. каждый занимал около 3.5 кБ:

Но, если сильно прижало, то можно изменить уровень оптимизации. При активном окне редактирования кода конкретного проекта (иначе не нажмется) заходим в свойства проекта: Project -> Properties

Далее: C/C++ Build -> Setting -> [Tool Settings] -> MCU GCC Compilier -> Optimization и здесь будет возможность выбора уровня оптимизации:

Для сравнение можете взглянуть как они повлияли на использования памяти в этом проекте:

Купить на Aliexpress 

Из-за трудности достать по нормальной цене микроконтроллеры STM32 (и другие) советую обратить внимание на плату с STM32F401 с USB Type-C, которая всё еще доступна и имеет отличные параметры (84MHz, 64k RAM, 256k ROM, 3*SPI, 3*UART, 8*TIM...).


🏷️ STM32F401 Module (3.50💲): https://ali.ski/T9_RBe

🏷️ STM32F401 Black Pill USB C (3.88💲): https://ali.ski/wvygW
🏷️ STM32F401 DevBoard Type-C (3.46💲): https://ali.ski/SvrJ8d


119
RSS
Нет комментариев. Ваш будет первым!
Загрузка...