Главная » Статьи » Программирование флэш-памяти в STM32F107 через USB

Программирование флэш-памяти в STM32F107 через USB

Микроконтроллеры STM32 из группы Connectivity Line, в которую входят схемы STM32F105 и STM32F107, могут быть запрограммированы двумя основными способами: с помощью интерфейса JTAG и с помощью загрузчика, расположенного в памяти микроконтроллера.

Использование интерфейса JTAG связано с необходимостью иметь соответствующий аппаратный интерфейс. Использование загрузчика, встроенного в микроконтроллеры Connectivity Line — хотя и дешевле при программировании памяти — позволяет программировать флэш-память через один из нескольких интерфейсов связи.

В статье мы покажем, как запрограммировать память с помощью класса USB-интерфейса DFU (Device Firmware Upgrade).

Загрузчик находится в системной памяти микроконтроллеров STM32F105 и STM32F107. Он предоставляет три основных канала связи, по которым вы можете загрузить программу во флэш-память: UART, CAN и USB — класс DFU. Загрузчик, используемый в микроконтроллерах STM32F105 и STM32F107, стандартно оснащен поддержкой DFU.

Некоторые микроконтроллеры из группы Connectivity Line имеют недостаток, который в крайних случаях препятствует использованию загрузчика. Этот дефект возникает в случае микроконтроллеров, помеченных кодом даты производства менее 937, и влияет на работу всех каналов связи с загрузчиком.

Необходимо подключить к дополнительному источнику питания линии GPIO: PA10, PB5 и PD6 (рис. 1). Вы также должны помнить, чтобы ввести логическую «1» в BOOT0 и «0» в BOOT1. После выполнения этих действий и подключения источника питания микроконтроллер должен запускаться из системной памяти.


Программирование Флэш-памяти в STM32F107 через USB

Рис. 1. Фрагмент электрической схемы устройства с микроконтроллером STM32F107, запрограммированным в режиме DFU

Программирование с использованием механизма DFU — это довольно сложная работа. Первым шагом является загрузка и установка приложения DfuSe. В каталоге приложения есть контроллер класса DFU, который должен быть установлен для того, чтобы приложение связывалось с микроконтроллером.

Для этого соедините плату с микроконтроллером с помощью кабеля USB A-B с ПК. Windows должна обнаружить новое устройство DFU и начать установку драйверов. После того, как мастер попросит автоматически найти подходящий драйвер, он должен найти соответствующий драйвер и установить его.

Во время установки вам может быть предложено указать местоположение файла STTub30.sys (вы должны указать файл в подкаталоге, соответствующем вашей версии операционной системы), а также информацию о что драйвер не был подписан цифровой подписью. Установка драйвера должна завершиться сообщением об его успешном завершении.

Рис. 2. Окно демонстрационной программы DfuSe

Оставить комментарий

Ваш email нигде не будет показанОбязательные для заполнения поля помечены *

*