Доброго времени суток! Делаю один проект на основе МК STM32F042 с аппаратным Full-Speed USB. Устройство определяется в системе как HID-устройство. Для будущего обновления прошивок хотелось бы сделать собственный Bootloader. Нашел в интернете способ обновления прошивки через DFU, когда МК определяется как Mass Storage Device (проще говоря, обычная флешка). Но так как памяти в контроллере мало (32КБ), уместить и DFU, и прошивку (16КБ) не представляется возможным. Тогда возник вопрос: можно ли сделать так, чтобы при подключении в Boot-режиме устройство определялось в системе как виртуальный COM-порт, а через него уже заливалась бы прошивка. Тогда не пришлось бы резервировать место под Mass Storage Device, а потребовались бы лишь несколько КБ на загрузчик. Собственно говоря, возможно ли такое?
Я тут подумал, собственно говоря, для чего использовать именно стандартный пин BOOT0? Делаем на плате доп. кнопку. Если при включении кнопка нажата - переходим в "загрузочный" режим - когда девайс определяется как виртуальный КОМ-порт.
Память кристалла - страницы по 1 КБ. Далее с помощью утилиты пишем в КОМ-порт по 1 КБ, записываем во флеше, начиная с нужного адреса.
Все, прошивка обновлена! Далее передергиваем девайс, уже не зажимая кнопку - он определяется как HID-устройство и начинает работать с обновленной прошивкой.
Инженеры КОМПЭЛ провели сравнительное тестирование аккумуляторов EVE и Samsung популярного для бытовых и индустриальных применений типоразмера 18650.
Для теста были выбраны аккумуляторы литий-никельмарганцевой системы: по два образца одного наименования каждого производителя – и протестированы на двух значениях тока разряда: 0,5 А и 2,5 А. Испытания проводились в нормальных условиях на электронной нагрузке EBD-USB от ZKEtech, а зарядка осуществлялась от лабораторного источника питания в режиме CC+CV в соответствии с рекомендациями в даташите на определенную модель.
Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре.
Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств.
Он встроен не на аппаратном уровне, его можно реализовать только программно. А DFU bootloader и прошивка не влезут вместе
The boot loader is located in System Memory. It is used to reprogram the Flash memoryby using USART on pins PA14/PA15, or PA9/PA10 or I2C on pins PB6/PB7 or through the USB DFU interface.
Это, по-твоему, что означает? С F042 дело не имел, но F4 шил через такой-же USB DFU, утилита от ST для прошивки называется DfuSe.
Попробовал, получилось... Действительно работает Только как я понял, есть один нюанс. Если память не пустая, то на BOOT0 должна быть 1 для USB DFU. Если пустая, то совершенно неважно?
Ну да точно. Карты памяти точно нет, у меня китайский паяльник TS100 для перепрошивки используется USB и видится диск размером 2 мБ. Контроллер STM32F103TB6.
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 23
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения