Arduino в качестве USB-UART

sssyura
Offline
Зарегистрирован: 30.06.2015

Здравствуйте уважаемые форумчане!

Прошу помощи в таком вопросе:

Хочу запрограммировать плату stm32f103c8t6 с помощью ардуины, которая работает в режиме USB-UART переходника (источник). 

Для программирования использую Flash Loader Demo. При подключении ардуины с прицепленной stm32 через USB-hub удалось десяток раз залить прошивку в плату stm32. Делее при подключении хаба (даже без подключенной ардуины) виндовс выдает "устройство не опознано" (видимо спалил хаб).

При подключении ардуины с прицепленной stm32 на прямую к USB компьютера Flash Loader не видит плату stm32 (ардуина при этом определяется).

Как залить прошивку в плату stm32? В чем "волшебная сила" юсб хаба через который все работает, а на прямую нет?

Jeka_M
Jeka_M аватар
Offline
Зарегистрирован: 06.07.2014

sssyura пишет:

Как залить прошивку в плату stm32?

Я бы не мучал Ардуину и воспользовался хардварным USB-UART переходником. STM32 в режим бутлоадера (BOOT0 - 3V3, BOOT1 - GND) не забыли переключить? Flash Loader Demonstrator видит COM-порт? Настройки COM-порта не меняли?

sssyura
Offline
Зарегистрирован: 30.06.2015

Jeka_M, хардварного переходника под рукой нет, а ждать неохота. BOOT0 выставлен в 1, программа порт видит, но: при работе через юсб хаб все проходит отлично (прошивка заливается без проблем), а при работе на прямую от юсб порта Flash Loader выдает ошибку что не может запустить бутлоадер.

sssyura
Offline
Зарегистрирован: 30.06.2015

Хаб вот такой:

Подключал бы через него и дальше, но видимо он сгорел.

Jeka_M
Jeka_M аватар
Offline
Зарегистрирован: 06.07.2014

Странно всё это. Ну ладно хаб вышел из строя, но напрямую то должно работать. Х/з что у вас там с USB портами происходит... Может хаб и USB-порт попалил? В другой пробовали втыкать?

sssyura
Offline
Зарегистрирован: 30.06.2015

Jeka_M, в компе все порты рабочие (флешкой проверял), так же пробовал на нетбуке. Может хаб что то с сигналом делал?

Maverik
Offline
Зарегистрирован: 12.09.2012

есть хорошая шутка - "электроника - наука о контактах".  в данном случае, по большому счету возможны варианты

1) где-то не контачило

2) где-то была слишком малая напруга

3) где-то была слишком большая напруга

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

sssyura
Offline
Зарегистрирован: 30.06.2015

Maverik, Jeka_M, , спасибо за советы! После долгих испытаний так и не удалось подключить на прямую... где-то точно что-то не то(

Пока что удалось подключить хаб, все работает... когда из цепочки его удаляю опять не работает(

MacSim
Offline
Зарегистрирован: 28.11.2012

Можно и так, но зачем? Купи у китайцев Jtag программатор и будет тебе счастье. У него куча дополнительных возможностей.

ЗЫ: если с дуней не справился и простейшую пересылку не смог сделать, то рано тебе stm32 юзать

Jeka_M
Jeka_M аватар
Offline
Зарегистрирован: 06.07.2014

MacSim пишет:

Купи у китайцев Jtag программатор и будет тебе счастье. У него куча дополнительных возможностей.

Ему и st-link'а за 2-3$ достаточно будет.

sssyura
Offline
Зарегистрирован: 30.06.2015

MacSim, Jeka_M мне и USB-to-Serial за 1$ достаточно будет, но, во-первых от китайцев ждать месяц, во-вторых свободная ардуина нано уже есть. Вопрос же был не в этом. И с ардуиной все нормально прошивается, но почему-то только через хаб!

dimon1001
Offline
Зарегистрирован: 21.07.2018

почитай статью http://www.count-zero.ru/2017/bluepill/ там сказано что в соответствии с даташитом нужно на stm поменять резистор R10 с 10кОм на 1.5кОм и будет тебе счастье :)

b707
Онлайн
Зарегистрирован: 26.05.2017

dimon1001 пишет:

почитай статью http://www.count-zero.ru/2017/bluepill/ там сказано что в соответствии с даташитом нужно на stm поменять резистор R10 с 10кОм на 1.5кОм и будет тебе счастье :)

Во первых - смотрим на даты. А во-вторых, этот резистор здесь абсолютно не при чем.

Если б Вы немного больше шарили в вопросе, в который лезете советовать - знали бы, что USB на плате СТМ в процессе не участвует и менять резистор в нем бестолку.

mykaida
mykaida аватар
Offline
Зарегистрирован: 12.07.2018

Maverik пишет:

есть хорошая шутка - "электроника - наука о контактах".  в данном случае, по большому счету возможны варианты

1) где-то не контачило

2) где-то была слишком малая напруга

3) где-то была слишком большая напруга

4) Контачило, но не там где нужно

zero
Offline
Зарегистрирован: 02.09.2018

dimon1001 пишет:

почитай статью http://www.count-zero.ru/2017/bluepill/ там сказано что в соответствии с даташитом нужно на stm поменять резистор R10 с 10кОм на 1.5кОм и будет тебе счастье :)

Спасибо огромное! Благодаря вам решил проблему.

sssyura
Offline
Зарегистрирован: 30.06.2015

Раз уже тема ожила, спасибо всем огромное за помощь!

Сейчас прошиваю из arduinoIDE без каких-либо дополнительных  плат ардуин, ст-линков или замен резистора напрямую через USB порт на плате. Руководство в стаье https://habr.com/post/395577/

b707
Онлайн
Зарегистрирован: 26.05.2017

sssyura пишет:

Раз уже тема ожила, спасибо всем огромное за помощь!

Сейчас прошиваю из arduinoIDE без каких-либо дополнительных  плат ардуин, ст-линков или замен резистора напрямую через USB порт на плате. Руководство в стаье https://habr.com/post/395577/

прошиваете и слава богу. Хотя такое чувство. что вы либо уже забыли, в чем было дело, либо за 3 года не особо продвинулись в освоении СТМ32 :)... ибо ваше замечание совершенно не соответсвет заглавном у посту темы .