Разработка загрузчика (bootloader) для микроконтроллера STM32L
30 000 руб. за проект
Ищем профессиональных 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 дней
На борту устройства имеется микроконтроллер 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 дней
Отзывы
В заказе есть исполнитель
При переводе заказа из архивного в актуальный, текущий исполнитель будет снят с задачи.
Выберите тип сделки
С безопасной сделкой вы всегда сможете вернуть средства, если что-то пойдет не так. С простой сделкой вы самостоятельно договариваетесь с исполнителем об оплате и берете на себя решение конфликтов.
Нам было приятно сотрудничать с Александром, и мы уверены, что в будущих проектах его опыт и знания будут очень ценны.
Еще раз выражаем благодарность Александру за его вклад в наш проект и желаем успехов во всех его делах! :)