Перейти к содержанию

DEBUG без кварца


ART_ME

Рекомендуемые сообщения

Подпалил STM32 на blue, дождался с али чип, сегодня поставил, не пропаялась нога сброса R, из-за чего не запускался  тактовый генератор на кварце.

Обнаружил сиё далеко не сразу, ибо подключал через J-Link к IAR без проблем,  загрузил и запускал, в т.ч. и пошагово программу.

И при этом не увидел никаких ошибок.

Ножку подпаял, Reset заработал, тактовый генератор тоже...  а я задумался: это как это - DEBUG работает на нерабочем МК? 

Я то думал, что с помощью него можно исправность МК диагностировать....

Изменено пользователем ART_ME

Никогда не спорьте с дураками. Они опустят Вас до своего уровня и победят за счет опыта.

 

 

Ссылка на комментарий
Поделиться на другие сайты

Реклама: ООО ТД Промэлектроника, ИНН: 6659197470, Тел: 8 (800) 1000-321

20% скидка на весь каталог электронных компонентов в ТМ Электроникс!

Акция "Лето ближе - цены ниже", успей сделать выгодные покупки!

Плюс весь апрель действует скидка 10% по промокоду APREL24 + 15% кэшбэк и бесплатная доставка!

Перейти на страницу акции

Реклама: ООО ТМ ЭЛЕКТРОНИКС, ИНН: 7806548420, info@tmelectronics.ru, +7(812)4094849

Только что, optima сказал:

Без ноги сброса все запускается без проблем!

Нет, с висящей в воздухе ноге ресет тактовый генератор не запускается. 

Никогда не спорьте с дураками. Они опустят Вас до своего уровня и победят за счет опыта.

 

 

Ссылка на комментарий
Поделиться на другие сайты

Выбираем схему BMS для корректной работы литий-железофосфатных (LiFePO4) аккумуляторов

 Обязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ, также как и для других, очень важен контроль процесса заряда и разряда, а специализированных микросхем для этого вида аккумуляторов не так много. Инженеры КОМПЭЛ подготовили список имеющихся микросхем и возможных решений от разных производителей. Подробнее>>

Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161

2 минуты назад, optima сказал:

103 и 042 стартует 

Еще раз - с висящей в воздухе ногой ресет на плате blue тактовый генератор не запускется.  К чему спор-то? 

По сути топика что-то можете сказать?

 

Изменено пользователем ART_ME

Никогда не спорьте с дураками. Они опустят Вас до своего уровня и победят за счет опыта.

 

 

Ссылка на комментарий
Поделиться на другие сайты

Какая разница какая у вас плата! Я делаю устройства на 103 проце,  нога сброса подтянута к питанию через 10к, Так вот если я не впаиваю его то нога висит в воздухе и это ни коем образом не влияет на запуск процессора от внешнего генератора. Флаги запуска которого прекрасно видно в отладке.

Сергей.

Ссылка на комментарий
Поделиться на другие сайты

Только что, optima сказал:

Какая разница какая у вас плата! Я делаю устройства на 103 проце,  нога сброса подтянута к питанию через 10к, Так вот если я не впаиваю его то нога висит в воздухе и это ни коем образом не

Послушайте, Вы что действительно полагаете, что я эту историю с висящей ногой придумал что ли? 

Или Ваша цель - тупо зафлудить тему? 

Никогда не спорьте с дураками. Они опустят Вас до своего уровня и победят за счет опыта.

 

 

Ссылка на комментарий
Поделиться на другие сайты

Процессор всегда запускается на внутреннем генераторе HSI и в этом нет никакой ошибки. Далее вы сами должны переключиться на HSE генератор. Вы сами должны проверять на каком генераторе и на какой частоте работает проц.

Ссылка на комментарий
Поделиться на другие сайты

5 минут назад, snn_krs сказал:

Процессор всегда запускается на внутреннем генераторе HSI и в этом нет никакой ошибки.

Я правильно понял, что если оторвана нога ресет, то мк запускается на внутреннем генераторе, т.е.  без наружного кварца, и поэтому отладчик не показывает ошибку? 

Изменено пользователем ART_ME

Никогда не спорьте с дураками. Они опустят Вас до своего уровня и победят за счет опыта.

 

 

Ссылка на комментарий
Поделиться на другие сайты

Если проц сконфигурирован на внешний кварц,  тогда генератор запускается не зависимо от висящей в воздухе ноги ресет,  Но если  генератор не запустился по какой то причине (дохлый кварц например) , тогда автоматический запускается HSI

Проверял это собственноручно, просто перемыкал кварц пинцетом.

Сергей.

Ссылка на комментарий
Поделиться на другие сайты

Мк всегда запускается на внутреннем генераторе. Далее есть файл startup_stm32f10x_md.s в нем есть вызов функции SystemInit. Эта функция находится в файле  system_stm32f10x.c и в ней выбирается генератор и частота. Отладчику до лампочки на каком генераторе и частоте работает МК.

Ссылка на комментарий
Поделиться на другие сайты

7 минут назад, snn_krs сказал:

 Отладчику до лампочки на каком генераторе и частоте работает МК.

Иными словами, если отладчик по каким-либо причинам  не смог перевести тактовый генератор на внешний кварц согласно указанному выше файлу, то МК продолжает работать на внутреннем генераторе, никак не оповещая об этом?

ЗЫ. Вроде как отладчику и аппаратный ресет тоже не нужен, у него есть свой  ресет, - программный.

Изменено пользователем ART_ME

Никогда не спорьте с дураками. Они опустят Вас до своего уровня и победят за счет опыта.

 

 

Ссылка на комментарий
Поделиться на другие сайты

От какого генератора работать выбирает программист, а не отладчик. В файле system_stm32f10x.c есть такой блок

  { /* If HSE fails to start-up, the application will have wrong clock 
         configuration. User can add here some code to deal with this error */
  } 

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

Ссылка на комментарий
Поделиться на другие сайты

Есть такой файл и есть такой блок, но под else ничего нет, т.е., насколько я понимаю, работа без HSE программистом не предусмотрена, и в случае 

незапуска тактового генератора от кварца отладчик должен войти в бесконечный цикл: 

while ((RCC->CFGR & (uint32_t)RCC_CFGR_SWS) != (uint32_t)0x04)

либо выйти из этого цикла с ошибкой, если такое создателями МК предусмотрено.

/* Select HSE as system clock source */
    RCC->CFGR &= (uint32_t)((uint32_t)~(RCC_CFGR_SW));
    RCC->CFGR |= (uint32_t)RCC_CFGR_SW_HSE;

    /* Wait till HSE is used as system clock source */
    while ((RCC->CFGR & (uint32_t)RCC_CFGR_SWS) != (uint32_t)0x04)
    {
    }
  }
  else
  { /* If HSE fails to start-up, the application will have wrong clock
         configuration. User can add here some code to deal with this error */
  }

На деле же я увидел запущенную рабочую программу в отладчике при полном отсутствии генерации на кварце.

Никогда не спорьте с дураками. Они опустят Вас до своего уровня и победят за счет опыта.

 

 

Ссылка на комментарий
Поделиться на другие сайты

То что вы показали это проверка PLL.

  /* Wait till HSE is ready and if Time out is reached exit */
  do
  {
    HSEStatus = RCC->CR & RCC_CR_HSERDY;
    StartUpCounter++;  
  } while((HSEStatus == 0) && (StartUpCounter != HSE_STARTUP_TIMEOUT));
...
  if (HSEStatus == (uint32_t)0x01)
  {
...    
    /* Wait till HSE is used as system clock source */
    while ((RCC->CFGR & (uint32_t)RCC_CFGR_SWS) != (uint32_t)0x04)
    {
    }
  }
  else
  { /* If HSE fails to start-up, the application will have wrong clock 
         configuration. User can add here some code to deal with this error */
  }  

Если HSE генератор не запустился, то по while((HSEStatus == 0) && (StartUpCounter != HSE_STARTUP_TIMEOUT)); переключения на работу от HSE не будет и МК будет работать от HSI без PLL.

Ссылка на комментарий
Поделиться на другие сайты

Но я же Вашу строчку в файле  искал... :D

Ну да ладно, ответ на мой вопрос получен: запуск МК всегда осуществляется от внутреннего генератора, и если внешний кварц по каким-либо причинам не запустился, то  МК будет продолжать работать на внутреннем с фиг знает какими таймингами.

Что находится в полном соответствии с наблюдениями. 

Спасибо за помощь.

Никогда не спорьте с дураками. Они опустят Вас до своего уровня и победят за счет опыта.

 

 

Ссылка на комментарий
Поделиться на другие сайты

19 minutes ago, ART_ME said:

с фиг знает какими таймингами.

По включению и сбросу регистры устанавливаются в значения по сбросу.  Например:

8.3.1 Clock control r gister (RCC_CR)
Address offset: 0x00
Reset value: 0x0000 XX83 where X is undefined.

Из этого видно, что запускается HSI генератор и т.п. Тоесть можно определить большинство параметров при включении МК.

Ссылка на комментарий
Поделиться на другие сайты

@ART_ME Мож надо в доки заглянуть HSI не работает с фиг знает какими таймингами. Если корректно писать программу, то если кварц не стартанет, то обычно и работать не имеет смысла, можно только мигать лампочкой эррор. Дебаггеру и не нужен ресет он и так войдет в дебаг, у него там свои способы.

Ссылка на комментарий
Поделиться на другие сайты

Присоединяйтесь к обсуждению

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

Гость
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Ответить в этой теме...

×   Вставлено с форматированием.   Восстановить форматирование

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...