2016-05-17 2 views
0

У меня есть микроконтроллер STM32F102, и я хочу запрограммировать его через последовательный порт.Как мигать STM32 через последовательный порт

Несмотря на то, что для окон имеется флешер, я хочу сделать это на Linux-машине. Я попытался сделать это с помощью этого сценария

Я установил BOOT0 = 1 и BOOT1 = 0, перезапустил микроконтроллер. Но это не работает. Я получаю следующие выходные данные

Can't init. Ensure BOOT0=1, BOOT1=0, and reset device 
Traceback (most recent call last): 
    File "stm32loader.py", line 552, in <module> 
    bootversion = cmd.cmdGet() 
    File "stm32loader.py", line 140, in cmdGet 
    if self.cmdGeneric(0x00): 
    File "stm32loader.py", line 137, in cmdGeneric 
    return self._wait_for_ack(hex(cmd)) 
    File "stm32loader.py", line 88, in _wait_for_ack 
    raise CmdException("No response to %s" % info) 
__main__.CmdException: No response to 0x0 
+0

Я думаю, что это невозможно будет воспроизвести без доступа к вашей конкретной системе. Могут быть многочисленные причины проблемы. – Lundin

+1

Есть ли какая-нибудь другая утилита, которая поможет мне программировать микроконтроллер? Я также могу попробовать ... – RishabhHardas

+1

Зачем использовать последовательный порт? Используйте какой-то адаптер JTAG, он работает намного быстрее и надежнее. – Lundin

ответ

6

Вот несколько советов:

  • последовательный кабель Connect перед сбросом/включения питания платы. В противном случае некоторые переходные процессы могут повредить серийный загрузчик.

  • Убедитесь, что вместо кабеля RS-232 используется USB-последовательный преобразователь уровня TTL. RS-232 имеет инвертированный уровень и, что еще хуже, диапазон напряжения от -15 В до 15 В может сжечь ваш STM32.

  • Убедитесь, что RX и TX подключены правильно.

  • Попробуйте вместо этого использовать stm32flash.

  • Большинство серийных загрузчиков STM32 не поддерживают скорость передачи данных выше 115200, насколько я помню. Загрузчик может определить скорость передачи данных автоматически, то один я обычно использую 57600.

0

Некоторые из этих чипов в настоящее время поставляются с заблокированными загрузчиками. Чтобы удалить защиту, вам необходимо использовать STM32 Flash loader demonstrator. Windows только к сожалению, но раз она разблокирована, вы можете использовать любую машину.

Смежные вопросы