|
|
  |
При запуске из отладчика программа работает, когда отключаешь и снова включаешь STM32 программа перестает работать |
|
|
|
Apr 5 2018, 06:48
|
Местный
  
Группа: Участник
Сообщений: 280
Регистрация: 18-03-17
Пользователь №: 95 877

|
Цитата Куда грузится программа: ОЗУ или FLASH? Не много не понял вопрос. Но я загружаю программу во FLASH. Если вы говорите про BOOT0, то BOOT0 у меня на земле.
Сообщение отредактировал Alex_Golubev - Apr 5 2018, 06:58
|
|
|
|
|
Apr 5 2018, 07:08
|

Профессионал
    
Группа: Свой
Сообщений: 1 215
Регистрация: 22-02-05
Пользователь №: 2 831

|
Создайте пустой новый проект в любимой среде, который, например, тупо моргает какой-нить лампочкой на плате. Этот проект должен запускаться без отладчика. Если не удается этого добиться, то проблема где-то в железе или настройках среды. Если удается, то постепенно добавляйте в этот проект исходники и вашего глючного проекта. Цель - найти то место в ваших кодах, которые приводят к описанной проблеме. зы. Подобный принцип поиска косяков годится для любой отрасли деятельности
--------------------
Кругозор некоторых людей - круг с нулевым радиусом. Они называют его "точкой зрения".
|
|
|
|
|
Apr 5 2018, 08:50
|

Профессионал
    
Группа: Свой
Сообщений: 1 215
Регистрация: 22-02-05
Пользователь №: 2 831

|
Цитата(Alex_Golubev @ Apr 5 2018, 11:40)  Есть еще один интересный момент, который меня вгоняет в ступор. Любая прошивка себя так ведет на этих МК, или только ваша? Схемотехника плат в норме? Среди этих 100 плат эти 10 вообще рабочие (все компоненты правильные)? В такой ситуации может быть масса причин и выяснить это можно лишь локализовав причину, хотя бы грубо: железо или софт. Выше я описал как это можно сделать, не гадая на "кофейной гуще" и т. п. мифических предположениях.
--------------------
Кругозор некоторых людей - круг с нулевым радиусом. Они называют его "точкой зрения".
|
|
|
|
|
Apr 5 2018, 11:05
|
Местный
  
Группа: Участник
Сообщений: 280
Регистрация: 18-03-17
Пользователь №: 95 877

|
Цитата по условию готовности генератора у меня так и сделано. Плюс у меня стоит внешней генератор на 16 МГц. На нем генерация в норме. Заметил вот еще что. Беру не рабочей мк. ставлю уровень оптимизации в IAR low вижу не работает мк. ставлю для этого же мк. уровень оптимизации high, size работает. Но думаю надо поставить везде high и будит счастье. А нет беру второй мк. а для него подходит уже low. Чета ваще не чего не понятно.
|
|
|
|
|
Apr 5 2018, 11:12
|

Профессионал
    
Группа: Свой
Сообщений: 1 215
Регистрация: 22-02-05
Пользователь №: 2 831

|
Цитата(Alex_Golubev @ Apr 5 2018, 14:05)  Но думаю надо поставить везде high и будит счастье. А нет беру второй мк. а для него подходит уже low. Чета ваще не чего не понятно. Тут есть два варианта: 1) переписать нормально код, изучая соотв. литературу и мануалы 2) воспользоваться бубном
--------------------
Кругозор некоторых людей - круг с нулевым радиусом. Они называют его "точкой зрения".
|
|
|
|
|
Apr 5 2018, 12:36
|
Знающий
   
Группа: Участник
Сообщений: 643
Регистрация: 29-05-09
Из: Германия
Пользователь №: 49 725

|
Цитата(Alex_Golubev @ Apr 5 2018, 09:40)  Есть еще один интересный момент, который меня вгоняет в ступор. А именно, зашиваю эту же прошивку с помощью STM32 ST-LINK Utility в другой микроконтроллер и там такой проблемы нет. Беру еще один мк. там снова такая проблема беру другой ее нет. В общем из 100 мк. 10 шт. ведут себя вот так не понятно. Мне приходят в голову следующие вещи, из моего опыта. Первая: при работе отладчика им запускается DWT счетчик. Если в коде он используется для отсчета каких-либо задержек (почему и как именно - писано на форуме много), а код забывает его проинициализировать, то под отладчиком (или после вываливания из отладки) будет все работать, т.к. DWT тикает, но при запуске после сброса - нет. Вторая: отладчик стартует медленно; за это время может успеть пройти инициализация периферии, которая не успевает при холодном старте без отладчика. У меня это было что-то тактируемое медленными генераторами (RTC) и, кажется, I2C, не помню точно. В общем и целом опыт мой подсказывает, что чудес не бывает  . Если что-то ведет себя непредсказуемо и странно, за этим стоит вполне конкретная причина. Ищите!
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|