Всем привет! Ребята, кричу HELP. Возникла проблема, с которой уже неделю сижу, никак не могу решить ее, что я только не делал.
В общем, купил я года так 3-4 назад stm32f103c8c6 у одного чувака, взял новый, но он их тоже с алиэкпресс, помойму, скупает. И начал работать с этой платой. Работаю я в CubIDE, все прекрасно работало, писал себе проект. Потом этот микроконтроллер начал работать с косяками, начались какие-то мигания не нужные и тд и тп, я подумал что ему хана, не полностью, но хана. Заказал новые, и тут все началось! Они не прошиваются! Сначала заказал 2 штуки с алиэкспрес, не прашиваются, потом еще заказал и они тоже не прошиваются, выходит следующая ошибка:
Failed to start GDB server Failed to start GDB server Error in initializing ST-LINK device. Reason: (18) Could not verify ST device! Abort connection.»
Но через утилиту «STM32 ST-LINK Utility» они все прошиваются! Без проблем!
Программатор ST-LINK V2 (китайский). Проблема скорее всего не внем, ведь первый микроконтроллер прошивается же. В утилите он тоже конектится:
Как я пытался решить эту проблему: 1)Были мысли, что в CubIDE есть защита от китайских микроконтроллеров, но ведь первый, который прошивается, он то тоже из китая. Но наверное это не так!
2) Делал «Firmware update» через утилиту «STM32 ST-LINK Utility»
3) В файле «stm32f1x.cfg» изменял «0x1ba01477» на «0x2ba01477»
https://disk.yandex.ru/i/-bTJeWabcyBcUQ Здесь я выложил документ, где полностью все расписано и имеются все фото, в том числе фото самих микроконтроллеров один из которых прошивается, другой нет, для визуальной оценки. Кот не позволяет здесь загружать фото больше 5 штук.
Я уже теряюсь в догадках, не знаю что и делать. Закупил 10 штук таких STM32, неужели мне их придется выкидывать, и забыть про эти бюджетные варинты и работать только с дорогими оригиналами? Кто сталкивался с этим подскажите пожалуйста!!!
Добрый день. Во-первых, в вкладке "Debugger", в поле "Reset behaviour" поставьте тип "Connect under reset". Во-вторых, подключите пин Reset на STM к ST-LINK. В-третьих, все остальные настройки верните в состояние по умолчанию.
UPD: Попробуйте так же, поставить "Disable" в поле "Debug in low modes" (но сначала выполните описанные выше действия и протестируйте).
Добрый день. Во-первых, в вкладке "Debugger", в поле "Reset behaviour" поставьте тип "Connect under reset". Во-вторых, подключите пин Reset на STM к ST-LINK. В-третьих, все остальные настройки верните в состояние по умолчанию.
UPD: Попробуйте так же, поставить "Disable" в поле "Debug in low modes" (но сначала выполните описанные выше действия и протестируйте).
Добрый вечер! Выполнил все как написали, к сожалению все та же ошибка вылезает. Не понимаю в чем может быть причина?! Я где прочел, что было такое, заказали как-то партию stm и они тоже все не прошивались
Выясните в чем она. А для этого проверьте в другой IDE чтобы понять дело в отладчике или МК, или же в IDE. CubeIDE может блокировать работу с не оригинальным отладчиком или МК.
Добрый вечер! Выполнил все как написали, к сожалению все та же ошибка вылезает. Не понимаю в чем может быть причина?! Я где прочел, что было такое, заказали как-то партию stm и они тоже все не прошивались
А пробовали стереть чип с помощью ST-LINK Utils, а потом его пробовать прошить через CubeIDE? И желательно конечно использовать связку "Connect under reset" и подключенный пин Reset.
Добрый вечер! Выполнил все как написали, к сожалению все та же ошибка вылезает. Не понимаю в чем может быть причина?! Я где прочел, что было такое, заказали как-то партию stm и они тоже все не прошивались
А пробовали стереть чип с помощью ST-LINK Utils, а потом его пробовать прошить через CubeIDE? И желательно конечно использовать связку "Connect under reset" и подключенный пин Reset.
Выясните в чем она. А для этого проверьте в другой IDE чтобы понять дело в отладчике или МК, или же в IDE. CubeIDE может блокировать работу с не оригинальным отладчиком или МК.
Сейчас этим занимаюсь,возникли проблемы со скачивания крякнутого keil. Не на том я сайте похоже скачиваю. Есть у кого достоверный сайт?
Скачайте Atollic версии 9.3, он так же бесплатен и был донором для CubeIDE, а ныне прекратил дальнейшее развитие. Часто причиной косяков бывает либо хреновенький USB-кабель, либо, что чаще встречается, внешнее питание целевого контроллера и помехи по цепи земли от МК до ст-линка.
Кнопку reset прикрутите и давите ее попеременно с попытками прошить/стереть или прямо во время попыток. Или начинайте прошивать с нажатой кнопкой потом отпускайте. И вообще по всякому. Полученные результаты (даже отрицательные) станут дополнительной пищей для размышлений.
_________________ Астролябия-сама меряет, было бы что мерять!!!
Кнопку reset прикрутите и давите ее попеременно с попытками прошить/стереть или прямо во время попыток. Или начинайте прошивать с нажатой кнопкой потом отпускайте. И вообще по всякому. Полученные результаты (даже отрицательные) станут дополнительной пищей для размышлений.
Так ведь есть же выход сброса у SWD программатора. Подключить его тоже и включить "connect under reset".
Что касается непонятного поведения контроллера с Алишечки даже если пытаешься просто помигать светодиодом скажу так: там они все БУ. Найти новый и до пандемии было сложно, а сейчас просто невозможно. У многих из них опции прописаны и в них часто включён сторожевой пёс. Именно такая проблема была чаще всего: если твой контроллер начинает "чудить" особенно со временем - напиши простенькую программку, которая приведёт его опции в исходный заводской вид. Из полусотни контроллеров с Алишечки, что прошли мимо меня, мне пришлось обнулять примерно 2/3. Напомню, что программатором стереть опции нельзя, только ядро может их крутить. Ну и не залочте там случайно RDP.
_________________ Репозиторий STM32: https://cloud.mail.ru/public/2i19/Y4w8kKEiZ Актуальность репозитория: 6 декабря 2025 года Если чего-то не хватает с сайта st.com - пишите, докачаю.
Чой-то нельзя? Всё можно через утилиту ST-Link, полный контроль:
Включенный аппаратный вачдог будет сбрасывать микроконтроллер при работе приблизительно через каждые (если память не изменяет) 3 секунды. И отключить его можно только через биты опций. Лучше всего это делать через утилиту ST-Link, потому что программно можно напортачить до блокировки микроконтроллера. Хорошо, что у F1 серии блокировка только первого уровня, не полный "кирпич". У F1 рид-аут протекшн лечится просто снятием защиты через утилиту ст-линк, при этом прошивка будет стерта. А вот у более современных серий есть уже вариант Level-2, там уже - полный кирпич.
Всем доброго дня! Не отвечал, потом что решал эту проблему, и решил ответить уже с результатом. Перепробовал все что вы предложили, все равно без результатно. Вывел с st-link reset и пытался подключиться с ним! Скачал Atollic, но тоже такая же ошибка. Сейчас установился keil (с официального сайта), хочу проверить на нем, и уже тогда будет 100% ясно в МК проблема или в IDE. Сгенерировал код с Cubmx, открываю проект в keil, компилю, а оно не компилится, вылезал такой текст:
«Build started: Project: HTT_EM *** Target 'Display_MIRT-687253-297_DP1_xxxx_x_U1P1_x_BLE6027K' uses ARM-Compiler 'Default Compiler Version 5' which is not available. *** Please review the installed ARM Compiler Versions: 'Manage Project Items - Folders/Extensions' to manage ARM Compiler Versions. 'Options for Target - Target' to select an ARM Compiler Version for the target. *** Build aborted. Build Time Elapsed: 00:00:00»
Решил эту проблему, изменив в настройках установку компилятора на “V6.18”:
Хотя, у меня, например, имя пользователя - тоже русскими буквами, но проблем с работой не было.
А к целевому микроконтроллеру через утилиту ST-Link удается подключиться? Если да, то выберите Target->Option Bytes и посмотрите, что там есть (как в приведенном мною выше скрине).
Добавлено after 6 minutes 38 seconds: Ага, вижу, что через утилиту ST-Link у вас получается подключиться. Ну да, теперь откройте Target->Option Bytes и посмотрите, какие там галочки установлены или сброшены. Кстати, 103C8 определяется с 256 кБ флеша? Ажно в 4 раза превысили. До 128 встречал, а тут аж 256. Он определяется как High-Density. Посмотрите еще раз маркировку на корпусе микросхемы через увеличитель. Возможно, как раз причина в том, что вы в проекте определяете его как C8, принадлежащий к Medium-Density, а он на самом деле из другой категории. А они как раз и различаются не только размерами флеша, но и прочей внутрянкой.
Кстати, да. В STMке, которая прошивается она определяется в утилите ST-Link как 128kb, а в STMках, которые не прошиваются - 256kb. Это что получается-то? Другой микроконтроллер? (где-то я читал, у кого-то уже так было вроде, что написано одно, а оказались другие МК, но помоему человек заказывал STM32F103C8T6 а по факту стоял процессор STM32F103C6T6). У меня тогда какой, ведь STM32F103C6T6 не может быть на 256kb?
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения