Для своих нужд развели и заказали плату под МК STM32F207. Всё впаяли , подключили через отладчик ST-Link по интерфейсу JTAG. После включения отладчик увидел МК, потом что-то сбойнуло и "отвалилось". На все дальнейшие попытки подключиться отладчик выдаёт " No Cortex-M Device found in JTAG chain". Подключаюсь к покупной плате - всё нормально, всё видно. Сгореть МК вроде не должен , питание 3,3В (допустимо до 3,6). Как можно проверить , работает ли МК? Среда программирования Keil uVision.
Falkon_99
Nov 6 2013, 11:20
Можно, подтянув Ресет проца к земле, и ондовременно попытайтесь подключится отладчиком, если ошибки не будет, то можно отпустить ресет, тогда приконектится!
Если Ресет не поможет, тогда проверте все выводы питания, VDD VSS, особенно VDDA VSSA быть подключены!!!
А также вывод BOOT0 должен быть подтянут к нулю
Весь МК сгореть не должен, однако вполне возможен пробой линий JTAG, если плата с МК питается от отдельного БП и другой связи по земле между платой и компьютером, кроме земли JTAG, не было. Можно прозвонить линии JTAG тестером на землю и на +3,3 В, соблюдая полярность, при этом желательно сравнивать с сопротивлениями на аналогичной рабочей плате. Если есть существенные отличия либо явный пробой, видимо придется менять МК и гарантировать постоянную связь по земле
Проверьте осциллографом наличие колебаний на кварце. На одном конце может не быть (на подключенном ко входу).
Как-то наступал на эпические грабли - компонент для STM32F407 в LQFP64 пришел в наследство от STM32F103.
Были пропущены пины 31 и 47, вернее посажены на землю. Это VCAP а в 103-м был VSS
У Вас случайно подобного не произошло?
Кварц у меня заводится по специальной команде. Так что на начальном этапе - это не показатель.
Если сгорели ножки JTAG - я бы переключил BOOT в загрузку с UART и убедился, что процессор работает.
Можно еще попробовать подключиться через SWD
Проверил разводку выводов МК. Вроде ляпов не нашёл. Если честно - то срисовал разводку с Терры (TE-STM32F207 + смотрел даташит на сам МК). Смущало, что у терры вывод 19 (для 100 -выводного корпуса) обозначен VSSA и подключен к +3 , а по даташиту обозначение VDD_12. Был один ляп - при включении вывод 6 (VBAT) не соединил с +3В. Подключил как надо - не помогло. А какой кварц должен загенерить : 32768 Гц или 25 МГц? Генерации ни на одном из них осциллографом не вижу.
Falkon_99
Nov 7 2013, 08:12
генерит по умолчанию внутренний. Внешние включаются програмно. Ресет, boot0 проверяли?
так тяжело сказать, не видя плату, печатку здесь можете выложить?
boot0 соединил перемычкой с землёй, на ресет реакции не было никакой. Насчёт программного запуска осциллятора: я так понял, что после включения начинает работать внутренний генератор, значит программатор должен увидеть МК, и после этого только мы можем видеть генерацию на выводах ? Рисунок платы присоединяю. Задумка была сделать МК с выводом по HS USB.
Нажмите для просмотра прикрепленного файла
Falkon_99
Nov 7 2013, 11:35
Если работает внутренний осцилятор, то на кварце генерации вы не увидете никогда
На вашей плате тяжело просмотреть все цепи. Хотя если при первом включении JTAG определил проц, то в схеме должно быть все ОК, на всякий случай вот моя схема подключение (все цепи питания) 100% рабочая.
Попробуйте еще другим программатором, желательно по SWD подключится
Нажмите для просмотра прикрепленного файлана картинке STM32F207VC LQFP100
Спасибо, попытаюсь разобраться, где у меня косяк.
Нашёл на разъёме JTAG отсутствие подтяжки к +3В для RESET и TRST. Подключил. Теперь Отладчик видит МК, но лишь при RESET соединённом с землёй. Как только отрываю от земли, отладчик перестаёт видеть МК. А вот BOOT1 к чему должен быть подключен? К +3В, земле или вообще пусть в воздухе висит?
Falkon_99
Nov 7 2013, 16:07
если BOOT0 в "0" то BOOT1 не обрабатывается, тоесть в любом состоянии можно оставить. Значит прошить всё равно не получается?
Не получается.
Если RESET притянут к земле, контроллер определяется, но при попытке прошить его выдаётся сообщение об ошибке, если RESET подтянут к +3В, то отладчик перестаёт видеть МК. Я, увы, не очень большой спец в работе с МК, поэтому другие способы (через SWD) попробовать не могу - не знаю, как и чем это делать. Понять и разобраться в конце концов смогу, но пройдёт время. Завтра посмотрю на свежую голову на плату, может ещё разгляжу , что на ней не так.
Falkon_99
Nov 7 2013, 18:36
очень похожее у меня было (программатор ST-Link, работает в режиме SWD (2 провода)). оказалось BOOT0 в воздухе телепался (непропай переходного отверстия). у вас сложнее...
Недаром говорят "утро вечера мудренее". Утром посмотрел плату, ляпов больше не нашёл, подёргал ресет - тоже без толку ( ресет к земле - МК виден, оторвал - не видно). У меня программатор TE-ST-LINK (аналог ST Link v.2), прежде чем начать разбираться с СВД, оставил подключнным JTAG-кабель, в кейле выбрал (при ресете, притянутом к нулю) интерфейс SW - МК виден, оторвал ресет - МК виден. Нажал кнопку загрузки программы во флэш - что-то залилось . Переключил интерфейс на JTAG - МК виден! Чудеса. Так что проблема решилась, не понятно как, но заработало. Теперь с USB разбираюсь, но это уже другая история.
Falkon_99
Nov 8 2013, 11:27
а чем JTAG лучше? пользуйтесь SWD, тут проводов меньше
Привычнее : просто уже делал платы с программированием и отладкой по JTAG. Присмотрюсь теперь к SWD.
Для просмотра полной версии этой страницы, пожалуйста,
пройдите по ссылке.