Реклама на сайте English version  DatasheetsDatasheets

KAZUS.RU - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Электронные книги
FAQ по электронике

  Datasheets
Поиск SMD
Он-лайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Избранные схемы
FAQ по электронике
  Программы
Каталог сайтов
Производители электроники
  Форумы по электронике
Помощь проекту


Ответ
Опции темы
Непрочитано 04.04.2019, 09:20   #1
esatman
Прохожий
 
Регистрация: 04.04.2019
Сообщений: 4
Сказал спасибо: 1
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
esatman на пути к лучшему
По умолчанию Стартап STM32F103 - траблы

Добрый день!
Осваиваю STM32F103, мигрирую с ПИК18.
Для начала делаю минимальный запуск, со светодиодом в цикле, потом буду ранащивать остальное. Не мудрствуя, взял готовый пример.
По инструкции создал проект, подстегнул стартап и CMSIS, включил тактирование GPIO, короче - заработало.

Но мигало беспорядочно, было похоже на постоянный рестарт.

Первая трабла. Был сброшен бит WDG_SW, и как я понял, как следствие IWDG запускался аппраатно. А с установленным битом вероятно, требуется программный запуск. Установил бит, мигание стабилизировалось (рестарт прекратился). Но ненадолго.

Вторая трабла:
При отключении ST-LINK от изделия начало снова рестартовать, только с бОльшим периодом, около 1,5 сек. Если воткнуть программатор и что нибудь прочитать с чипа этого не происходит.

В чем может быть проблема? Порывшись в стартапах вроде бы программно WD нигде не активировано, но при чем тогда программатор?
Хотя конечно и просмотреть мог запросто.
Реклама:
esatman вне форума   Ответить с цитированием
Непрочитано 04.04.2019, 14:32   #2
-Alan-
Прописка
 
Аватар для -Alan-
 
Регистрация: 05.12.2008
Адрес: Россия, Омск
Сообщений: 145
Сказал спасибо: 39
Сказали Спасибо 29 раз(а) в 22 сообщении(ях)
-Alan- на пути к лучшему
По умолчанию Re: Стартап STM32F103 - траблы

1. Регистра WDG_SW в STM32F103 нет.
2. Watchdog таймер не запускается самостоятельно.
3. Проверьте, что питание на контроллер идёт корректно, без проседаний.
4. Проверьте выбраный источник тактирования. Если это внутренний тактовый генератор, то он обычно достаточно стабилен.
5. Приведите пример кода, который мигает светодиодом. Возможно что-то не так с задержками.
6. Используйте оптимизацию при сборке проекта (-O1 и выше). В случае отключения оптимизайии (-O0) работа кода может быть очень забавной.
7. Проверьте опции подключения отладчика. Возможно потребуется снизить скорость тактирования отладчиком контроллера.
8. Если используете режимы засыпания - разрешайте отладку в них

Код:
	// Разрешаем отладку
	DBGMCU-›CR |= DBGMCU_CR_DBG_SLEEP | DBGMCU_CR_DBG_STANDBY | DBGMCU_CR_DBG_STOP;
Опять же, какую плату используете для опытов?
-Alan- вне форума   Ответить с цитированием
Непрочитано 04.04.2019, 15:37   #3
esatman
Прохожий
 
Регистрация: 04.04.2019
Сообщений: 4
Сказал спасибо: 1
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
esatman на пути к лучшему
По умолчанию Re: Стартап STM32F103 - траблы

Кажется начинаю доковыриваться..)

WDG_SW - это бит конфигурационного слова (там где бит защиты кода).
Я в главном цикле цикле поставил IWDG-›KR = 0xAAAA; и стало надежно безразлично на состояние этого бита.

Плата - готовое коммерческое изделие, реверс микрокода которого и есть задача которую я себе поставил, для этого и осваиваю АРМ.
До этого делал это на ПИКах.
Соответственно на борту оказались сюрпризы. Обнаружил что есть флаги, по которым можно диагностировать причину последнего сброса кристалла.
Путем все того же управления миганием (я пока только это умею на этом кристалле) выяснил что вачдоги непричем, выставляется бит

RCC-›CSR & RCC_CSR_PINRSTF.

Велико же было удивление, когда ДАЖЕ ПРИ СТЕРТОМ ЧИПЕ обнаружил сигнал сброса 1 раз в 3 сек на пине NRST!!! Разработчики этой платы заложили абсолютно внешний WD, или что-то тому подобное!!!

Понять бы как по науке правильнее с этим поступить.. Отрезать дорожку ведущую к NRST дело то не хитрое. А что этот сигнал формирует?..

Последний раз редактировалось esatman; 04.04.2019 в 15:43.
esatman вне форума   Ответить с цитированием
Непрочитано 04.04.2019, 17:24   #4
mike-y-k
Модератор
 
Регистрация: 04.08.2010
Адрес: Москва СЗАО
Сообщений: 11,245
Сказал спасибо: 11,163
Сказали Спасибо 3,854 раз(а) в 2,925 сообщении(ях)
mike-y-k на пути к лучшему
По умолчанию Re: Стартап STM32F103 - траблы

esatman
1. Таки лучше сразу упомянуть и последние буковки в маркировке для точного понимания имеющегося у Вас.
2. До установления тёплых, доверительных, дружеских отношений с чипом - стоит процес перенести на arduino nano на STM32F103C8T6. Там все нужное присутствует для обучения.
3. Для усугубления процесса знакомства провести дизассемблирование целевой прошивки и по мере продвижения по п.2 разбирать там код и писать комментарии.

PS Для разборок с сигналом на NRST стоит проследить дорожку. Там он явно не один будет идти к источнику (минимум с парой). Возможно для лучшего понимания в процессе реверс-инжиниринга стоит и схему с той платы восстановить.
__________________
rtfm forever должно быть основой для каждого. Альтернатива грустна, поскольку метод слепого щенка успешно работает при весьма малом числе вариантов…

Последний раз редактировалось mike-y-k; 04.04.2019 в 17:30.
mike-y-k вне форума   Ответить с цитированием
Сказали "Спасибо" mike-y-k
esatman (05.04.2019)
Непрочитано 05.04.2019, 12:24   #5
esatman
Прохожий
 
Регистрация: 04.04.2019
Сообщений: 4
Сказал спасибо: 1
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
esatman на пути к лучшему
По умолчанию Re: Стартап STM32F103 - траблы

Спасибо за ответы!!!
Как приятно что не прогинорировали)


STM32F103VET6.
Источник сигнала нашел, отпаял, и подтянул NRST по типовой схеме. Программно все заработало как часы! Можно от мигалки дальше двигаться).

Внешний WD это оказался tps3828, можно науки ради теперь проследить откуда обратная связь, и припаять его назад)))

У меня есть платка Discovery, но ковыряемая платка как раз и является образцом того, что хочу создать, весьма непростая, многослойка.. так просто принципиалку не воссоздать, но основные требуемые узлы оттрассировал.
Орининаловский бинарник естесссственно недоступен.

Базовые навыки с этим чипом наработаю, плату свою нарисую...
Приятно что он оказался аж с 512кб флешь памяти, аж в 10 раз больше чем мой последний ПИК!

Последний раз редактировалось esatman; 05.04.2019 в 12:28.
esatman вне форума   Ответить с цитированием
Непрочитано 05.04.2019, 15:02   #6
mike-y-k
Модератор
 
Регистрация: 04.08.2010
Адрес: Москва СЗАО
Сообщений: 11,245
Сказал спасибо: 11,163
Сказали Спасибо 3,854 раз(а) в 2,925 сообщении(ях)
mike-y-k на пути к лучшему
По умолчанию Re: Стартап STM32F103 - траблы

esatman, таки для изучения и наработки навыков стоит взять платку с STM32F103C8T6.
Они сейчас почти на вес продаются. На ней отточить навыки работы с нужными компонентами и периферией. Потом на целевую плату переходить.
Разница там основная в количестве GPIO (таки 48 против 100 контактов у корпуса). Заодно небольшой skill будет получен в портировании прошивки
Наличие discovery сильно упрощает прошивку и отладку - STLink уже имеется
C8T6 лучше брать сразу несколько - они при соответствующем программировании вполне смогут стать эмуляторами внешнего окружения, отладочными средствами для протоколов, средой проверки и отладки работы с периферией,…
Заодно на сайте ST закачайте под все используемое errata - предварительное знакомство с этим документом позволяет устранить многие печали
__________________
rtfm forever должно быть основой для каждого. Альтернатива грустна, поскольку метод слепого щенка успешно работает при весьма малом числе вариантов…
mike-y-k вне форума   Ответить с цитированием
Непрочитано 05.04.2019, 19:02   #7
esatman
Прохожий
 
Регистрация: 04.04.2019
Сообщений: 4
Сказал спасибо: 1
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
esatman на пути к лучшему
По умолчанию Re: Стартап STM32F103 - траблы

ОК, посмотрю.

Удручает конечно в примерах большинство HAL-ориентированное, а я для себя это не приемлю, люблю работать с регистрами напрямую, а процы блин непростые, эх, тяжко будет..)
esatman вне форума   Ответить с цитированием
Непрочитано 05.04.2019, 20:18   #8
mike-y-k
Модератор
 
Регистрация: 04.08.2010
Адрес: Москва СЗАО
Сообщений: 11,245
Сказал спасибо: 11,163
Сказали Спасибо 3,854 раз(а) в 2,925 сообщении(ях)
mike-y-k на пути к лучшему
По умолчанию Re: Стартап STM32F103 - траблы

esatman, не так в итоге страшен черт, как его малюют.
Надо просто завести правило - все нарытое записывать и не лениться читать - для работы с STM32 много AN, ну и в errata залезать регулярно стоит.
В качестве примеров - стоит посмотреть на решения из OpenSource.
Например на minidso.com есть исходники для паяльника, отвертки и осциллографов на 103, ЕМНИП под keil.
Если таки вопрос с полной работой с аппаратурой - то свои библиотеки из голого кода достаточно быстро наработаются и процесс пойдёт с нарастающей скоростью.
__________________
rtfm forever должно быть основой для каждого. Альтернатива грустна, поскольку метод слепого щенка успешно работает при весьма малом числе вариантов…
mike-y-k вне форума   Ответить с цитированием
Ответ

Закладки


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
stm32f103 АЦП выдает ток 30 мкА nexsys ARM 40 07.06.2017 15:58
1-фазный и 3-фазный синус на stm32f103 miwutka ARM 13 12.12.2016 18:03
STM32F103 и TFT проблема Pevek80 ARM 43 19.05.2016 22:48
Управление 24-х вольтовыми реле от STM32F103 shyub ARM 15 25.12.2015 19:44
Можно ли на STM32F103 повысить скорость работы HID-клавиатуры? eddy ARM 14 22.09.2015 10:52


Часовой пояс GMT +4, время: 20:14.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot