Разработка загрузчика (bootloader) для микроконтроллера STM32L

30 000 руб. за проект
04 июля 2023, 18:36 • 6 откликов • 55 просмотров
Ищем профессиональных hardware-разработчиков с хорошим знанием языка C и опытом работы с микроконтроллерами STM32L для того, чтобы в сжатые сроки (до 14 дней ) реализовать Bootloader (загрузчик) для нашего устройства. Задача загрузчика - связаться с приложением на ПК, получить от него прошивку и обновить ее на устройстве.

На борту устройства имеется микроконтроллер STM32L072CZT6TR.
Объем памяти составляет 192 КБ, наше программное обеспечение (далее "прошивка") занимает 130 КБ, размер загрузчика должен быть не более 62 КБ.
Также у нас есть десктопное приложение. Устройство подключается к ПК через USB/VCP (Virtual COM Port).
При запуске устройства сначала должен запускаться загрузчик, затем наша прошивка. Загрузчик должен проверять напряжение на определенном пине микроконтроллера (PC15, на него через делитель приходят 5 вольт от USB). Если напряжение присутствует (т.е. USB подключен), загрузчик инициализирует USB-хаб на устройстве.
При установлении связи с компьютером через интерфейс USB/VCP (Virtual COM Port) будут использоваться команды "set update" и "call reset". При наличии обновления, ПК отправляет условную "1" в ячейку памяти EEPROM, а затем перезапускает микроконтроллер.
Запускается загрузчик. Загрузчик проверяет значение в ячейке EEPROM, и если там условное "0", запускается основная прошивка. Если там условная "1", начинается процесс перезаписи прошивки на микроконтроллере. Загрузчик устанавливает протокол общения с ПК (желательно в текстовом виде). Загрузчик получает с ПК новую прошивку пакетами. После получения и проверки первого пакета загрузчик форматирует область памяти с основной прошивкой и начинает по пакетам записывать новую прошивку. После окончания записи проверяется целостность конечной прошивки. Если все в порядке, загрузчик изменяет значение в EEPROM с 1 на 0.

Срок на разработку: 10 дней
Отзывы
R50 9cde66cf585532ad95a09f81e155fcdb
Заказчик
Благодарим Александра за помощь в разработке загрузчика ОС для микроконтроллера STM32L072CZT6TR. Его крутой профессионализм, ответственность и вовлеченность помогли нам выполнить задачу в максимально сжатые сроки. Благодаря его усилиям, бутлоадер был успешно разработан и интегрирован в проект.
Нам было приятно сотрудничать с Александром, и мы уверены, что в будущих проектах его опыт и знания будут очень ценны.
Еще раз выражаем благодарность Александру за его вклад в наш проект и желаем успехов во всех его делах! :)

9 месяцев назад