реклама на сайте
подробности

 
 
> Проблема подключения через STLINK к STM32F407
bognev
сообщение Jan 1 2014, 21:08
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 58
Регистрация: 4-06-11
Пользователь №: 65 475



Приветствую!

У меня возникла такая проблема. Я приобрел STM32F4 Discovery Board. При подключении к компу через usb светодиоды моргают как и должны при стандартной прошивке. Для заливки прошивки я установил ST Link Utility на 64 битную 7ку, поставил дрова, при подключении к компу плата определяется, драйвера корректно устанавливаются, плата распознается, но утилита при нажаnb Connect to target выдает следующее:

00:52:08 : Can not connect to target!
If you're trying to connect to an STM32W1xx device, please select Normal or HotPlug mode from Target->Settings menu.
00:52:13 : Internal command error

Пробовал подлючаться также с помощию STVP, вылезает следующее сообщение:

Hardware configuration set to <ST-LINK on USB with STM32F407xG plugged in and SWD protocol>.
Blank check before programming (when available) is ON.
Verify after programming is ON.
Clear memory before loading a file is ON.
Erase device memory before programming (when available) is OFF
Display a popup window when an error occurs is ON.
Log activity is ON.
Log file is .
> Reading section [8000000-80FFFFF] of PROGRAM MEMORY area...
Error : Cannot communicate with the device !
Check the SWD cable connection and check all the needed pin connections on the SWD connector.
Reboot the ST-Link with USB cable.

If the device has been programmed with Protection Level 2, no more communication is possible.

Error : < PROGRAM MEMORY reading failed.

То есть опять же ошибка.

В Ubuntu пробовал две утилиты stlink от texane
2014-01-02T01:03:13 DEBUG src/stlink-common.c: stlink current mode: mass
2014-01-02T01:03:13 DEBUG src/stlink-common.c: stlink current mode: mass
2014-01-02T01:03:13 DEBUG src/stlink-common.c: *** stlink_enter_swd_mode ***
2014-01-02T01:03:13 INFO src/stlink-common.c: Loading device parameters....
2014-01-02T01:03:13 DEBUG src/stlink-common.c: *** stlink_core_id ***
2014-01-02T01:03:13 DEBUG src/stlink-common.c: core_id = 0x00000000
2014-01-02T01:03:13 DEBUG src/stlink-common.c: *** stlink_read_debug32 e0042000 is 0xe0042000
2014-01-02T01:03:13 WARN src/stlink-common.c: unknown chip id! 0xe0042000
2014-01-02T01:03:13 DEBUG src/stlink-common.c: *** looking up stlink version
2014-01-02T01:03:13 DEBUG src/stlink-common.c: st vid = 0x0483 (expect 0x0483)
2014-01-02T01:03:13 DEBUG src/stlink-common.c: stlink pid = 0x3748
2014-01-02T01:03:13 DEBUG src/stlink-common.c: stlink version = 0x2
2014-01-02T01:03:13 DEBUG src/stlink-common.c: jtag version = 0x11
2014-01-02T01:03:13 DEBUG src/stlink-common.c: swim version = 0x0
2014-01-02T01:03:13 DEBUG src/stlink-common.c: notice: the firmware doesn't support a swim interface
2014-01-02T01:03:13 DEBUG src/stlink-common.c: *** stlink_reset ***
Chip ID is 00000000, Core ID is 00000000.
2014-01-02T01:03:13 DEBUG src/stlink-common.c: *** reading target voltage
2014-01-02T01:03:13 DEBUG src/stlink-common.c: target voltage = 2878mV
Target voltage is 2878 mV.
Listening at *:4242...

Ошбика опять же в unknown chip id

Пробовал утилиту qstlink2
Вот ее лог

Info: Found an ST Link V2.
Info: Opening device...
Info: Device Open.
Debug: ***[getVersion]***
Debug: Sending 16 bytes: "F1:80:00:00:00:00:00:00:00:00:00:00:00:00:00:00"
Debug: Bytes read: 6
Debug: Received: "24:40:83:04:48:37"
Debug: ***[setExitModeDFU]***
Debug: Sending 16 bytes: "F3:07:00:00:00:00:00:00:00:00:00:00:00:00:00:00"
Debug: ***[setModeSWD]***
Debug: ***[getMode]***
Debug: Sending 16 bytes: "F5:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00"
Debug: Bytes read: 2
Debug: Received: "02:00"
Debug: ***[setExitModeDFU]***
Debug: Sending 16 bytes: "F3:07:00:00:00:00:00:00:00:00:00:00:00:00:00:00"
Debug: Sending 16 bytes: "F2:20:A3:00:00:00:00:00:00:00:00:00:00:00:00:00"
Debug: 16 Bytes sent
Debug: ***[getMode]***
Debug: Sending 16 bytes: "F5:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00"
Debug: Bytes read: 2
Debug: Received: "02:00"
Debug: ***[getStatus]***
Debug: Sending 16 bytes: "F2:01:00:00:00:00:00:00:00:00:00:00:00:00:00:00"
Debug: 16 Bytes sent
Debug: Bytes read: 2
Debug: Received: "80:00"
Debug: ***[getCoreID]***
Debug: Sending 16 bytes: "F2:22:00:00:00:00:00:00:00:00:00:00:00:00:00:00"
Debug: 16 Bytes sent
Debug: Bytes read: 4
Debug: Received: "00:00:00:00"
Debug: ***[getChipID]***
Debug: Looking for: 0
Debug: Did not find chipID!
Error: Device not found!

Камень стоит ревизии Z. Читал что раньше были с ним проблемы, но в новых версиях это было исправлено, да и версия ST Link Utility 3.2.1 и драйвера 2012 года. То есть все новое и должно поддерживать эту ревизию.

Стоит заметить, что я начал подозревать что то не то с платой и буквально обнюхал ее, потыкал все контакты на плате, переставил перемычки, пошатал конденсаторы, подключил к компу и удалось прочитать сhip id! При повторном подключении опять не работало. Провода пробовал разные, компы тоже. В чем может быть дело? Плохой контакт на самой плате? Непробой? Еще читал, что может быть менее 5 V на usb, Подскажите какие нибудь мысли в чем может быть проблема или на что можно обратить внимание?



Заранее благодарю за помощь!

Сообщение отредактировал bognev - Jan 1 2014, 21:10
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов (1 - 8)
Сергей Борщ
сообщение Jan 2 2014, 09:00
Сообщение #2


Гуру
******

Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



Например, залитая в процессор программа может изменять конфигурацию ног SWD или уводить процессор в спячку или в процессоре включена защита от чтения. В первых двух случаях попробуйте на момент подключения удерживать ногу reset на земле (если программатор не делает это сам). Или подать лог 1. на ногу boot0, подать питание и стереть кристалл через SWD (если встроенный загрузчик не использует ноги SWD). Если использует или если включена защита - войти в встроенный загрузчик через лог1 на ноге boot0 при включении питания и попытаться стереть кристалл встроенным загрузчиком через USART или USB.


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post
Вячик13
сообщение Jan 2 2014, 09:24
Сообщение #3


Участник
*

Группа: Участник
Сообщений: 71
Регистрация: 17-01-12
Пользователь №: 69 604



Столкнулся с тем же самым при использовании программатора ST-LINK/V2.
Драйвер, который я скачал с сайта фирмы некорректно работает с 64-битной семёркой, ас 32-битной - всё нормально.
Изворачиваюсь следующим образом:
1. Перегружаюсь в XP, которая у меня установлена в качестве второй системы.
2. Запускаю либо Keil с проектом, заливаю проект в микроконтроллер и отключаюсь, либо запускаю ST-Utility и просто соединяюсь с микроконтроллером.
3. Перегружаюсь в 64-битную Windows 7 и тогда всё работает.
Go to the top of the page
 
+Quote Post
bognev
сообщение Jan 3 2014, 00:00
Сообщение #4


Участник
*

Группа: Участник
Сообщений: 58
Регистрация: 4-06-11
Пользователь №: 65 475



Цитата(Сергей Борщ @ Jan 2 2014, 13:00) *
Например, залитая в процессор программа может изменять конфигурацию ног SWD или уводить процессор в спячку или в процессоре включена защита от чтения. В первых двух случаях попробуйте на момент подключения удерживать ногу reset на земле (если программатор не делает это сам). Или подать лог 1. на ногу boot0, подать питание и стереть кристалл через SWD (если встроенный загрузчик не использует ноги SWD). Если использует или если включена защита - войти в встроенный загрузчик через лог1 на ноге boot0 при включении питания и попытаться стереть кристалл встроенным загрузчиком через USART или USB.

Reset на земле держал, не помогает. Прошивка то залита стандартная STшная, плата новая, ничего с ней не делал. Вряд ли бы они стали ставить защиту от чтения.
Через встроенный загрузчик загурзил другую прошивку рабочую, но ST Link все равно не работает.


Цитата(Вячик13 @ Jan 2 2014, 13:24) *
Столкнулся с тем же самым при использовании программатора ST-LINK/V2.
Драйвер, который я скачал с сайта фирмы некорректно работает с 64-битной семёркой, ас 32-битной - всё нормально.
Изворачиваюсь следующим образом:
1. Перегружаюсь в XP, которая у меня установлена в качестве второй системы.
2. Запускаю либо Keil с проектом, заливаю проект в микроконтроллер и отключаюсь, либо запускаю ST-Utility и просто соединяюсь с микроконтроллером.
3. Перегружаюсь в 64-битную Windows 7 и тогда всё работает.

В том то и дело что на 32 битной системе проверял - тоже самое. И на Ubuntu тоже.

Есть подозрения что все таки непропай или КЗ на самой плате есть. Пока найти не удалось.

Если почитать логи st-link от texane получается так, что логи при подключенных джамперах CN3 и при отключенных одинаковые. То есть St link v2 начисто не видит процессор.

Сообщение отредактировал bognev - Jan 3 2014, 00:01
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Jan 3 2014, 06:48
Сообщение #5


Гуру
******

Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



Цитата(bognev @ Jan 3 2014, 02:00) *
То есть St link v2 начисто не видит процессор.
Тогда омметром прозвонить три линии (GND, SWCLK, SWDIO) от разъема на ST-Link до ножек процессора - дело 5 минут.


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post
ViKo
сообщение Jan 3 2014, 07:37
Сообщение #6


Универсальный солдатик
******

Группа: Модераторы
Сообщений: 8 634
Регистрация: 1-11-05
Из: Минск
Пользователь №: 10 362



Там еще перемычка по питанию стоит, потребляемый ток измерять. Может, не контачит?
Go to the top of the page
 
+Quote Post
mantech
сообщение Jan 3 2014, 09:52
Сообщение #7


Гуру
******

Группа: Участник
Сообщений: 2 219
Регистрация: 16-08-12
Из: Киров
Пользователь №: 73 143



Цитата(Сергей Борщ @ Jan 3 2014, 10:48) *
Тогда омметром прозвонить три линии (GND, SWCLK, SWDIO) от разъема на ST-Link до ножек процессора - дело 5 минут.


Я незнаю, но у меня еще линия SWO (PB3) для чего-то была нужна (без нее не прошивался контроллер ни в какую).
Go to the top of the page
 
+Quote Post
bognev
сообщение Jan 9 2014, 09:29
Сообщение #8


Участник
*

Группа: Участник
Сообщений: 58
Регистрация: 4-06-11
Пользователь №: 65 475



Добрался до работы. Прозвонил плату. Оказалось, что перемычка SB3 не звонилась. Заменил - все работает)

Спасибо за советы!
Go to the top of the page
 
+Quote Post
DenisKuzovin
сообщение Aug 21 2015, 20:36
Сообщение #9


Участник
*

Группа: Участник
Сообщений: 22
Регистрация: 6-03-12
Пользователь №: 70 659



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

Только что была аналогичная проблема, никак не мог подключиться к плате. Осмотр выявил отсутствующий элемент L1, через который питается вся аналоговая часть таргет кристалла. Такой катушки не было, впаял пока резистор 0Ом - заработало... На посадочном месте было видно, что элемент там когда-то был. Наверное плохо припаялся, так как механически сорвать один элемент с середины платы это как-то странно. Так что эти отладки иногда бывают с браком..
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 19th July 2025 - 10:22
Рейтинг@Mail.ru


Страница сгенерированна за 0.01494 секунд с 7
ELECTRONIX ©2004-2016