Posted on June 21, 2017 at 13:28
Have you used the PC comport with any other application prior to running
Flash Loader Demonstrator (since the last boot)? If so, did it use any form of handshaking (hardware or software)? There has been a problem with
Flash Loader Demonstrator in that it’s configuration of the DCB for no handshaking is (was?) incomplete. I reported this in another thread, but ST never commented andI don’t know if they corrected it or not. If this is the problem, a workaround is to open the comport with another application (possibly a terminal program such as TeraTerm) and configure it for no handshaking, then close that application, then runFlash Loader Demonstrator.
Note to ST: The incomplete DCB configuration for no handshaking (FlowControl == false … actually within an ‘else’) is in the file ‘rscpp’ in the functionCRS232::open(). There is more to it than just configuring fDtrControl and fRtsControl to FALSE (see my comments in
https://community.st.com/thread/34392-problems-with-stmflashloader-demo
for more details on the fix). After fixing, you should test by running a terminal program and configuring for hardware flow control, then close and run
Flash Loader Demonstrator. Then run the same test for software flow control. Another suggestion, display the version number from within the program on the first window prior to making the serial connection. I don’t think the software version is displayed anywhere within the program.
Форум РадиоКот • Просмотр темы — STM32F103C8T6, Maple Mini не коннектится к Flash Loaderу
Сообщения без ответов | Активные темы
ПРЯМО СЕЙЧАС: |
Автор | Сообщение | ||
---|---|---|---|
|
Заголовок сообщения: STM32F103C8T6, Maple Mini не коннектится к Flash Loaderу
|
||
Зарегистрирован: Вт июл 07, 2015 21:00:35 Рейтинг сообщения: 0
|
Добрый вечер, уважаемые. Вот купил сабж, сижу мучаю и не могу понять. Запускаю Flash Loader Demostrator Нажимаю «Next» и на этом все. Через несколько секунд пишет, что девайс не откликается. Светодиод питания на плате горит. Пробовал в качестве переходника USB-UART использовать ардуинку, результат тот же (Один раз моргает RX и тишина) Плата мертвая? Или еще как-то можно проверить? Когда жму ресет, то ничего не меняется, даже не моргает ничем. P.S. Плата для меня новая, прошу быть снисходительными |
||
Вернуться наверх |
Профиль
|
||
Реклама | |
|
|
Мурик |
Заголовок сообщения: Re: STM32F103C8T6, Maple Mini не коннектится к Flash Loaderу
|
||
Карма: 1 Рейтинг сообщения: 0
|
В статье это не Maple Mini. Наберите в поисковике «Maple Mini» и посмотрите картинки. ST-Link’а нет? Попробуйте поменять местами выводы RXD и TXD. Иногда помогает. Надеюсь прошивку пишите не в Arduino IDE? |
||
Вернуться наверх | |||
Реклама | |
|
|
bolek |
Заголовок сообщения: Re: STM32F103C8T6, Maple Mini не коннектится к Flash Loaderу
|
Карма: 6 Рейтинг сообщения: 0
|
Только что собрал схему на плате из статьи, в качестве USB-COM использовал несколько переделанный USB-RS485 на CH340. Я такими экспериментами пока еще ни одну плату не сжег. |
Вернуться наверх | |
aaleksander |
Заголовок сообщения: Re: STM32F103C8T6, Maple Mini не коннектится к Flash Loaderу
|
||
Зарегистрирован: Вт июл 07, 2015 21:00:35 Рейтинг сообщения: 0
|
В статье это не Maple Mini. Наберите в поисковике «Maple Mini» и посмотрите картинки. ST-Link’а нет? Попробуйте поменять местами выводы RXD и TXD. Иногда помогает. Надеюсь прошивку пишите не в Arduino IDE? Вот отсюда взял название. бум знать. ST-Linkа нет. Только USBASp RXD/TXD поменял, это в первую очередь Пока без разницы где писать прошивку, подключиться бы для начала. Мурик писал(а): Посмотри картинки: Попробовал твое подключение (питание через USB и без переключателя 3.3в), результат тот же. Есть подозрение, что я ее спалил, пока штырьки припаивал, но этож как надо паять! Вот еще интересность отсюда Вечером займусь. |
||
Вернуться наверх | |||
Реклама | |
|
|
bolek |
Заголовок сообщения: Re: STM32F103C8T6, Maple Mini не коннектится к Flash Loaderу
|
Карма: 6 Рейтинг сообщения: 0
|
aaleksander писал(а): Вот еще интересность отсюда Цитата: …Если вы получили плату с STM32F103, а программатор ее не видит, это означает, что китайцы защитили Флеш память микроконтроллера… Вечером займусь. Цитата из ссылки: Цитата: Чтобы снять блокировку, подключим UART переходник, будем программировать через него. Т.е. то, что ты собираешься попробовать, ты уже попробовал — подключил UART переходник и установил BOOT в нужное положение. Если выводы для подключения программатора (китайский ST-Link2, через который по ссылке шло программирование) задействованы в залитой в МК программе для других целей, тогда действительно STLink не увидит плату. |
Вернуться наверх | |
Реклама | |
|
|
Мурик |
Заголовок сообщения: Re: STM32F103C8T6, Maple Mini не коннектится к Flash Loaderу
|
||
Карма: 1 Рейтинг сообщения: 0
|
Не помешало бы проверить кнопку сброса на отсутствие КЗ. И поскольку производилась пайка платы, то нужно ее внимательно осмотреть. Возможно где-то припой образовал связь где не требуется или наоборот произошел обрыв где нужна связь. Какие-то детали могли сместится. |
||
Вернуться наверх | |||
bolek |
Заголовок сообщения: Re: STM32F103C8T6, Maple Mini не коннектится к Flash Loaderу
|
Карма: 6 Рейтинг сообщения: 0
|
aaleksander писал(а): Есть подозрение, что я ее спалил, пока штырьки припаивал, но этож как надо паять! Если только статикой убил, пайка вряд ли… |
Вернуться наверх | |
aaleksander |
Заголовок сообщения: Re: STM32F103C8T6, Maple Mini не коннектится к Flash Loaderу
|
||
Зарегистрирован: Вт июл 07, 2015 21:00:35 Рейтинг сообщения: 0
|
Если только статикой убил, пайка вряд ли… Ну да, я только гребенку припаял Какие советы можете дать на будущее по этому поводу? К батарее пристегиваться? Вроде не зима, чтобы электронику пальцем жечь? Вечером гляну, остались ли в магазине еще платы и программаторы, попробую без пайки подключиться. |
||
Вернуться наверх | |||
john1770 |
Заголовок сообщения: Re: STM32F103C8T6, Maple Mini не коннектится к Flash Loaderу
|
Зарегистрирован: Вт ноя 15, 2016 12:48:20 Рейтинг сообщения: 0
|
Скорость соединения попробуй уменьшить |
Вернуться наверх | |
Fusion |
Заголовок сообщения: Re: STM32F103C8T6, Maple Mini не коннектится к Flash Loaderу
|
||
Карма: 6 Рейтинг сообщения: 0
|
Без питания А9 и А10 не звонятся на землю. Полезные схемки: |
||
Вернуться наверх | |||
aaleksander |
Заголовок сообщения: Re: STM32F103C8T6, Maple Mini не коннектится к Flash Loaderу
|
||
Зарегистрирован: Вт июл 07, 2015 21:00:35 Рейтинг сообщения: 0
|
Без питания А9 и А10 не звонятся на землю. Спасибо. Но у меня, как на зло батарейка в авометре кончилась. Завтра вечером буду пробовать. |
||
Вернуться наверх | |||
aaleksander |
Заголовок сообщения: Re: STM32F103C8T6, Maple Mini не коннектится к Flash Loaderу
|
||
Зарегистрирован: Вт июл 07, 2015 21:00:35 Рейтинг сообщения: 0
|
Без питания А9 и А10 не звонятся на землю. При установленной перемычке BOOT0: А9 = 3.3В, А10 = 0.4В. При нажатии сброса А9 и А10 ноль. Заказал у китайцев еще пяток плат и ST Link V2. Ждемс. Ну и из чипстера одна платка уже выехала. Быстрее приедет. |
||
Вернуться наверх | |||
Мурик |
Заголовок сообщения: Re: STM32F103C8T6, Maple Mini не коннектится к Flash Loaderу
|
||
Карма: 1 Рейтинг сообщения: 0
|
Напряжение на А9 и А10 измеряли относительно 5 вольт или нуля? |
||
Вернуться наверх | |||
aaleksander |
Заголовок сообщения: Re: STM32F103C8T6, Maple Mini не коннектится к Flash Loaderу
|
||
Зарегистрирован: Вт июл 07, 2015 21:00:35 Рейтинг сообщения: 0
|
Напряжение на А9 и А10 измеряли относительно 5 вольт или нуля? Относительно земли. Питаю через пин «5В». У меня из USB вольт шесть выходит. Надо замерить еще раз. |
||
Вернуться наверх | |||
aaleksander |
Заголовок сообщения: Re: STM32F103C8T6, Maple Mini не коннектится к Flash Loaderу
|
||
Зарегистрирован: Вт июл 07, 2015 21:00:35 Рейтинг сообщения: 0
|
Порой наша почта удивляет. За неделю пришла посылка из чипстера. А в ней, помимо всяких ништяков, еще одна платка. Я вот думаю: может в паяльнике дело? У меня простой китайский кит и блок питания от ноута на 19В. Пока паяю, он и вышибает что понежнее. ХЗ, в чем дело. Буду дальше аврки мучать и ждать, пока от меня очередной пакет с китая доберется (там я сразу пять плат заказал, столько же чипов и ST Link до кучи). P.S. Ну, хватит о грустном. Ништячок из посылки. Простенький, а мне пока больше и не надо. |
||
Вернуться наверх | |||
Мурик |
Заголовок сообщения: Re: STM32F103C8T6, Maple Mini не коннектится к Flash Loaderу
|
||
Карма: 1 Рейтинг сообщения: 0
|
Не думаю что две платы просто так удалось вывести из строя паяльником. Или на жале присутствует фаза, а плата заземлена? |
||
Вернуться наверх | |||
12val12 |
Заголовок сообщения: Re: STM32F103C8T6, Maple Mini не коннектится к Flash Loaderу
|
Зарегистрирован: Пт янв 29, 2010 19:42:27 Рейтинг сообщения: 0
|
Как то можно прикрутить к Flash Loader Demostrator |
Вернуться наверх | |
aaleksander |
Заголовок сообщения: Re: STM32F103C8T6, Maple Mini не коннектится к Flash Loaderу
|
||
Зарегистрирован: Вт июл 07, 2015 21:00:35 Рейтинг сообщения: 0
|
Как то можно прикрутить к Flash Loader Demostrator 100 пудов должен быть консольный аналог. Под линукс точно есть, например, stm32flash . |
||
Вернуться наверх | |||
Мурик |
Заголовок сообщения: Re: STM32F103C8T6, Maple Mini не коннектится к Flash Loaderу
|
||
Карма: 1 Рейтинг сообщения: 0
|
Как то можно прикрутить к Flash Loader Demostrator батник /скрипт Он с исходниками. Можно доработать его. А лучше взять ST-Link. Для него есть консольная утилита ST-LINK CLI. |
||
Вернуться наверх | |||
aaleksander |
Заголовок сообщения: Re: STM32F103C8T6, Maple Mini не коннектится к Flash Loaderу
|
||
Зарегистрирован: Вт июл 07, 2015 21:00:35 Рейтинг сообщения: 0
|
Проверил свой переходник: Нашел на работе еще один переходник на том же чипе. |
||
Вернуться наверх | |||
Кто сейчас на форуме |
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 13 |
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения |
I am not able to get the ST Flash loader to recognize the STM32 on the MP32. I get the following error: «No response from taget, the Boot loader can not be started. Please, verify the boot mode configuration and the flash protection status …».
Settings-Config:
A) ST Flash Loader: 115200, 8, even, (echo disabled).
B) I am using an ftdi usb-232 converter with a 232 shifter smd at the end (http://www.sparkfun.com/products/449):
A picture of my configuration is at the bottom.
Regarding B, this seriel configuration is working when I connect to either of the usarts on the StmDiscovery board. In fact on the discovery board, with respect to usart#1, I am connecting to pins Pa9 & Pa10 (same as MP32).
I am noticing that when I press next on ST flash Loader I can see the Tx and Rx blip momentarily, and then the Rx led on the 232-ttl converter stays on slightly dim (until I press the reset button on the MP32).
When I power up the board with the «jumper» removed, JP11-5 is High and JP11-6 is low. I am not 100% sure, but I believe JP11-6 corresponds to the Boot_0 pin on the STM32.
I tried several different buad rates in Flash Loader, but didnt have any luck. Also, I tried all the above on my deskop (which has serial ports). I used the same level shifter at the end of the cable. In all the above I also tried switching the Rx and Tx going to the MP32 (in case I had them backworks)s. I even tried pressing the reset after powering the board up, before trying the use the Flash Loader.
The only thing I didn’t think of until now (editing post) is that on the Discovery Board I powered the 232=ttl convertor at 3.3. When connected to the MP32 it is being powered at 5. What level is the usart at?
Is there anything I overlooked?
Thanks,
JimT
Flash Loader Demonstrator STM32 Проблема с коннектом.
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже.
Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Один день плата проработала, после не стал подсоединяться компьютер к контроллеру.
Пробывал прошить через конфигуратор с закороченными контактами boot, не помогло не шьется. Диоды синий моргает, устройство в диспетчере оборудования появляется.
Ниже картинка обнаружил замыкание, хотя в этот порт не чего не подсоединялось ни когда.
Что могло вызвать такое?
P.S. добавил немного получше фото (извиняюсь в распоряжении только телефон, если поможет в диагностики, то смогу к другу сбегать за фотиком). Flash loader demonstrator тоже пробовал и на всех скоростях, пишет no response from the target the bootloader cannot be started.
Контроллер перестал работать, когда все провода разместил на раме, после решил подать питание на контроллер, для проверки (на столе все так и работало, без установки в раму) через IO_1, который в свою очередь запитан от приемника, а приемник от импульсного преобразователя на 5 В.
*1 Обнаружено темное пятно и характерный запах КЗ
*2 Если подать питание на контроллер от импульсного преобразователя (3 А), то там искрит
Пробовал подчистить аккуратно ножиком, на глаз КЗ там не должно быть, да откуда там ему взять если в этот порт не чего не подсоединялось.
You have to check in system bootloader address because it varies depending on MCU.
So check out this documentation from ST: in system bootloader guide from ST
As I see you are using wrong RAM address.
Part from bootloader cook book:
Moreover, there should be a trigger for entering to system bootloader. As I understand you are using software call method from your main application. This method is not reliable if BOOT pins of MCU are uncontrolled because if serial line or updating software fails you will loose main application and you will be unable to update device. Than you’ll need programmer.
So updating, overwriting software which has system bootloader call is unsafe updating method. I would suggest it only as a own usage update method.
To have safety you should control BOOT pins.
Or implement mini custom bootloader which could be triggered by button (to start main app) and before triggering that mini bootloader would stay quiet and let system bootloader update main app. Update can’t touch mini bootloader memory, this own customized bootloader should be untouched while update. But that is a suggestion.
Easer way to take control on update is to control BOOT pins.
For example:
put 3.3V or GND (depends on MCU) on BOOT pins with jumpers , set power and than device automatically will enter to system bootloader.
After update remove jumpers, and after power reset device will enter to your new update application.
That’s all.
If you do not have BOOT0, BOOT1 pins control from hardware. I strongly recommending you to check those pins control.
There is a guide from ST about BOOT pins: reference manual
Part of description from reference manual:
I am not able to get the ST Flash loader to recognize the STM32 on the MP32. I get the following error: «No response from taget, the Boot loader can not be started. Please, verify the boot mode configuration and the flash protection status …».
Settings-Config:
A) ST Flash Loader: 115200, 8, even, (echo disabled).
B) I am using an ftdi usb-232 converter with a 232 shifter smd at the end (http://www.sparkfun.com/products/449):
A picture of my configuration is at the bottom.
Regarding B, this seriel configuration is working when I connect to either of the usarts on the StmDiscovery board. In fact on the discovery board, with respect to usart#1, I am connecting to pins Pa9 & Pa10 (same as MP32).
I am noticing that when I press next on ST flash Loader I can see the Tx and Rx blip momentarily, and then the Rx led on the 232-ttl converter stays on slightly dim (until I press the reset button on the MP32).
When I power up the board with the «jumper» removed, JP11-5 is High and JP11-6 is low. I am not 100% sure, but I believe JP11-6 corresponds to the Boot_0 pin on the STM32.
I tried several different buad rates in Flash Loader, but didnt have any luck. Also, I tried all the above on my deskop (which has serial ports). I used the same level shifter at the end of the cable. In all the above I also tried switching the Rx and Tx going to the MP32 (in case I had them backworks)s. I even tried pressing the reset after powering the board up, before trying the use the Flash Loader.
The only thing I didn’t think of until now (editing post) is that on the Discovery Board I powered the 232=ttl convertor at 3.3. When connected to the MP32 it is being powered at 5. What level is the usart at?
Is there anything I overlooked?
Thanks,
JimT
I am designing a breakout board for the STM32F103RB, I have the UART1 pins out so I can use flash programming rather than JTAG, but I am having no luck with ST flash programmer it gives me different problem messages..
1) «Unrecognized device…please, reset your device then try again»
2) «No response from 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»
3) «Cannot get available commands, please, try to change echo selection, reset your device then try again»
Board:
====
I have a custom made board, which I confirm is working since I have the JTAG pins out as well and was able to connect and program it using Olimex ARM-USB-OCD + Eclipse
Connection:
=======
USB to serial FT232 —> Sparkfun logic level converter (3.3v/5v) —> STM32 UART pins
Settings:
======
Boot 0 = 1
Boot 1 = 0
Things I tried:
=========
1 — Set boot 0 & boot 1 to correct setting (As above) then quickly pressing next button on flash demonstrator
2 — Power up board, run flash demonstrator, pressing next
3 — Power up board, run flash demonstrator, press reset button, pressing next
Nothing of that works, for some reason the Flash demonstrator does not want to connect to the board
Appreciate your input on this…
Вектора прерываний переносятся потому, что и бутлоадеру и основной прошивке как правило требуется работа с прерываниями, и необходимо выбирать какой код обработчика прерывания мы выполняем — код бутлоадера или код основной прошивки. Для этой цели у STMовского контроллера прерываний есть функция переноса таблицы векторов прерываний. При этом появляется возможность иметь отдельные наборы обработчиков прерываний для бутлоадера и для основной прошивки.
Конечно возможен вариант с одной таблицей векторов, и программным выбором какой обработчик использовать (устанавливаем флаг работает бутлоадер или основная прошивка, и по этому флагу делаем if в ветках которого расположены разные обработчики) — бутлоадера или основной прошивки (в зависимости от того что активно), но такой вариант замедляет реакцию системы на прерывания.
Вариант с переносом таблицы векторов удобней тем, что в памяти программ мы можем хранить несколько разных прошивок (естественно скомпилированных и линкованных для использования разных стартовых адресов), и на старте системы можем выбирать какой из прошивок отдавать управление. Сейчас как раз занимаюсь такой развлекухой)). Требуется шиться по CAN с оооочень низкой скоростью (порядок байтов в секунду), причем с огромной вероятностью разрывов на линии. При этом вероятность того, что устройство продолжит функционировать после неудачной перепрошивки, должна стремится к 100%.
У нас работают тысячи устройств имеющих загрузчик (правда на LPC). Обновление прошивки — по любому интерфейсу по рабочему протоколу, при внезапной перезагрузке ничего не слетит 100%, загрузка нового ПО может быть продолжена с точки разрыва. Сбой питания возможен в любой момент хоть при загрузке прошивки хоть при обновлении её во флеш. Никакие таблицы векторов переносить не надо — на время работы загрузчика прерывания запрещены, рабочее ПО при старте само настраивает таблицу прерываний.
ПО состоит из:
1. неизменяемой части (загрузчика) в первом секторе флеш, который прошивается изначально на заводе и при удалённой прошивке не может быть перешит;
2. собственно рабочего ПО (во флеш после загрузчика).
Вся флеш (за исключением первого сектора) делится на две половины: первая — область исполняемого рабочего ПО; вторая — область хранения нового ПО, которое надо прошить.
Рабочее ПО по любому интерфейсу (или по всем включая CAN и беспроводные) принимает прошивку по рабочему протоколу устройства среди прочего обмена данными не мешая основной работе устройства.
Приём идёт в ОЗУ (так как если шить сразу во вторую половину флеши контроллера, то надо запрещать прерывания надолго, а это помешает работе основной программы).
По завершении приёма и проверки валидности прошивки, новая прошивка переписывается во вторую половину флеш контроллера и во флеш выставляется флаг требования обновления прошивки,
после чего делается RESET процу.
Стартует загрузчик, который обнаружив флаг и проверив CRC прошивки во второй половине, перешивает прошивку из второй половины флеш в первую, далее — удаляет флаг и стартует рабочее ПО из первой
половины флеш. Если загрузчик флаг не обнаруживает — значит не надо обновлять прошивку и просто передаёт управление рабочему ПО в первую половину прошивки.
Вот такой алгоритм обеспечивает 100%-надёжное удалённое обновление прошивки в устройстве по рабочему протоколу, не боящееся неожиданных сбоев питания и с возможностью широковещательного
обновления ПО.
Если в устройстве есть внешняя энергонезависимая память (SPI-флеш к примеру), то можно обойтись без хранения принимаемой прошивки во второй половине флеш контроллера и хранить её в этой памяти.
Вероятно, можно и не переносить, но мне пока в голову не приходит, как организовать тогда взаимодействие загрузчика и основной программы.
Расположите с помощью компоновщика команду перехода на _c_int00 (точку входа в С-программу) с самого начала образа прошивки и передавайте управление на первый адрес прошивки.
Обработчики прерываний описываютсся одинаково везде.
Неправда