Почему после сброса программы пропадают?

Я покупаю плату stm32, как показано на рисунке ниже, подключаю Boot0 к 3.3 и использую последовательный порт для загрузки программы.

Я использую библиотеку https://github.com/rogerclarkmelbourne/Arduino_STM32

Вторая и третья картинка — моя программа. После загрузки программы светодиод на плате светится и серийник нормальный, но после того, как нажимаю RESET на плате, он не светится. Похоже, программа пропала.

Почему это так? А как запустить программу после нажатия ресета?

, 👍0


2 ответа


Лучший ответ:

2

Подключая BOOT0 к 3,3 В, вы сообщаете чипу Когда я делаю сброс по какой-либо причине, вы должны войти в загрузчик.

Итак, делаешь сброс, и оно попадает в загрузчик. Затем вы загружаете свой эскиз.

В этот момент программное обеспечение сообщает загрузчику: «Хорошо, все готово. Запустите программу». И это так.

Пока вы не перезагрузитесь. И поскольку вы просите его войти в загрузчик с помощью BOOT0, он покорно делает это, ожидая загрузки новой программы.

Старая программа все еще там, но вы просто не даете ее запустить, так как настаиваете, чтобы чип попадал в загрузчик при сбросе.

Чтобы запустить вашу программу, а не загрузчик, необходимо отключить BOOT0, чтобы он не входил в загрузчик.

Вам нужно только подключить BOOT0, если вы хотите поместить туда новую программу.

,

2

Из http://wiki.stm32duino.com/index.php?title=Bootloader< /п>

Активация загрузчика осуществляется путем принудительного нажатия двух загрузочных контактов (и затем перезагрузите MCU). Многие платы имеют один или несколько загрузочных контактов. отображаются в виде перемычек или кнопок.

Обычная загрузка (для пользовательской прошивки, которая может быть дополнительным загрузчиком):

  • Низкий уровень загрузки
  • Низкий уровень загрузки 1

Разрешить загрузку прошивки через USART1:

  • Boot0 ВЫСОКИЙ
  • Низкий уровень загрузки 1

После загрузки нового программного обеспечения через последовательный порт переместите Boot0 обратно в GND, чтобы MCU загружал загруженную вами прошивку, а не внутренний последовательный загрузчик.

>
,