Error e 1002 no response from target microcontroller reset

I am not able to use rl78flash for programming a device with a 104jg microcontroller. 2.b:~> rl78flash -ivvvvd -m3 /dev/ttyS0 Open port: /dev/ttyS0 Using communication mode 3 Turn MCU's powe...

I am not able to use rl78flash for programming a device with a 104jg microcontroller.

2.b:~> rl78flash -ivvvvd -m3 /dev/ttyS0
Open port: /dev/ttyS0
Using communication mode 3
Turn MCU’s power on and press any key…
Send 1-byte data for setting mode
send(1): 3A
recv(1): 3A
Send «Set Baud Rate» command (baud=115200bps, voltage=3.3V)
send(7): 01 03 9A 00 20 43 03
recv(7): 01 03 9A 00 20 43 03
recv(0):
FAILED
Initialization failed
Close port

It looks like the microcontroller is not responding.
That’s exactly the same thing that happened here:
#6
In that case the problem was unconneced reset.

So I verified my circuit that it is electrically correct and it is.
This is how the signals look like (reset and tool0):
sds00001

And this is my circuit:
flsch

It’s made after the rl78s-hw.png, but it has switches for selecting mode and power, an sp3232 chip and a 3v3 stabilizer. Powered from an usb cable.
I also have a second copy of this circuit made on a breadboard, without the switches. It’s in mode 3. It doesn’t work either.

It’s also not the case of damaged microcontroller or device. I have access to several boards with a 104jg. None of them can be programmed with rl78flash but they all can be programmed with an E1 using the same cable.

So is the software doing something wrong? Like resetting incorrectly? timing? whatever?
Or maybe I’m using it wrong somehow?

Thanks in advance,
B

PlatformIO Community

Loading

Форум РадиоКот • Просмотр темы — STM32 перестали работать в CubIDE

Сообщения без ответов | Активные темы

ПРЯМО СЕЙЧАС:

Автор Сообщение

Не в сети

Заголовок сообщения: STM32 перестали работать в CubIDE

СообщениеДобавлено: Ср авг 10, 2022 22:44:43 

Нашел транзистор. Понюхал.

Зарегистрирован: Чт апр 08, 2021 09:46:48
Сообщений: 150

Рейтинг сообщения: 0

Всем привет! Ребята, кричу HELP. Возникла проблема, с которой уже неделю сижу, никак не могу решить ее, что я только не делал.

В общем, купил я года так 3-4 назад stm32f103c8c6 у одного чувака, взял новый, но он их тоже с алиэкпресс, помойму, скупает.
И начал работать с этой платой. Работаю я в CubIDE, все прекрасно работало, писал себе проект. Потом этот микроконтроллер начал работать с косяками, начались какие-то мигания не нужные и тд и тп, я подумал что ему хана, не полностью, но хана. Заказал новые, и тут все началось! Они не прошиваются! Сначала заказал 2 штуки с алиэкспрес, не прашиваются, потом еще заказал и они тоже не прошиваются, выходит следующая ошибка:

Вложение:



Ошибкаа.png [99.13 KiB]

Скачиваний: 131

«Error in final launch sequence:

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 (китайский). Проблема скорее всего не внем, ведь первый микроконтроллер прошивается же. В утилите он тоже конектится:

Вложение:



STM32 ST-LINK Utility.png [70.45 KiB]

Скачиваний: 102

Мои настройки:

Вложение:



настройки 1.png [52.99 KiB]

Скачиваний: 88

Вложение:



настроки 2.png [53 KiB]

Скачиваний: 69

Как я пытался решить эту проблему:
1)Были мысли, что в CubIDE есть защита от китайских микроконтроллеров, но ведь первый, который прошивается, он то тоже из китая. Но наверное это не так!

2) Делал «Firmware update» через утилиту «STM32 ST-LINK Utility»

3) В файле «stm32f1x.cfg» изменял «0x1ba01477» на «0x2ba01477»

Вложение:



0x2ba01477.png [202.8 KiB]

Скачиваний: 63

4) Менял настройки на «ST-LINK(Open OCD)»

https://disk.yandex.ru/i/-bTJeWabcyBcUQ
Здесь я выложил документ, где полностью все расписано и имеются все фото, в том числе фото самих микроконтроллеров один из которых прошивается, другой нет, для визуальной оценки. Кот не позволяет здесь загружать фото больше 5 штук.

Я уже теряюсь в догадках, не знаю что и делать. Закупил 10 штук таких STM32, неужели мне их придется выкидывать, и забыть про эти бюджетные варинты и работать только с дорогими оригиналами? Кто сталкивался с этим подскажите пожалуйста!!!

Вернуться наверх
 

ПрофильПрофиль

 

Реклама

ART_ME

Не в сети

Заголовок сообщения: Re: STM32 перестали работать в CubIDE

СообщениеДобавлено: Чт авг 11, 2022 05:04:03 

Собутыльник Кота
Аватар пользователя

Карма: -22

Рейтинг сообщений: -38

Зарегистрирован: Вс окт 02, 2016 07:34:45
Сообщений: 2706

Рейтинг сообщения: 0

А что мешает сделать очевидное — попробовать поработать с этими же МК в другом IDE?


_________________
Никогда не спорьте с дураками. Они опустят Вас до своего уровня и победят за счет опыта.

Вернуться наверх
Реклама

maksimdag0

Не в сети

Заголовок сообщения: Re: STM32 перестали работать в CubIDE

СообщениеДобавлено: Чт авг 11, 2022 08:06:32 

Нашел транзистор. Понюхал.

Зарегистрирован: Чт апр 08, 2021 09:46:48
Сообщений: 150

Рейтинг сообщения: 0

ART_ME писал(а):

А что мешает сделать очевидное — попробовать поработать с этими же МК в другом IDE?

Мне cubide по душе да и она бесплатная, ещё keil по душе но у неё ограничение имеется.

Вернуться наверх

4airy

Не в сети

Заголовок сообщения: Re: STM32 перестали работать в CubIDE

СообщениеДобавлено: Чт авг 11, 2022 08:35:28 

Родился
Аватар пользователя

Зарегистрирован: Вс июл 24, 2022 11:42:22
Сообщений: 7

Рейтинг сообщения: 0

Добрый день.
Во-первых, в вкладке «Debugger», в поле «Reset behaviour» поставьте тип «Connect under reset».
Во-вторых, подключите пин Reset на STM к ST-LINK.
В-третьих, все остальные настройки верните в состояние по умолчанию.

UPD:
Попробуйте так же, поставить «Disable» в поле «Debug in low modes» (но сначала выполните описанные выше действия и протестируйте).

Вернуться наверх
Реклама

Выгодные LED-драйверы для решения любых задач

КОМПЭЛ представляет со склада и под заказ широкий выбор LED-драйверов производства MEAN WELL, MOSO, Snappy, Inventronics, EagleRise. Линейки LED-драйверов этих компаний, выполненные по технологии Tunable White и имеющие возможность непосредственного встраивания в систему умного дома (димминг по шине KNX), перекрывают практически полный спектр применений: от простых световых указателей и декоративной подсветки до диммируемых по различным протоколам светильников внутреннего и наружного освещения.

Подобрать LED-драйвер>>

ART_ME

Не в сети

Заголовок сообщения: Re: STM32 перестали работать в CubIDE

СообщениеДобавлено: Чт авг 11, 2022 11:17:47 

Собутыльник Кота
Аватар пользователя

Карма: -22

Рейтинг сообщений: -38

Зарегистрирован: Вс окт 02, 2016 07:34:45
Сообщений: 2706

Рейтинг сообщения: 0

ART_ME писал(а):

А что мешает сделать очевидное — попробовать поработать с этими же МК в другом IDE?

Мне cubide по душе да и она бесплатная, ещё keil по душе но у неё ограничение имеется.

А разве я предлагал Вам перейти на другой IDE?


_________________
Никогда не спорьте с дураками. Они опустят Вас до своего уровня и победят за счет опыта.

Вернуться наверх
Реклама

Реклама

LIMF – источники питания High-End от MORNSUN со стандартным функционалом на DIN-рейку

На склад Компэл поступили ИП MORNSUN (крепление на DIN-рейку) с выходной мощностью 240 и 480 Вт. Данные источники питания обладают 150% перегрузочной способностью, активной схемой коррекции коэффициента мощности (ККМ; PFC), наличием сухого контакта реле для контроля работоспособности (DC OK) и возможностью подстройки выходного напряжения. Источники питания выполнены в металлическом корпусе, ПП с компонентами покрыта лаком с двух сторон, что делает ее устойчивой к соляному туману и пыли. Изделия соответствуют требованиям ANSI/ISA 71.04-2013 G3 на устойчивость к коррозии, а также нормам ATEX для взрывоопасных зон.

Подробнее>>

maksimdag0

Не в сети

Заголовок сообщения: Re: STM32 перестали работать в CubIDE

СообщениеДобавлено: Чт авг 11, 2022 21:18:59 

Нашел транзистор. Понюхал.

Зарегистрирован: Чт апр 08, 2021 09:46:48
Сообщений: 150

Рейтинг сообщения: 0

4airy писал(а):

Добрый день.
Во-первых, в вкладке «Debugger», в поле «Reset behaviour» поставьте тип «Connect under reset».
Во-вторых, подключите пин Reset на STM к ST-LINK.
В-третьих, все остальные настройки верните в состояние по умолчанию.

UPD:
Попробуйте так же, поставить «Disable» в поле «Debug in low modes» (но сначала выполните описанные выше действия и протестируйте).

Добрый вечер! Выполнил все как написали, к сожалению все та же ошибка вылезает. Не понимаю в чем может быть причина?! Я где прочел, что было такое, заказали как-то партию stm и они тоже все не прошивались

Добавлено after 35 seconds:

ART_ME писал(а):

А что мешает сделать очевидное — попробовать поработать с этими же МК в другом IDE?

Мне cubide по душе да и она бесплатная, ещё keil по душе но у неё ограничение имеется.

А разве я предлагал Вам перейти на другой IDE?

Мне бы проблему решить

Вернуться наверх

Мурик

Не в сети

Заголовок сообщения: Re: STM32 перестали работать в CubIDE

СообщениеДобавлено: Чт авг 11, 2022 21:59:02 

Друг Кота
Аватар пользователя

Карма: 1

Рейтинг сообщений: 157

Зарегистрирован: Пн окт 11, 2010 19:00:08
Сообщений: 3313

Рейтинг сообщения: 0

maksimdag0 писал(а):

Мне бы проблему решить

Выясните в чем она. А для этого проверьте в другой IDE чтобы понять дело в отладчике или МК, или же в IDE.
CubeIDE может блокировать работу с не оригинальным отладчиком или МК.

Вернуться наверх

Asmodey

Не в сети

Заголовок сообщения: Re: STM32 перестали работать в CubIDE

СообщениеДобавлено: Чт авг 11, 2022 22:46:26 

Говорящий с текстолитом
Аватар пользователя

Карма: 13

Рейтинг сообщений: 272

Зарегистрирован: Сб янв 28, 2006 22:47:24
Сообщений: 1641

Рейтинг сообщения: 0

В любой непонятной ситуации давите ресет.


_________________
Астролябия-сама меряет, было бы что мерять!!!

Вернуться наверх

4airy

Не в сети

Заголовок сообщения: Re: STM32 перестали работать в CubIDE

СообщениеДобавлено: Пт авг 12, 2022 12:53:35 

Родился
Аватар пользователя

Зарегистрирован: Вс июл 24, 2022 11:42:22
Сообщений: 7

Рейтинг сообщения: 0

Добрый вечер! Выполнил все как написали, к сожалению все та же ошибка вылезает. Не понимаю в чем может быть причина?! Я где прочел, что было такое, заказали как-то партию stm и они тоже все не прошивались

А пробовали стереть чип с помощью ST-LINK Utils, а потом его пробовать прошить через CubeIDE? И желательно конечно использовать связку «Connect under reset» и подключенный пин Reset.

Вернуться наверх

maksimdag0

Не в сети

Заголовок сообщения: Re: STM32 перестали работать в CubIDE

СообщениеДобавлено: Пт авг 12, 2022 22:54:37 

Нашел транзистор. Понюхал.

Зарегистрирован: Чт апр 08, 2021 09:46:48
Сообщений: 150

Рейтинг сообщения: 0

4airy писал(а):

Добрый вечер! Выполнил все как написали, к сожалению все та же ошибка вылезает. Не понимаю в чем может быть причина?! Я где прочел, что было такое, заказали как-то партию stm и они тоже все не прошивались

А пробовали стереть чип с помощью ST-LINK Utils, а потом его пробовать прошить через CubeIDE? И желательно конечно использовать связку «Connect under reset» и подключенный пин Reset.

Пробовал, без толку

Добавлено after 1 minute 33 seconds:

maksimdag0 писал(а):

Мне бы проблему решить

Выясните в чем она. А для этого проверьте в другой IDE чтобы понять дело в отладчике или МК, или же в IDE.
CubeIDE может блокировать работу с не оригинальным отладчиком или МК.

Сейчас этим занимаюсь,возникли проблемы со скачивания крякнутого keil. Не на том я сайте похоже скачиваю. Есть у кого достоверный сайт?

Вернуться наверх

MLX90640

Не в сети

Заголовок сообщения: Re: STM32 перестали работать в CubIDE

СообщениеДобавлено: Пт авг 12, 2022 23:39:00 

Опытный кот
Аватар пользователя

Карма: 2

Рейтинг сообщений: 162

Зарегистрирован: Ср авг 03, 2022 05:22:56
Сообщений: 848

Рейтинг сообщения: 0

Скачайте Atollic версии 9.3, он так же бесплатен и был донором для CubeIDE, а ныне прекратил дальнейшее развитие.
Часто причиной косяков бывает либо хреновенький USB-кабель, либо, что чаще встречается, внешнее питание целевого контроллера и помехи по цепи земли от МК до ст-линка.

Вернуться наверх

Asmodey

Не в сети

Заголовок сообщения: Re: STM32 перестали работать в CubIDE

СообщениеДобавлено: Сб авг 13, 2022 00:43:09 

Говорящий с текстолитом
Аватар пользователя

Карма: 13

Рейтинг сообщений: 272

Зарегистрирован: Сб янв 28, 2006 22:47:24
Сообщений: 1641

Рейтинг сообщения: 0

Кнопку reset прикрутите и давите ее попеременно с попытками прошить/стереть или прямо во время попыток. Или начинайте прошивать с нажатой кнопкой потом отпускайте. И вообще по всякому. Полученные результаты (даже отрицательные) станут дополнительной пищей для размышлений.


_________________
Астролябия-сама меряет, было бы что мерять!!!

Вернуться наверх

HardWareMan

Не в сети

Заголовок сообщения: Re: STM32 перестали работать в CubIDE

СообщениеДобавлено: Сб авг 13, 2022 07:41:55 

Открыл глаза
Аватар пользователя

Зарегистрирован: Ср сен 02, 2015 07:47:20
Сообщений: 43

Рейтинг сообщения: 0

Кнопку reset прикрутите и давите ее попеременно с попытками прошить/стереть или прямо во время попыток. Или начинайте прошивать с нажатой кнопкой потом отпускайте. И вообще по всякому. Полученные результаты (даже отрицательные) станут дополнительной пищей для размышлений.

Так ведь есть же выход сброса у SWD программатора. Подключить его тоже и включить «connect under reset».

Что касается непонятного поведения контроллера с Алишечки даже если пытаешься просто помигать светодиодом скажу так: там они все БУ. Найти новый и до пандемии было сложно, а сейчас просто невозможно. У многих из них опции прописаны и в них часто включён сторожевой пёс. Именно такая проблема была чаще всего: если твой контроллер начинает «чудить» особенно со временем — напиши простенькую программку, которая приведёт его опции в исходный заводской вид. Из полусотни контроллеров с Алишечки, что прошли мимо меня, мне пришлось обнулять примерно 2/3. Напомню, что программатором стереть опции нельзя, только ядро может их крутить. Ну и не залочте там случайно RDP.

Вернуться наверх

MLX90640

Не в сети

Заголовок сообщения: Re: STM32 перестали работать в CubIDE

СообщениеДобавлено: Сб авг 13, 2022 09:25:29 

Опытный кот
Аватар пользователя

Карма: 2

Рейтинг сообщений: 162

Зарегистрирован: Ср авг 03, 2022 05:22:56
Сообщений: 848

Рейтинг сообщения: 0

Чой-то нельзя? Всё можно через утилиту ST-Link, полный контроль:

Изображение

Включенный аппаратный вачдог будет сбрасывать микроконтроллер при работе приблизительно через каждые (если память не изменяет) 3 секунды. И отключить его можно только через биты опций. Лучше всего это делать через утилиту ST-Link, потому что программно можно напортачить до блокировки микроконтроллера. Хорошо, что у F1 серии блокировка только первого уровня, не полный «кирпич». У F1 рид-аут протекшн лечится просто снятием защиты через утилиту ст-линк, при этом прошивка будет стерта. А вот у более современных серий есть уже вариант Level-2, там уже — полный кирпич.

Вернуться наверх

Мурик

Не в сети

Заголовок сообщения: Re: STM32 перестали работать в CubIDE

СообщениеДобавлено: Сб авг 13, 2022 20:38:42 

Друг Кота
Аватар пользователя

Карма: 1

Рейтинг сообщений: 157

Зарегистрирован: Пн окт 11, 2010 19:00:08
Сообщений: 3313

Рейтинг сообщения: 0

Вернуться наверх

maksimdag0

Не в сети

Заголовок сообщения: Re: STM32 перестали работать в CubIDE

СообщениеДобавлено: Вс авг 14, 2022 12:25:18 

Нашел транзистор. Понюхал.

Зарегистрирован: Чт апр 08, 2021 09:46:48
Сообщений: 150

Рейтинг сообщения: 0

HardWareMan писал(а):

включить «connect under reset»

Asmodey писал(а):

Скачайте Atollic версии 9.3

Всем доброго дня! Не отвечал, потом что решал эту проблему, и решил ответить уже с результатом. Перепробовал все что вы предложили, все равно без результатно. Вывел с 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”:

Вложение:



Настройка компилятора.png [33.08 KiB]

Скачиваний: 96

После этого у меня вылезла новая ошибка:

Вложение:



Вторая ошибка.png [89.67 KiB]

Скачиваний: 58

«Build started: Project: Test_project
*** Using Compiler ‘V6.18’, folder: ‘C:Keil_v5ARMARMCLANGBin’
Build target ‘Test_project’
ArmClang: error: unable to execute command: Unable to convert command-line to UTF-16: Символ Юникода не имеет сопоставления в конечной многобайтовой кодовой странице. (0x459)
assembling startup_stm32f103xb.s…
«Test_projectTest_project.axf» — 1 Error(s), 0 Warning(s).
Target not created.
Build Time Elapsed: 00:00:00»

Долго над ней сидел, но так и не получилось ее решить. Из-за чего это ошибка, подскажите, знатоки?

Настройки CubMX:

Вложение:



Настройки CubMX.png [68.05 KiB]

Скачиваний: 54

Пробовал выбирать различные версии, но ошибка не исчезала.

Для удобства все описал в документе Word:
https://disk.yandex.ru/i/SaqDXglt4Yd4Lw

Последний раз редактировалось maksimdag0 Вс авг 14, 2022 12:35:36, всего редактировалось 1 раз.

Вернуться наверх

VladislavS

В сети

Заголовок сообщения: Re: STM32 перестали работать в CubIDE

СообщениеДобавлено: Вс авг 14, 2022 12:34:51 

Поставщик валерьянки для Кота
Аватар пользователя

Карма: 13

Рейтинг сообщений: 362

Зарегистрирован: Вт май 01, 2018 19:44:47
Сообщений: 2300

Рейтинг сообщения: 0

Проект в директории с русскими буквами? Хотя, keil, вроде бы, этим не болел раньше.

Вернуться наверх

maksimdag0

Не в сети

Заголовок сообщения: Re: STM32 перестали работать в CubIDE

СообщениеДобавлено: Вс авг 14, 2022 12:39:48 

Нашел транзистор. Понюхал.

Зарегистрирован: Чт апр 08, 2021 09:46:48
Сообщений: 150

Рейтинг сообщения: 0

Проект в директории с русскими буквами? Хотя, keil, вроде бы, этим не болел раньше.

Сам путь к проекту без кириллицы, но название моего компьютера С кириллицей «Максим» (см. фото).

Вернуться наверх

MLX90640

Не в сети

Заголовок сообщения: Re: STM32 перестали работать в CubIDE

СообщениеДобавлено: Вс авг 14, 2022 12:52:24 

Опытный кот
Аватар пользователя

Карма: 2

Рейтинг сообщений: 162

Зарегистрирован: Ср авг 03, 2022 05:22:56
Сообщений: 848

Рейтинг сообщения: 0

Хотя, у меня, например, имя пользователя — тоже русскими буквами, но проблем с работой не было.

А к целевому микроконтроллеру через утилиту 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, а он на самом деле из другой категории. А они как раз и различаются не только размерами флеша, но и прочей внутрянкой.

Вернуться наверх

maksimdag0

Не в сети

Заголовок сообщения: Re: STM32 перестали работать в CubIDE

СообщениеДобавлено: Вс авг 14, 2022 18:10:12 

Нашел транзистор. Понюхал.

Зарегистрирован: Чт апр 08, 2021 09:46:48
Сообщений: 150

Рейтинг сообщения: 0

maksimdag0 писал(а):

откройте Target->Option Bytes и посмотрите, какие там галочки установлены или сброшены

Вот:

Вложение:



Option_Bytes.png [30.96 KiB]

Скачиваний: 73

Кстати, да. В STMке, которая прошивается она определяется в утилите ST-Link как 128kb, а в STMках, которые не прошиваются — 256kb. Это что получается-то? Другой микроконтроллер? (где-то я читал, у кого-то уже так было вроде, что написано одно, а оказались другие МК, но помоему человек заказывал STM32F103C8T6 а по факту стоял процессор STM32F103C6T6). У меня тогда какой, ведь STM32F103C6T6 не может быть на 256kb?

В ST-Link — STMка которая прошивается:

Вложение:

В ST-Link — STMки которые НЕ прошиваются:

Вложение:

Маркировка STMки которая прошивается:

Вложение:

Маркировка STMок которые НЕ прошиваются:

Вложение:

Вернуться наверх

Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 7

Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Duco

Posts: 4
Joined: Wed Apr 15, 2020 5:55 pm

Problem uploading to STM32F103C8T6 board

Hi all,

Recently I decided to upgrade from an Arduino to an STM32 board. I bought my board from https://www.ebay.com/itm/323747797666 (seller stopped selling but it should be the generic ‘blue pill’ module) and I got the programmer from
https://www.ebay.com/itm/FT232RL-3-3V-5 … 2749.l2649, but I’ve not been able to enjoy them that much:

The problems lies when uploading to the board. I have tried a number of things before posting here, none of which helped. I have viewed many forums of people with similar problems, none of which solved my problem. My guess is a faulty programmer, let me explain:

First thing I noticed when uploading for the first time was this error message:

Code: Select all

Failed to init device.
stm32flash 0.4

http://stm32flash.googlecode.com/

Using Parser : Raw BINARY
Interface serial_w32: 115200 8E1

This was immediately seemed odd to me. Whenever I unplugged the programmer from my breadboard and then uploaded the same sketch, the same error message showed up. This told me that possible wrong connections weren’t the immediate problem. I have setup the Arduino IDE properly as well as the connections made from board to programmer (you have to take my word on this).

Next I tried reinstalling the IDE as well as the hardware files to support STM32 boards. I also tried doing the exact same thing on another machine, with no changing result.

After this I tried ‘buring the bootloader’ with this https://www.instructables.com/id/Progra … l-Via-USB/ instructable as help. This failed at step 4 when trying to use the stm32 flasher. I selected the port and changed no other setting. The software gave me the following error message:

Code: Select all

No response form the target, the Boot loader can not be started.
Please, verify the boot mode configuration and the flash protection status, Reset your device then try again...

Again, when unplugging the programmer from the board, the same error message came up

When this failed as well I tried installing another stm32 flasher form this link https://sourceforge.net/p/stm32flash/wiki/Home/. When selecting my device with this command

it gave me an error message similar to the first one I got:

Code: Select all

stm32flash 0.5

http://stm32flash.sourceforge.net/

Interface serial_w32: 1152008E1
Failed to init device.

Lastly, I tried uploading a sketch with the same programmer to an Arduino Nano, with no result once again. The Nano is not faulty for sure because with a normal usb cable uploaing did work.
So my conclusion is a faulty programmer. Before buying a new one I would like to be sure and I want to understand why it is not working.

By now I have become quite desperate for this to work, so any help would be appreciated.

mrburnette

Posts: 633
Joined: Thu Dec 19, 2019 1:23 am

Answers: 7

Re: Problem uploading to STM32F103C8T6 board

Post

by mrburnette » Wed Apr 15, 2020 7:11 pm

OMG … you do sound frustrated.
I will tell you this, some members have reported counterfit microcontrollers. This may not be your case, so before freaking-out, take a deep breath…

OK. Let’s try and get you started with Roger’s core and the bootloader. Here is the github:

and the WiKi explains installing the bootloader, etc.
https://github.com/rogerclarkmelbourne/ … STM32/wiki

Clone programmers sometimes work, sometimes do not (work.) You can always avoid that concern and just load your sketch via serial:
https://github.com/rogerclarkmelbourne/ … 103-boards

If the above works, great. If not, read my recommendation below:

— you can beg for more help here and perhaps one of the members can walk you through testing the uC, etc. If you think you board may have a counterfeit controller, you can read about it here: viewtopic.php?f=7&t=80 BUT please, please read the last post.

— But if your really want to work with STM32 and you want a great experience, buy one of the supported known good boards listed on the STM support page:
https://github.com/stm32duino/Arduino_Core_STM32
Nucleo and Discovery boards are a good value when you realize that an official ST-Link is included on the board. Schematics and documentation are available. Frederic Pillon from STM runs the forum and has support back into STM for serious questions. Everyone needs 1 (one) known-good board: if for no other reason that to make a determination between hardware and software issues!

Good luck,

Ray

Duco

Posts: 4
Joined: Wed Apr 15, 2020 5:55 pm

Re: Problem uploading to STM32F103C8T6 board

Post

by Duco » Wed Apr 15, 2020 8:35 pm

I wasn’t trying to sound frustrated buy I actually am indeed :)

About the stm32 core and the bootloader; I am pretty sure I have those correctly installed.

You can always avoid that concern and just load your sketch via serial:

Do you mean with ‘via serial’ uploading with the FDTI programmer I have? I have tried this numerous time without success…

I need a small sized board for my project so a ‘black pill’ https://robotdyn.com/catalog/developmen … ields.html should fit my requirements and it is said to be supported. But wouldn’t I still have the same problem then if my programmer is broken?
Also I think I am a bit lost in what a ‘bootloader’ actually is, can you maybe link to a good explanation as to what they are?.

Thanks for your help Ray!

fredbox

Posts: 125
Joined: Thu Dec 19, 2019 3:05 am

Answers: 2

Re: Problem uploading to STM32F103C8T6 board

Post

by fredbox » Thu Apr 16, 2020 1:13 am

As mentioned elsewhere in this forum, most of these boards come with the flash write protected and have to be unlocked before general use. Is your led blinking with both jumpers set to 0? Also, the quality control on these boards is awful. You should buy at least 3 boards in hopes that one of them is usable. I don’t think I’ve ever gotten a shipment of 3 blue pill boards where all of them worked the first time. They have had unsoldered or broken traces or fake/mislabeled CPUs.

Every Black Pill board (the original, not the RobotDyn) I have ever ordered has worked without incident after unprotecting the flash.

Save yourself some frustration and order a better class of board. I’ve not yet used the RobotDyn board but they will be the next ones that I buy.

The bootloader simply allows uploading through the USB port without moving any jumpers. For uploading with a ST-Link device, you can leave both jumpers at 0. For uploading through a serial device, set boot0=1. Personally, I upload using the ST-Link clone 95% of the time with no bootloader installed.

For windows, you will want to use the ST-Flash loader/demonstrator program and a USB/Serial adapter connected PA9/PA10 to disable write protection, Once the CPU is unprotected, you can write the bootloader using the same method. That instructable looks mostly correct. Be aware that RX and TX labels on USB/Serial adapters are merely suggestions. I have some where TX connects to A10 and others that TX connects to A9.

Verify basic connectivity on the USB/Serial adapter by jumpering RX to TX. Open Putty and select the Com port. Type on your keyboard and you should see the results on the screen.

stas2z

Posts: 131
Joined: Mon Feb 24, 2020 8:17 pm

Answers: 8

Re: Problem uploading to STM32F103C8T6 board

Post

by stas2z » Thu Apr 16, 2020 8:17 am

Duco wrote: ↑Thu Apr 16, 2020 7:15 am(except if I buy one with the arduino bootloader preinstalled, right?).

Nope, you got it wrong.
First, the thing you have is not a programmer. It’s just a converter, from usb to serial ttl. Programmers are a bit different thing.
All mcus generally support in-chip programming, for atmega(arduino) it’s called isp (ICSP port on arduino, USBASP as an example of programming device), for stm32 it can be SWD or JTAG (ST-LINK V2 programmer for example)
But also devices may support flashing via serial, this became possible with special firmware, called bootloader, which start before your program and allow you to interrupt normal start and program your chip by serial (with your usb-ttl converter). For atmega/arduino — this bootloader shipped with boards preinstalled.
Stm32f103 have it’s own BUILT-IN system bootloader which supports serial flashing without special external bootloaders. It can be activated by pulling boot0 up before power on. After that internal bootloader accept flashing commands. Also, for extended functions (like flashing directly via usb, without converter) you can install stm32duino bootloader (implements DFU, direct firmware update) or HID bootloader (it own HID flashing api), it can be installed directly using st-link programmer or usb-ttl converter by calling _system_ bootloader.
For some other stm32 chips system bootloader can support USB DFU programming «from th box».

CH340 is chinese usb-ttl converter chip, it’s ok and probably will be better than fake ftdi chip you got. But i prefer cp2102 based devices for usb-ttl (like this one https://robotdyn.com/default/usb-ttl-se … usb-a.html )

no, it’s not a STM32, it’s a clone (not fake, but clone, and 100% compatibility is not guaranteed)

https://robotdyn.com/default/stm32-arm- … dered.html
this one will have original chip manufactured by ST Micro and will have arduino compatible bootloader (i assume stm32duino) preinstalled

Duco

Posts: 4
Joined: Wed Apr 15, 2020 5:55 pm

Re: Problem uploading to STM32F103C8T6 board

Post

by Duco » Thu Apr 16, 2020 2:45 pm

Ok, thanks for the reply.
I guess the lesson I learned from this was not to buy crappy components from crappy websites.
I’ll order new microcontrollers + converters (!) from robotdyne so my problem is solved in a way. Thanks again.

mrburnette

Posts: 633
Joined: Thu Dec 19, 2019 1:23 am

Answers: 7

Re: Problem uploading to STM32F103C8T6 board

Post

by mrburnette » Thu Apr 16, 2020 8:15 pm

stas2z wrote: ↑Thu Apr 16, 2020 8:17 am

no, it’s not a STM32, it’s a clone (not fake, but clone, and 100% compatibility is not guaranteed)

I have placed an order, will test with the IDE basic upload, generic sketches, serial, etc. At this time, I have not read any posts that suggest it will not work with the Arduino IDE using a DFU upload or serially using the built-in bootloader.

I have the same concerns regarding 100% comparability, only testing will tell. As the STM32F103 is over 10 years old, there is the possibility that STM has licensed any patents or proprietary technology. The ARM core for M3 designs is licensed out of the UK and those licenses likely include some bus and clocking specifications, too. So, one needs to only be concerned with internal glue logic, peripheral registers, I/O registers and drivers, and do forth. The Chinese foundries and engineering are clearly up to the task of building a higher-performing uC based on xxxF103 baseline.

Ray

PS: brief discussion of using the built-in bootloader:
https://github.com/rogerclarkmelbourne/ … 103-boards

PPS:
«Frustrating» is the concern over all these posts about faux STMF1xxx microcontrollers. I purchased a small supply of Maple Mini (Baite) boards in the»old» days of Roger’s forum and a while later a small supply of blue boards. I have never had a MapleMini clone to fail and about 1::10 blue boards require hot-air rework. All of this was in earlier forum days when I was active there.

FOR NEW USERS JUST STARTING OUT
Please consider purchasing from a supplier with known-good history. Chinese suppliers are numerous and come and go from the marketplace (AliExpress and eBay.) Read reviews and do not order simply on saving a small amount per board.

Вектора прерываний переносятся потому, что и бутлоадеру и основной прошивке как правило требуется работа с прерываниями, и необходимо выбирать какой код обработчика прерывания мы выполняем — код бутлоадера или код основной прошивки. Для этой цели у STMовского контроллера прерываний есть функция переноса таблицы векторов прерываний. При этом появляется возможность иметь отдельные наборы обработчиков прерываний для бутлоадера и для основной прошивки.

Конечно возможен вариант с одной таблицей векторов, и программным выбором какой обработчик использовать (устанавливаем флаг работает бутлоадер или основная прошивка, и по этому флагу делаем if в ветках которого расположены разные обработчики) — бутлоадера или основной прошивки (в зависимости от того что активно), но такой вариант замедляет реакцию системы на прерывания.

Вариант с переносом таблицы векторов удобней тем, что в памяти программ мы можем хранить несколько разных прошивок (естественно скомпилированных и линкованных для использования разных стартовых адресов), и на старте системы можем выбирать какой из прошивок отдавать управление. Сейчас как раз занимаюсь такой развлекухой)). Требуется шиться по CAN с оооочень низкой скоростью (порядок байтов в секунду), причем с огромной вероятностью разрывов на линии. При этом вероятность того, что устройство продолжит функционировать после неудачной перепрошивки, должна стремится к 100%.

У нас работают тысячи устройств имеющих загрузчик (правда на LPC). Обновление прошивки — по любому интерфейсу по рабочему протоколу, при внезапной перезагрузке ничего не слетит 100%, загрузка нового ПО может быть продолжена с точки разрыва. Сбой питания возможен в любой момент хоть при загрузке прошивки хоть при обновлении её во флеш. Никакие таблицы векторов переносить не надо — на время работы загрузчика прерывания запрещены, рабочее ПО при старте само настраивает таблицу прерываний.

ПО состоит из:

1. неизменяемой части (загрузчика) в первом секторе флеш, который прошивается изначально на заводе и при удалённой прошивке не может быть перешит;

2. собственно рабочего ПО (во флеш после загрузчика).

Вся флеш (за исключением первого сектора) делится на две половины: первая — область исполняемого рабочего ПО; вторая — область хранения нового ПО, которое надо прошить.

Рабочее ПО по любому интерфейсу (или по всем включая CAN и беспроводные) принимает прошивку по рабочему протоколу устройства среди прочего обмена данными не мешая основной работе устройства.

Приём идёт в ОЗУ (так как если шить сразу во вторую половину флеши контроллера, то надо запрещать прерывания надолго, а это помешает работе основной программы).

По завершении приёма и проверки валидности прошивки, новая прошивка переписывается во вторую половину флеш контроллера и во флеш выставляется флаг требования обновления прошивки,

после чего делается RESET процу.

Стартует загрузчик, который обнаружив флаг и проверив CRC прошивки во второй половине, перешивает прошивку из второй половины флеш в первую, далее — удаляет флаг и стартует рабочее ПО из первой

половины флеш. Если загрузчик флаг не обнаруживает — значит не надо обновлять прошивку и просто передаёт управление рабочему ПО в первую половину прошивки.

Вот такой алгоритм обеспечивает 100%-надёжное удалённое обновление прошивки в устройстве по рабочему протоколу, не боящееся неожиданных сбоев питания и с возможностью широковещательного

обновления ПО.

Если в устройстве есть внешняя энергонезависимая память (SPI-флеш к примеру), то можно обойтись без хранения принимаемой прошивки во второй половине флеш контроллера и хранить её в этой памяти.

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

Расположите с помощью компоновщика команду перехода на _c_int00 (точку входа в С-программу) с самого начала образа прошивки и передавайте управление на первый адрес прошивки.

Обработчики прерываний описываютсся одинаково везде.

Неправда :)

Понравилась статья? Поделить с друзьями:
  • Error dynamic symbol retrieval error win32 error 127
  • Error dynamic mapping still in use cannot remove
  • Error dynamic linking error win32 error 193
  • Error dx11 meta copy failed to create srv 0x887a0005
  • Error dx11 failed to create vertex input layout