STM32 Universal Boot Loader и стирание секторов памяти
Привет всем! Меня зовут Евгений и я работаю программистом микроконтроллеров в компании Бастион г. Ростов-на-Дону. В своих проектах мы очень часто используем STM32F030 как сопроцессор отвечающий за реалтайм задачи (АЦП, обработка кнопок, управление дисплеем), а вот бизнесс логику выносим на контроллеры помощнее. В процесе работы естественно стал вопрос с выпуске обновлений для устройств и о том как обновлять ПО и нашем "сопроцессоре" (фига себе сопроцессор конечно, но вот такие термины). Так как с основным процессором мы связаны по UART, то сюда как нельзя лучше подошел UniversalBootLoader (UBL), который уже есть во всех процессорах STM. Рассказ о том как прошивать сами контроллеры через UBL уже есть на сайтах многих эмбедеров ( easyelectronics.ru и istarik.ru разжевывали эту тему не раз), но у меня появился отличный сайдквест. Сейчас совсем немного контекста, для понимания с чем я столкнулся. Для стирания памяти через UBL в STM32 есть алгоритм который представлен ниже