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):
And this is my circuit:
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
Loading
Форум РадиоКот • Просмотр темы — STM32 перестали работать в CubIDE
Сообщения без ответов | Активные темы
ПРЯМО СЕЙЧАС: |
Автор | Сообщение |
---|---|
|
Заголовок сообщения: STM32 перестали работать в CubIDE Добавлено: Ср авг 10, 2022 22:44:43 |
Нашел транзистор. Понюхал.
Зарегистрирован: Чт апр 08, 2021 09:46:48 Рейтинг сообщения: 0
|
Всем привет! Ребята, кричу HELP. Возникла проблема, с которой уже неделю сижу, никак не могу решить ее, что я только не делал. В общем, купил я года так 3-4 назад stm32f103c8c6 у одного чувака, взял новый, но он их тоже с алиэкпресс, помойму, скупает. Вложение:
«Error in final launch sequence: Failed to start GDB server Но через утилиту «STM32 ST-LINK Utility» они все прошиваются! Без проблем! Программатор ST-LINK V2 (китайский). Проблема скорее всего не внем, ведь первый микроконтроллер прошивается же. В утилите он тоже конектится: Вложение:
Мои настройки: Вложение:
Вложение:
Как я пытался решить эту проблему: 2) Делал «Firmware update» через утилиту «STM32 ST-LINK Utility» 3) В файле «stm32f1x.cfg» изменял «0x1ba01477» на «0x2ba01477» Вложение:
4) Менял настройки на «ST-LINK(Open OCD)» https://disk.yandex.ru/i/-bTJeWabcyBcUQ Я уже теряюсь в догадках, не знаю что и делать. Закупил 10 штук таких STM32, неужели мне их придется выкидывать, и забыть про эти бюджетные варинты и работать только с дорогими оригиналами? Кто сталкивался с этим подскажите пожалуйста!!! |
Вернуться наверх |
Профиль
|
Реклама | |
|
|
ART_ME
|
Заголовок сообщения: Re: STM32 перестали работать в CubIDE Добавлено: Чт авг 11, 2022 05:04:03 |
||
Карма: -22 Рейтинг сообщения: 0
|
А что мешает сделать очевидное — попробовать поработать с этими же МК в другом IDE? |
||
Вернуться наверх | |||
Реклама | |
|
|
maksimdag0
|
Заголовок сообщения: Re: STM32 перестали работать в CubIDE Добавлено: Чт авг 11, 2022 08:06:32 |
Нашел транзистор. Понюхал.
Зарегистрирован: Чт апр 08, 2021 09:46:48 Рейтинг сообщения: 0
|
ART_ME писал(а): А что мешает сделать очевидное — попробовать поработать с этими же МК в другом IDE? Мне cubide по душе да и она бесплатная, ещё keil по душе но у неё ограничение имеется. |
Вернуться наверх | |
4airy
|
Заголовок сообщения: Re: STM32 перестали работать в CubIDE Добавлено: Чт авг 11, 2022 08:35:28 |
||
Зарегистрирован: Вс июл 24, 2022 11:42:22 Рейтинг сообщения: 0
|
Добрый день. UPD: |
||
Вернуться наверх | |||
Реклама | |
|
Выгодные LED-драйверы для решения любых задач КОМПЭЛ представляет со склада и под заказ широкий выбор LED-драйверов производства MEAN WELL, MOSO, Snappy, Inventronics, EagleRise. Линейки LED-драйверов этих компаний, выполненные по технологии Tunable White и имеющие возможность непосредственного встраивания в систему умного дома (димминг по шине KNX), перекрывают практически полный спектр применений: от простых световых указателей и декоративной подсветки до диммируемых по различным протоколам светильников внутреннего и наружного освещения. Подобрать LED-драйвер>> |
ART_ME
|
Заголовок сообщения: Re: STM32 перестали работать в CubIDE Добавлено: Чт авг 11, 2022 11:17:47 |
||
Карма: -22 Рейтинг сообщения: 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 Рейтинг сообщения: 0
|
4airy писал(а): Добрый день. UPD: Добрый вечер! Выполнил все как написали, к сожалению все та же ошибка вылезает. Не понимаю в чем может быть причина?! Я где прочел, что было такое, заказали как-то партию stm и они тоже все не прошивались Добавлено after 35 seconds: ART_ME писал(а): А что мешает сделать очевидное — попробовать поработать с этими же МК в другом IDE? Мне cubide по душе да и она бесплатная, ещё keil по душе но у неё ограничение имеется. А разве я предлагал Вам перейти на другой IDE? Мне бы проблему решить |
Вернуться наверх | |
Мурик
|
Заголовок сообщения: Re: STM32 перестали работать в CubIDE Добавлено: Чт авг 11, 2022 21:59:02 |
||
Карма: 1 Рейтинг сообщения: 0
|
maksimdag0 писал(а): Мне бы проблему решить Выясните в чем она. А для этого проверьте в другой IDE чтобы понять дело в отладчике или МК, или же в IDE. |
||
Вернуться наверх | |||
Asmodey
|
Заголовок сообщения: Re: STM32 перестали работать в CubIDE Добавлено: Чт авг 11, 2022 22:46:26 |
||
Карма: 13 Рейтинг сообщения: 0
|
В любой непонятной ситуации давите ресет. |
||
Вернуться наверх | |||
4airy
|
Заголовок сообщения: Re: STM32 перестали работать в CubIDE Добавлено: Пт авг 12, 2022 12:53:35 |
||
Зарегистрирован: Вс июл 24, 2022 11:42:22 Рейтинг сообщения: 0
|
Добрый вечер! Выполнил все как написали, к сожалению все та же ошибка вылезает. Не понимаю в чем может быть причина?! Я где прочел, что было такое, заказали как-то партию stm и они тоже все не прошивались А пробовали стереть чип с помощью ST-LINK Utils, а потом его пробовать прошить через CubeIDE? И желательно конечно использовать связку «Connect under reset» и подключенный пин Reset. |
||
Вернуться наверх | |||
maksimdag0
|
Заголовок сообщения: Re: STM32 перестали работать в CubIDE Добавлено: Пт авг 12, 2022 22:54:37 |
Нашел транзистор. Понюхал.
Зарегистрирован: Чт апр 08, 2021 09:46:48 Рейтинг сообщения: 0
|
4airy писал(а): Добрый вечер! Выполнил все как написали, к сожалению все та же ошибка вылезает. Не понимаю в чем может быть причина?! Я где прочел, что было такое, заказали как-то партию stm и они тоже все не прошивались А пробовали стереть чип с помощью ST-LINK Utils, а потом его пробовать прошить через CubeIDE? И желательно конечно использовать связку «Connect under reset» и подключенный пин Reset. Пробовал, без толку Добавлено after 1 minute 33 seconds: maksimdag0 писал(а): Мне бы проблему решить Выясните в чем она. А для этого проверьте в другой IDE чтобы понять дело в отладчике или МК, или же в IDE. Сейчас этим занимаюсь,возникли проблемы со скачивания крякнутого keil. Не на том я сайте похоже скачиваю. Есть у кого достоверный сайт? |
Вернуться наверх | |
MLX90640
|
Заголовок сообщения: Re: STM32 перестали работать в CubIDE Добавлено: Пт авг 12, 2022 23:39:00 |
||
Карма: 2 Рейтинг сообщения: 0
|
Скачайте Atollic версии 9.3, он так же бесплатен и был донором для CubeIDE, а ныне прекратил дальнейшее развитие. |
||
Вернуться наверх | |||
Asmodey
|
Заголовок сообщения: Re: STM32 перестали работать в CubIDE Добавлено: Сб авг 13, 2022 00:43:09 |
||
Карма: 13 Рейтинг сообщения: 0
|
Кнопку reset прикрутите и давите ее попеременно с попытками прошить/стереть или прямо во время попыток. Или начинайте прошивать с нажатой кнопкой потом отпускайте. И вообще по всякому. Полученные результаты (даже отрицательные) станут дополнительной пищей для размышлений. |
||
Вернуться наверх | |||
HardWareMan
|
Заголовок сообщения: Re: STM32 перестали работать в CubIDE Добавлено: Сб авг 13, 2022 07:41:55 |
||
Зарегистрирован: Ср сен 02, 2015 07:47:20 Рейтинг сообщения: 0
|
Кнопку reset прикрутите и давите ее попеременно с попытками прошить/стереть или прямо во время попыток. Или начинайте прошивать с нажатой кнопкой потом отпускайте. И вообще по всякому. Полученные результаты (даже отрицательные) станут дополнительной пищей для размышлений. Так ведь есть же выход сброса у SWD программатора. Подключить его тоже и включить «connect under reset». Что касается непонятного поведения контроллера с Алишечки даже если пытаешься просто помигать светодиодом скажу так: там они все БУ. Найти новый и до пандемии было сложно, а сейчас просто невозможно. У многих из них опции прописаны и в них часто включён сторожевой пёс. Именно такая проблема была чаще всего: если твой контроллер начинает «чудить» особенно со временем — напиши простенькую программку, которая приведёт его опции в исходный заводской вид. Из полусотни контроллеров с Алишечки, что прошли мимо меня, мне пришлось обнулять примерно 2/3. Напомню, что программатором стереть опции нельзя, только ядро может их крутить. Ну и не залочте там случайно RDP. |
||
Вернуться наверх | |||
MLX90640
|
Заголовок сообщения: Re: STM32 перестали работать в CubIDE Добавлено: Сб авг 13, 2022 09:25:29 |
||
Карма: 2 Рейтинг сообщения: 0
|
Чой-то нельзя? Всё можно через утилиту ST-Link, полный контроль: Включенный аппаратный вачдог будет сбрасывать микроконтроллер при работе приблизительно через каждые (если память не изменяет) 3 секунды. И отключить его можно только через биты опций. Лучше всего это делать через утилиту ST-Link, потому что программно можно напортачить до блокировки микроконтроллера. Хорошо, что у F1 серии блокировка только первого уровня, не полный «кирпич». У F1 рид-аут протекшн лечится просто снятием защиты через утилиту ст-линк, при этом прошивка будет стерта. А вот у более современных серий есть уже вариант Level-2, там уже — полный кирпич. |
||
Вернуться наверх | |||
Мурик
|
Заголовок сообщения: Re: STM32 перестали работать в CubIDE Добавлено: Сб авг 13, 2022 20:38:42 |
||
Карма: 1 Рейтинг сообщения: 0
|
|||
Вернуться наверх | |||
maksimdag0
|
Заголовок сообщения: Re: STM32 перестали работать в CubIDE Добавлено: Вс авг 14, 2022 12:25:18 |
Нашел транзистор. Понюхал.
Зарегистрирован: Чт апр 08, 2021 09:46:48 Рейтинг сообщения: 0
|
HardWareMan писал(а): включить «connect under reset» Asmodey писал(а): Скачайте Atollic версии 9.3 Всем доброго дня! Не отвечал, потом что решал эту проблему, и решил ответить уже с результатом. Перепробовал все что вы предложили, все равно без результатно. Вывел с st-link reset и пытался подключиться с ним! Скачал Atollic, но тоже такая же ошибка. Сейчас установился keil (с официального сайта), хочу проверить на нем, и уже тогда будет 100% ясно в МК проблема или в IDE. Сгенерировал код с Cubmx, открываю проект в keil, компилю, а оно не компилится, вылезал такой текст: «Build started: Project: HTT_EM Решил эту проблему, изменив в настройках установку компилятора на “V6.18”: Вложение:
После этого у меня вылезла новая ошибка: Вложение:
«Build started: Project: Test_project Долго над ней сидел, но так и не получилось ее решить. Из-за чего это ошибка, подскажите, знатоки? Настройки CubMX: Вложение:
Пробовал выбирать различные версии, но ошибка не исчезала. Для удобства все описал в документе Word: Последний раз редактировалось maksimdag0 Вс авг 14, 2022 12:35:36, всего редактировалось 1 раз. |
Вернуться наверх | |
VladislavS
|
Заголовок сообщения: Re: STM32 перестали работать в CubIDE Добавлено: Вс авг 14, 2022 12:34:51 |
||
Карма: 13 Рейтинг сообщения: 0
|
Проект в директории с русскими буквами? Хотя, keil, вроде бы, этим не болел раньше. |
||
Вернуться наверх | |||
maksimdag0
|
Заголовок сообщения: Re: STM32 перестали работать в CubIDE Добавлено: Вс авг 14, 2022 12:39:48 |
Нашел транзистор. Понюхал.
Зарегистрирован: Чт апр 08, 2021 09:46:48 Рейтинг сообщения: 0
|
Проект в директории с русскими буквами? Хотя, keil, вроде бы, этим не болел раньше. Сам путь к проекту без кириллицы, но название моего компьютера С кириллицей «Максим» (см. фото). |
Вернуться наверх | |
MLX90640
|
Заголовок сообщения: Re: STM32 перестали работать в CubIDE Добавлено: Вс авг 14, 2022 12:52:24 |
||
Карма: 2 Рейтинг сообщения: 0
|
Хотя, у меня, например, имя пользователя — тоже русскими буквами, но проблем с работой не было. А к целевому микроконтроллеру через утилиту ST-Link удается подключиться? Если да, то выберите Target->Option Bytes и посмотрите, что там есть (как в приведенном мною выше скрине). Добавлено after 6 minutes 38 seconds: |
||
Вернуться наверх | |||
maksimdag0
|
Заголовок сообщения: Re: STM32 перестали работать в CubIDE Добавлено: Вс авг 14, 2022 18:10:12 |
Нашел транзистор. Понюхал.
Зарегистрирован: Чт апр 08, 2021 09:46:48 Рейтинг сообщения: 0
|
maksimdag0 писал(а): откройте Target->Option Bytes и посмотрите, какие там галочки установлены или сброшены Вот: Вложение:
Кстати, да. В 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 (точку входа в С-программу) с самого начала образа прошивки и передавайте управление на первый адрес прошивки.
Обработчики прерываний описываютсся одинаково везде.
Неправда