Size: a a a

2021 June 23

А

Арсений in STM32
Так в этом и причина, он не оттуда берет программу при неподтянутом боот_0
источник

С

Стас in STM32
От куда тогда он берет программу после прошивки , но до перезагрузки по питанию? Ведь до этого он работает отлично!
источник

А

Арсений in STM32
.
источник

С

Стас in STM32
После подачи питания BOOT_0 сидит на земле, значит доступ к нужной памяти есть, но он по прежнему не стартует.
источник

С

Стас in STM32
Где можно посмотреть с какого адреса начинает выполняться программа при старте? Это можно увидеть в CubeIDE ?
источник

С

Стас in STM32
При запуске Debug в CubeIDE после перезапуска питанием прога стартует с прерывания HardFault_Handler
источник

NS

Nikita Shestakov in STM32
В рефенренс мануале на ваш МК в разделе Бут моде. Выбор адреса определяется уровнями на ножках Бут. В зависимости от их комбинации контроллер выполненяет код из флешки, код встроенного загрузчика или, если мне не изменяет память, код из ОЗУ. Скорее всего, у вас в схеме ошибка. Бут0 не должен висеть в воздухе и ловить наводки
источник

С

Стас in STM32
Я его посадил на землю и после перезапуска питанием он должен стартовать из нужного раздела памяти, но увы запуска не происходит. Видимо в чем то еще причина.
источник

NS

Nikita Shestakov in STM32
Питаете разными источниками при прошивки и работе?
источник

С

Стас in STM32
Нет питается в обоих случаях от хаба от ноута
источник

С

Стас in STM32
В схеме стабилизатор на 3.3 В
источник

NS

Nikita Shestakov in STM32
А в отладчик заходили? Прыгали по программе? Можно посмотреть в каком месте у вас в fault вываливается
источник

С

Стас in STM32
В файле stm32l1xx_it.c прерывание HardFault_Handler.
источник

И

Игорь in STM32
ну так это уже совсем другой разговор. Прога не может стартовать с HardFault_Handler. Вы наверное её запускаете, а когда жмёте останов, оказываетесь в этом прерывании. Так?
источник

NS

Nikita Shestakov in STM32
Вам нужно начать выполнение с самого начала и по шагам пройти. Посмотреть на выполнении чего контроллер в обработчик попадает. Скорее всего, это и будет проблема
источник

С

Стас in STM32
Нет не запускаю. Когда прога стартует после прошивки, то сюда не попадает. А после перезапуска питанием запускается это прерывание.
источник

NS

Nikita Shestakov in STM32
Правильно ли мы вас понимаем:
-При прошивки и заходи в отладчик вы в фаулт не попадаете и программа
отрабатывает нормально
-При перетыкании питания и повторного захода в отладчик уже попадаете?
источник

С

Стас in STM32
Да, абсолютно верно!
источник

VL

Vladimir Lavrinov in STM32
А в программе случайно Printf не используете? Просто без переназначения вывода она работает нормально только в отладчике. А при обычном запуске завешивает процессор.
источник

С

Стас in STM32
Printf не используется.
источник