Форум программистов, компьютерный форум, киберфорум
Микроконтроллеры ARM, Cortex, STM32
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.72/25: Рейтинг темы: голосов - 25, средняя оценка - 4.72
Заблокирован

Что делать, если не получается подключиться к STM32F103C8T6 с Linux, ST-LINK v2?

12.12.2021, 18:39. Показов 7735. Ответов 31

Студворк — интернет-сервис помощи студентам
Всем привет. В общем, мучаюсь, не получается ни прочитать, ни записать, ни обнулить прошивку на STM32F103C8T6 (blue pill)
Сама плата рабочая. Давным-давно писал для неё на Windows. Даже, вроде, прописал защиту от чтения (Read protection). Сейчас понадобилось написать на неё новую прошивку, но только я уже на Linux. Поставил пакет stlink (
Code
1
pacman -S stlink
). Подключил плату к чёрному ST-LINK v2, и пишу:
Code
1
st-info --probe
В ответ получаю:
Code
1
2
3
4
5
6
7
Found 1 stlink programmers
  version:    V2J37S7
  serial:     253C020032124353354B4E00
  flash:      0 (pagesize: 0)
  sram:       0
  chipid:     0x0000
  descr:      unknown device
Начал гуглить. Везде пишут, что нужно качать 1.6.0 или 1.6.1. Скачал, скомпилировал - тоже самое...
Пытался подключиться по openocd (
Code
1
openocd -f /usr/share/openocd/scripts/interface/stlink-v2.cfg -c "transport select hla_swd" -f /usr/share/openocd/scripts/target/stm32f1x.cfg
), но он пишет:
Code
1
2
3
4
5
6
Info : Listening on port 6666 for tcl connections
Info : Listening on port 4444 for telnet connections
Info : clock speed 1000 kHz
Info : STLINK V2J37S7 (API v2) VID:PID 0483:3748
Info : Target voltage: 3.220053
Error: init mode failed (unable to connect to the target
Пытался подключить во время нажатия кнопки Reset, зажимал, перемычки ставил по-разному. Ничего не помогает. Помогите, добрые люди. Не ставить же Windows обратно...

Code
1
2
3
4
5
st-flash --connect-under-reset read 1.bin 0 0xFFFF
st-flash 1.7.0
2021-12-12T14:25:08 WARN common.c: NRST is not connected
2021-12-12T14:25:08 ERROR common.c: Can not connect to target. Please use 'connect under reset' and try again
Failed to connect to target
Code
1
2
3
4
st-flash --hot-plug read 1.bin 0 0xFFFF
st-flash 1.7.0
2021-12-12T14:25:50 ERROR common.c: Can not connect to target. Please use 'connect under reset' and try again
Failed to connect to target
Code
1
2
3
4
st-flash read 1.bin 0 0xFFFF
st-flash 1.7.0
2021-12-12T14:26:09 ERROR common.c: Can not connect to target. Please use 'connect under reset' and try again
Failed to connect to target
Вывод st-util:
Code
1
2
3
4
st-util
2021-12-12T14:31:25 WARN common.c: NRST is not connected
2021-12-12T14:31:25 ERROR common.c: Can not connect to target. Please use 'connect under reset' and try again
2021-12-12T14:31:25 ERROR gdb-server.c: Unsupported Target (Chip ID is 0000000000, Core ID is 0x00003748).
Может драйвер какой-то скачать нужно?
(Плата к программатору подключена правильно)
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
12.12.2021, 18:39
Ответы с готовыми решениями:

Что делать если не удается подключиться к ftp серверу?
НА сайте проверки доступности сервера убедился что сервер доступен а я не могу подключиться ни через браузер со строкой формата...

Что делать, если неудачно прошился? D-link Dir 620
Купил маршрутизатор. Смотрю прошивка самая старая, да и wi-fi отваливался при каждом включении. Решил обновить. Выбрал специально под С1. ...

Что делать если не получается создать приложение в Джанго?
Я купил домен и хостинг с поддержкой питон/джанго. Создал корневую папку для приложения как показано здесь...

31
Нарушитель
445 / 886 / 106
Регистрация: 23.11.2021
Сообщений: 5,204
Записей в блоге: 19
13.12.2021, 14:10
Студворк — интернет-сервис помощи студентам
Итак, для проверки:
а) BOOT1 должна быть в 0, BOOT0 - 1.
б) подключить USB-serial переходник
в) включить питание.
В этом случае, если все ОК, МК перейдет в USART-бутлоадер, и при помощи stm32flash можно будет стереть RDP. Если в репах этой утилиты нет, ее можно напрямую с гитхаба скачать и собрать, там ничего сложного.
Без USB-serial не получится надежно убедиться, что МК вышел в режим бутлоадера. Да и RDP снять...
В режиме RDP доступ по SWD и JTAG может быть запрещен (смотря какой уровень защиты).

Добавлено через 6 минут
P.S. Ан, нет: в документации пишут, что RDP позволяет подключиться st-link'ом и снять защиту, стерев флеш.
И написано, как снять защиту:
1) стереть область Option byte (при этом защита еще будет работать),
2) перепрограммировать RDP код на 0x00A5 (при этом произойдет очистка флеша),
3) перезагрузить устройство.

Либо, как написано в AN2606, использовать бутлоадер. Что и делает stm32flash -k

А вообще, для нормальной удобной разработки USB-serial всегда под рукой должен быть. У меня их штук двадцать, наверное… Когда разрабатывал USB, настроил USART1 на 3 мегабода, установил буфер в 2кБ и выплевывал туда отладочную информацию по последовательности запросов с ПК (не сразу получилось правильно отвечать на запросы, немало в этом "помогло" убогое расположение битов в конфигурационных регистрах, где биты set/reset и toggle лежат в одном регистре!)
1
0 / 0 / 0
Регистрация: 13.12.2021
Сообщений: 9
13.12.2021, 14:11
Цитата Сообщение от Eddy_Em Посмотреть сообщение
Без USB-serial не получится надежно убедиться, что МК вышел в режим бутлоадера. Да и RDP снять...
Понял. В общем, завтра куплю USB-Serial переходник, и попробую с ним повозиться.

Добавлено через 49 секунд
Цитата Сообщение от Eddy_Em Посмотреть сообщение
И написано, как снять защиту:
1) стереть область Option byte (при этом защита еще будет работать),
2) перепрограммировать RDP код на 0x00A5 (при этом произойдет очистка флеша),
3) перезагрузить устройство.
Либо, как написано в AN2606, использовать бутлоадер. Что и делает stm32flash -k
Блин, ну первый вариант это для Windows, а второй для Ubuntu. Ужас с этим Arch, господи
0
Нарушитель
445 / 886 / 106
Регистрация: 23.11.2021
Сообщений: 5,204
Записей в блоге: 19
13.12.2021, 14:15
Цитата Сообщение от Saharov2 Посмотреть сообщение
первый вариант это для Windows, а второй для Ubuntu. Ужас с этим Arch, господи
Нет, стереть защиту легко можно openocd или st-flash'ем в любом дистре линукса. И при чем здесь бубунта? Просто скачай с гитхаба stm32flash, да собери, если в репах арча нет. Но сдается мне, должно быть: я лет 7 назад сидел на арче, и пользовался stm32flash (точно не помню, но, кажись, она таки была из реп).
Сейчас я на генте, здесь тоже есть и stm32flash, и stlink в репозиториях. Но stlink я вручную собираю (не помню уже, почему: то ли патчил его для поддержки GD32, то ли еще что).
0
0 / 0 / 0
Регистрация: 13.12.2021
Сообщений: 9
13.12.2021, 14:18
Цитата Сообщение от Eddy_Em Посмотреть сообщение
Нет, стереть защиту легко можно openocd или st-flash'ем в любом дистре линукса. И при чем здесь бубунта? Просто скачай с гитхаба stm32flash, да собери, если в репах арча нет.
Ну st-flash не подключается, опять же. openocd тоже пишет "init mode failed". Сейчас тогда попробую собрать stm32flash
0
Нарушитель
445 / 886 / 106
Регистрация: 23.11.2021
Сообщений: 5,204
Записей в блоге: 19
13.12.2021, 14:24
Цитата Сообщение от Saharov2 Посмотреть сообщение
init mode failed
А сама утилита st-flash из пакета stlink? Но да, через USB-serial телодвижений меньше нужно сделать.
0
0 / 0 / 0
Регистрация: 13.12.2021
Сообщений: 9
13.12.2021, 14:54
Цитата Сообщение от Eddy_Em Посмотреть сообщение
А сама утилита st-flash из пакета stlink?
Да, ставил через pacman

Добавлено через 26 минут
Цитата Сообщение от Eddy_Em Посмотреть сообщение
USB-serial телодвижений меньше нужно сделать.
Я же правильно понимаю, что USB-serial == USB-TTL переходник?
А то какое-то странное название, не нахожу никакого USB-serial
0
Нарушитель
445 / 886 / 106
Регистрация: 23.11.2021
Сообщений: 5,204
Записей в блоге: 19
13.12.2021, 15:08
Цитата Сообщение от Saharov2 Посмотреть сообщение
Я же правильно понимаю, что USB-serial == USB-TTL переходник?
Да. Просто чаще там не TTL, а CMOS-уровни.
1
 Аватар для COKPOWEHEU
4149 / 2727 / 433
Регистрация: 09.09.2017
Сообщений: 12,084
13.12.2021, 17:45
Цитата Сообщение от Saharov2 Посмотреть сообщение
У меня ж ещё Arch, тут все пишу про -k аргумент для снятия, а на пакет для Arch такого нет, походу.
Это не оно? Вроде и Arch, и stm32flash https://aur.archlinux.org/packages/stm32flash/
Цитата Сообщение от COKPOWEHEU Посмотреть сообщение
stm32flash -k /dev/ttyUSB0
Цитата Сообщение от Saharov2 Посмотреть сообщение
На Linux получится?
Учитывая, что у меня адрес порта задается /dev/ttyUSB0, очевидно, из линуксового мейка оно и выдрано
Цитата Сообщение от Saharov2 Посмотреть сообщение
Не получается войти в этот BOOT... Поставил перемычки
Проверьте напряжения. Вдруг там просто контакт где-то отвалился.
Цитата Сообщение от Eddy_Em Посмотреть сообщение
Если отвалится GPS, то примерно запоминать траекторию по магнитометру, акселерометру и нескольким УЗ-дальномерам. И если исчезнет сигнал управления, возвращаться "по приборам".
Это сработает на небольшой области если нет препятствий. Вариант с opencv мне больше нравится, хотя это, конечно, raspberryPi ставить придется.
Цитата Сообщение от Eddy_Em Посмотреть сообщение
P.S. А переходник USB-serial подключен?
Это не нужно, загрузчик висит пока не получит команду "можно отпускать"
Цитата Сообщение от Saharov2 Посмотреть сообщение
Ну st-flash не подключается, опять же. openocd тоже пишет "init mode failed". Сейчас тогда попробую собрать stm32flash
Еще прозвоните контакты. Если возможно, прямо от ножек контроллера программатора до ножек контроллера подопытного. У меня был случай, когда на программаторе отвалились защитные резисторы, при том что визуально все было цело.
Цитата Сообщение от Saharov2 Посмотреть сообщение
Я же правильно понимаю, что USB-serial == USB-TTL переходник?
Да
Цитата Сообщение от Saharov2 Посмотреть сообщение
А то какое-то странное название, не нахожу никакого USB-serial
Названий может быть много. USB-COM, USB-UART, USB-CDC, USB-serial.
Кстати, лучше не готовый переходник купите, а микросхему ft232, из нее сделайте переходник. Дело в том, что она не только USB-serial'ом работать может, но и разнообразными программаторами. Я в свое время сделал такую платку, с выведенными ножками, а потом просто шилды на нее - COM-порт (преобразователь уровней до RS232 на обычной MAX232), AVR-ISP, JTAG. Очень удобно когда нет желания покупать отдельные железки под каждую отладочную задачу.
0
13.12.2021, 17:49

Не по теме:

Цитата Сообщение от COKPOWEHEU Посмотреть сообщение
Вариант с opencv мне больше нравится
Плохой вариант: хуже OpenCV еще поискать надо! Жирная библиотека без оптимизаций, отстой, одним словом! Я свои использую наработки обычно.

0
0 / 0 / 0
Регистрация: 13.12.2021
Сообщений: 9
13.12.2021, 17:52
Цитата Сообщение от COKPOWEHEU Посмотреть сообщение
Еще прозвоните контакты. Если возможно, прямо от ножек контроллера программатора до ножек контроллера подопытного
Пока мультиметра нет, но я не думаю, что что-то сломалось. Сама прошивка работает. До того, как я разбирал всё - там стояла прошивка на часы, и она работала отлично - дисплей показывал время, будильник тоже работал и всё вообще работало. Вряд ли что-то сломалось в ходе разбора.
А вот что очень странно - я заметил, что у других когда они ставят перемычки на загрузчик - у них прошивка не грузится (PC13 не мигает), а у меня во всех перемычках прошивка работает. Т.е как не поставлю, перезагружаю часы - работают. Может действительно перезаписал загрузчик?...

Добавлено через 1 минуту
Ну или действительно программатор отходит. Такое тоже подозреваю. Хотя там же питание не должно будет подаваться (если какой-то провод отходит)?
0
 Аватар для COKPOWEHEU
4149 / 2727 / 433
Регистрация: 09.09.2017
Сообщений: 12,084
13.12.2021, 17:58
Цитата Сообщение от Eddy_Em Посмотреть сообщение
Плохой вариант: хуже OpenCV еще поискать надо! Жирная библиотека без оптимизаций, отстой, одним словом! Я свои использую наработки обычно.
Вот в распознавание изображений я бы точно не полез.
Цитата Сообщение от Saharov2 Посмотреть сообщение
Пока мультиметра нет
Вот его нужно купить обязательно.
Цитата Сообщение от Saharov2 Посмотреть сообщение
Сама прошивка работает.
И что? Это значит только, что хотя бы один земляной контакт, один контакт питания цел и целы выводы, задействованные в прошивке. Есть ли обрыв в дорожке от BOOT0 и пропаяна ли она вообще неизвестно. Как и дорожки с контактами до программатора.
Цитата Сообщение от Saharov2 Посмотреть сообщение
А вот что очень странно - я заметил, что у других когда они ставят перемычки на загрузчик - у них прошивка не грузится (PC13 не мигает), а у меня во всех перемычках прошивка работает.
Значит, скорее всего, BOOT.
Перезаписать загрузчик вы просто так не сможете, чтобы он сломался должны уж очень неудачно сложиться звезды.
Цитата Сообщение от Saharov2 Посмотреть сообщение
Ну или действительно программатор отходит. Такое тоже подозреваю. Хотя там же питание не должно будет подаваться (если какой-то провод отходит)?
Никто не обещал, что если отвалится какой-нибудь JRST, тут же отвалится и питание.
0
0 / 0 / 0
Регистрация: 13.12.2021
Сообщений: 9
13.12.2021, 18:06
Цитата Сообщение от COKPOWEHEU Посмотреть сообщение
Вот его нужно купить обязательно.
Да он у меня был, но сгорел. Буквально недавно)) пока что проверяю либо через li-on заряж. аккум. (если нужно проверить какой-то один элемент, иногда с резистором), либо если питание есть, светодиодом))
Но тут этого явно будет недостаточно

Добавлено через 2 минуты
Цитата Сообщение от COKPOWEHEU Посмотреть сообщение
Есть ли обрыв в дорожке от BOOT0 и пропаяна ли она вообще неизвестно. Как и дорожки с контактами до программатора.
В общем, проверю питание в перемычках и в проводах программатора. Понял!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
13.12.2021, 18:06

Что делать, если не получается продумать алгоритм программы?
Недавно занялся изучением программированием, а именно СИ по книге "Программирование СИ" (Брайан Керниган, Деннис Ридчи). Очень...

Что делать, если взломала группа хакеров и не получается «вырвать» из их лап свою сеть?
Где искать помощь, если взломала группа хакеров и не получается «вырвать» из их лап свою сеть? я обычный человек и обычный пользователь...

Что это такое и что с этим делать: %link%, -picture-
:scratch: отрывок кода: <td width=200 valign=top> <br> <a href=%link%>-picture-</a> </td> Насколько я понял %link% это...

stm32f103c8t6 + st-link v2 + keil 5
Доброго времени суток, форумчане! Попалась мне в руки платка на stm32f103c8t6. <Изображение удалено> Пытаюсь прошить в keil 5...

Китайский ST-LINK V2 и STM32F103C8T6
Об этом много писали и пишут, но конкретного решения в моем случае найти не удалось. Имеется: STM32F103C8T6 и китайский ST-LINK V2 ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
32
Ответ Создать тему
Новые блоги и статьи
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#. Название изменил на ColorStep. Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами: - ВидТО (СправочникСсылка. ВидыТО); - ВидГСМ. . .
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр. Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала. Ниже прикреплён. . .
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU. Опрашиваются регистры. . .
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка: Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
Оттачиваю умение писать js программы.
russiannick 30.08.2026
Проектом выходного дня стало написание Книги шифров Виженера. Итогом стала версия 200, синий туман. Синий туман назван так, потому что замораживает текст под собой. Нажатие синих кнопок управляют. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru