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

Проблема подключения через STLINK к STM32F407

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

 

У меня возникла такая проблема. Я приобрел 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

Поделиться сообщением


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

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

Поделиться сообщением


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

Столкнулся с тем же самым при использовании программатора ST-LINK/V2.

Драйвер, который я скачал с сайта фирмы некорректно работает с 64-битной семёркой, ас 32-битной - всё нормально.

Изворачиваюсь следующим образом:

1. Перегружаюсь в XP, которая у меня установлена в качестве второй системы.

2. Запускаю либо Keil с проектом, заливаю проект в микроконтроллер и отключаюсь, либо запускаю ST-Utility и просто соединяюсь с микроконтроллером.

3. Перегружаюсь в 64-битную Windows 7 и тогда всё работает.

 

Поделиться сообщением


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

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

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

Через встроенный загрузчик загурзил другую прошивку рабочую, но ST Link все равно не работает.

 

 

Столкнулся с тем же самым при использовании программатора 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

Поделиться сообщением


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

То есть St link v2 начисто не видит процессор.
Тогда омметром прозвонить три линии (GND, SWCLK, SWDIO) от разъема на ST-Link до ножек процессора - дело 5 минут.

 

Поделиться сообщением


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

Там еще перемычка по питанию стоит, потребляемый ток измерять. Может, не контачит?

Поделиться сообщением


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

Тогда омметром прозвонить три линии (GND, SWCLK, SWDIO) от разъема на ST-Link до ножек процессора - дело 5 минут.

 

Я незнаю, но у меня еще линия SWO (PB3) для чего-то была нужна (без нее не прошивался контроллер ни в какую).

Поделиться сообщением


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

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

 

Спасибо за советы!

Поделиться сообщением


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

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

 

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

Поделиться сообщением


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

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

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

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

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

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

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

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

×
×
  • Создать...