Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Первая плата на STM32F103R6T6A
Форум разработчиков электроники ELECTRONIX.ru > Сайт и форум > В помощь начинающему > ARM, 32bit
ivainc1789
Сделал первую свою плату на STM32. Распаян пока проц и минимально необходимый обвес. Перед "погружением" в доки хотелось бы убедиться, что железо исправно, отладочные интерфейсы (JTAG и SWD) полностью доступны и есть доступ к кристаллу.
Подключил ST-LINK, в ноуте запустил STM32 ST-LINK utility v1.2.
Проблема в том, что доступ к MCU у меня есть только по SWD (выбрав в настройках ST-LINK utility). Если там выбрать JTAG - подключиться никак не могу (пишет: unknown device), хотя в ref manual вроде сказано, что JTAG интерфейс подключен сразу по сбросу.
Как переключиться на JTAG? или на плате неисправность?
ivainc1789
Цитата(ivainc1789 @ Apr 10 2011, 17:18) *
Сделал первую свою плату на STM32. Распаян пока проц и минимально необходимый обвес. Перед "погружением" в доки хотелось бы убедиться, что железо исправно, отладочные интерфейсы (JTAG и SWD) полностью доступны и есть доступ к кристаллу.
Подключил ST-LINK, в ноуте запустил STM32 ST-LINK utility v1.2.
Проблема в том, что доступ к MCU у меня есть только по SWD (выбрав в настройках ST-LINK utility). Если там выбрать JTAG - подключиться никак не могу (пишет: unknown device), хотя в ref manual вроде сказано, что JTAG интерфейс подключен сразу по сбросу.
Как переключиться на JTAG? или на плате неисправность?


Все-таки попутал TDI и TDO. Теперь оба интерфейса работают нормально.
Минимально для разъема JTAG необходимы 6 линий: VTG,GND,TDI,TDO,TMS,TCK. Есть ли какой-нибудь стандарт как расположить эти цепи на вилке PLD-6? В AVR вроде есть рекомендации, но с точки зрения разводки платы STM32 (два слоя) у меня получилось оптимальным:
конт.PLD-6/цепь:
1-TMS 2-GND 3-TDO 4-VTG 5-TCK 6-TDI
Можно еще лучше?
koyodza
Цитата(ivainc1789 @ Apr 10 2011, 22:12) *
Можно еще лучше?

Почему бы не взять что-то стандартное?
http://www.keil.com/support/man/docs/ulink..._connectors.htm
Или места совсем мало?
Лично я если плата мелкая вообще JTAG-разъём на плате не ставлю, просто в удобных местах делаю переходные отверстия, к которым подпаиваю проводами разъём на той плате, на которой отлаживаюсь. А серийные платы шьются по USART1, пользователю JTAG не нужен
Serj78
Цитата(ivainc1789 @ Apr 10 2011, 23:12) *
Все-таки попутал TDI и TDO. Теперь оба интерфейса работают нормально.
Минимально для разъема JTAG необходимы 6 линий: VTG,GND,TDI,TDO,TMS,TCK. Есть ли какой-нибудь стандарт как расположить эти цепи на вилке PLD-6? В AVR вроде есть рекомендации, но с точки зрения разводки платы STM32 (два слоя) у меня получилось оптимальным:
конт.PLD-6/цепь:
1-TMS 2-GND 3-TDO 4-VTG 5-TCK 6-TDI
Можно еще лучше?


Используйте SWD, надо всего 3 провода (2 сигнальных и земля). Недавно перешел на него вместо jtag - меньше места занимает. И шить можно, и отлаживать. Хотя usart1 и штатный бутлоадер никто не отменял sm.gif
ivainc1789
Цитата
Недавно перешел на него вместо jtag - меньше места занимает. И шить можно, и отлаживать.

Пока (для обучения) использую оба интерфейса, в настоящий момент все же JTAG.
Как загружаете прошивку в кристалл в IAR EWARM? Через flashloader? Не требуется ли предварительно стирать flash сторонними утилитами?
У меня (если предварительно не стереть внешне) программа работает не совсем корректно, не могу понять почему...
Если снять галку "использовать flashloader" в настройках IDE - выдает ошибку: "User error: stack has incorrect alignment 0xFFFFFFFF".
Короче нормально можно прошить только если:
1. Использовать штатный flashloader
2. Предварительно стереть flash в сторонней утилите типа ST-LINK utility v2.0
Эту проблему не решить, не понять пока не удается...
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.