Arduini-ide & Plue Pill без USB

Огогон
Пн 27 августа 2018 г., 2:13
Приветствия, коллеги!

Скажите, как мне сделать самую правильную конфигурацию для моей задачи?

Я хочу научиться программировать порт USB на низком уровне, поэтому я не могу использовать его для загрузки программ.
Насколько я понимаю, у меня есть несколько вариантов, и я хочу выбрать наиболее удобные.
  • Очевидно, я могу загрузить программу через внутренний загрузчик BP. Скорее всего, это потребует какого-то аппаратного дополнения, для подачи сброса и переключения Boot0.
  • Также уверен, что я могу использовать SWD. Но как подходящие адаптеры поддерживаются Arduino-ide, и будут ли они работать в автоматическом режиме?
  • Вероятно, все еще можно установить в BP -загрузчик из Arduino, предназначенный для последовательного порта.
Тем не менее, было бы желательно наблюдать некоторые условия.
  • Я хочу, чтобы серийный порт сохранил способность быть консоли отладки-монитора. У досок Arduino на процессорах Mega Series нет этих проблем.
  • Я не хочу переходить от моего любимого Mac на другую платформу.
Прошу прощения, если я хочу много непристойно.

Огогон.

Mrburnette
Пн 27 августа 2018 г., 2:35
Вики должна быть вашим первым местом:
http: // wiki.STM32duino.com/index.PHP?title = blue_pill

Годы SGO, я обнаружил, что USB-информации о низком уровне: https: // www.Обдев.at/products/vusb/links.HTML
Тем не менее, один из наших членов сделал HID LIB внедрение... Проверьте это:
http: // stm32duino.com/viewtopic.PHP?t = 2926

USB не невероятно труд, но это несколько сложно. Если вы разочаровытесь в противоречивой информации или отсутствию информации Enen, то USB может быть чем -то, что можно отложить, пока вам не будет удобнее с STM32FXXX.

Луча

Огогон
Пн 27 августа 2018 г., 18:56
[Mrburnette - Пн 27 августа 2018 г., 2:35] - Вики должна быть вашим первым местом:
http: // wiki.STM32duino.com/index.PHP?title = blue_pill
Спасибо!
Я посмотрел на этот ресурс, но там описан только третий вариант из моего вопроса. Установка загрузчика из Arduino.
Может быть, я ошибаюсь в том, что хочу выбрать первый метод, но мне кажется более элегантным. Тем не менее, используется готовый процессорный погрузчик, его собственный.
С ним что -то не так? Arduino-ide не может быть адаптирована к нему?

Честно говоря, я не искал ответ на этот вопрос. Но все же, возможно ли настроить IDE, чтобы для конкретной платы или подмножества платы он меняет режим открытия последовательного порта? На другом выставленном на нем аппаратные сигналы (RTS, DTR)? Выполнить указанную задержку?

Один китайский парень опубликовал статью с простым и четким именем - 关于 CH340 在 STM32 实现 键 键 下载 电路 的 研究 研究.
В нем он дает свою версию близкой лагологической работы электронного цепи.

Изображение

Я не совсем понял, почему излучатель транзистора Q2 не подключен к земле.
Но остальная часть принципа ясна - RTS превращает процессор в режим программирования, DTR - какой -то странный сброс, без них - просто COM -порт.
Я считаю, что вместо Q3 вы можете поставить цифровой транзистор. Очевидно, что вместо Q2 может применить решение классического Arduino с помощью конденсатора.

И тогда это остается настройка IDE.

Огогон.

Mrburnette
Пн 27 августа 2018 г., 20:07
Обычно я хорошо темно-модератор, но нет никакого оправдания для того, чтобы не использовать поиск перед публикацией.

Благодаря уборке, я думаю, эти два поста предоставят некоторое количество прошлых дискуссий;

ViewTopic.PHP?t = 780

ViewTopic.PHP?f = 16&t = 3524

Различные методологии загрузки, как правило, объясняются здесь:

http: // wiki.STM32duino.com/index.PHP?тип ... g_a_sketch

Пожалуйста, не делайте трудную загрузку звука - это не. Выберите, что работает для вас, оставайтесь с тем, что работает.


Луча

Огогон
Пн 27 августа 2018 г., 22:35
[Mrburnette - Пн 27 августа 2018 г. 20:07] - Пожалуйста, не делайте трудную загрузку звука - это не. Выберите, что работает для вас, оставайтесь с тем, что работает.
Я прошу простить меня, но в школе, технической школе и институте я изучаю традиционный английский. Как вы говорите - английский английский. И в любом случае я не могу полностью понять.
Поэтому, к сожалению, я не понял смысла этого замечания.

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

Огогон.

Mrburnette
Пн 27 августа 2018 г., 22:50
[Огогон - Пн 27 августа 2018 г. 22:35] -
[Mrburnette - Пн 27 августа 2018 г. 20:07] - Пожалуйста, не делайте трудную загрузку звука - это не. Выберите, что работает для вас, оставайтесь с тем, что работает.
Я прошу простить меня, но в школе, технической школе и институте я изучаю традиционный английский. Как вы говорите - английский английский. И в любом случае я не могу полностью понять.
Поэтому, к сожалению, я не понял смысла этого замечания.

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

Огогон.
Без проблем. ..

"Пожалуйста, не делайте загрузку сложно - это не."Перевести на"... Трудно, если ты сделаешь это так..."

"Выберите, что работает для вас, оставайтесь с тем, что работает. Переводится на "... Существует несколько вариантов загрузки, но не все варианты могут работать в вашей ситуации. Когда кто -то обнаруживает метод загрузки, который работает все время, хорошо использовать этот метод все время и не расстраиваться в дальнейшем поиске.

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

Удачи,

Луча

Flyboy74
Вторник 28 августа 2018 г., 6:22
Я думаю, я понимаю, что ты спрашиваешь.

вы хотите загрузить свою программу через нет USB ???

Вы можете загрузить свой uart serail на Pins PA9 и PA10, но вам понадобится внешний сериал с USB -преобразователем что -то вроде этого https: // www.aliexpress.com/оптом?калифорнийский ... Ial+до+usb

Вот видео на YouTube при настройке Ardunio IDE https: // www.YouTube.com/watch?v = mleqk73zjou&t = 244 с

Вы также можете загружать программы через SWD, но Ardunio не использует эту опцию и возможно только с помощью различных IDE, кроме Ardunio.

Хобби
Вторник 28 августа 2018 г. 8:05 утра
@ogogon
"Я не совсем понял, почему излучатель транзистора Q2 не связан с землей."

Это для того, чтобы сброс был запускается только тогда, когда Boot0.

Огогон
Ср 29 августа 2018 г. 15:02
[Хобби - Вторник 28 августа 2018 г. 8:05] - @ogogon
"Я не совсем понял, почему излучатель транзистора Q2 не связан с землей."

Это для того, чтобы сброс был запускается только тогда, когда Boot0.
Прошу прощения, но в этом случае я не понимаю глубину и величие этой идеи.

Из моей практики следует, что BP не сразу отвечает на переключение Jumpers bootx. Для этого вам нужно дать сигнал сброса, а затем будет принята текущая установка прыгунов.

Если сброс будет проходить только в одном из позиций Jumper Boot0, то BP никогда не сможет выйти из этого состояния?

Или я ничего не понимаю, или это не решение проблемы.

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

Огогон.

Огогон
Ср 29 августа 2018 г. 15:54
[Flyboy74 - Вторник 28 августа 2018 г. 6:22] - Я думаю, я понимаю, что ты спрашиваешь.

вы хотите загрузить свою программу через нет USB ???

Вы можете загрузить свой uart serail на Pins PA9 и PA10, но вам понадобится внешний сериал с USB -преобразователем что -то вроде этого https: // www.aliexpress.com/оптом?калифорнийский ... Ial+до+usb

Вот видео на YouTube при настройке Ardunio IDE https: // www.YouTube.com/watch?v = mleqk73zjou&t = 244 с

Вы также можете загружать программы через SWD, но Ardunio не использует эту опцию и возможно только с помощью различных IDE, кроме Ardunio.
Спасибо!

Это серийный адаптер TTL, который я использую.

Ссылка на видео была полезна для меня. Он точно демонстрирует схему, которую я хотел реализовать - используя собственный загрузчик BP.
Но все же, в нем есть одно несовершенство - переключение выполняется не автоматически, но вручную.

Я полагаю, что необходимо сделать определенный универтатор, который будет запускаться с передней части и распада сигнала, который переключает Boot0.
Выход универтатора будет тянуть на землю сброс сигнала (или строго говоря, не разрешается). Конец импульса Univibrator будет обрабатывать начало с новыми параметрами.

Огогон.

Flyboy74
Ср 29 августа 2018 г., 21:04
Я полагаю, что необходимо сделать определенный универтатор, который будет запускаться с передней части и распада сигнала, который переключает Boot0.
Выход универтатора будет тянуть на землю сброс сигнала (или строго говоря, не разрешается). Конец импульса Univibrator будет обрабатывать начало с новыми параметрами.
Да вполне возможно. Я не знаю цепи, используемой для синей таблетки, но ESP использует эту схему для автоматического выбора загрузки
ESP32.png
ESP32.PNG (11.78 киб) просмотрено 205 раз

Flyboy74
Ср 29 августа 2018 г., 21:52
Я также не считаю, что вручную эксплуатируют джампер для ботинок, чтобы быть большим хлопотом, так как я двигаю только после завершения разработки.

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

Другой вариант, который еще лучше состоит в том, чтобы использовать PIN -код SWD для загрузки, поскольку он может сбросить и выбрать загрузку, а также запустить OCD (на отладчике чипа), но Ardunio IDE не поддерживает это, и вам нужно будет перейти на другой IDE (это то, что я сделал), я сейчас использую систему.

Mrburnette
Ср 29 августа 2018 г. 22:03
[Flyboy74 - Ср 29 августа 2018 г., 21:52] - <•••>
Другой вариант, который еще лучше состоит в том, чтобы использовать PIN -код SWD для загрузки, поскольку он может сбросить и выбрать загрузку, а также запустить OCD (на отладчике чипа), но Ardunio IDE не поддерживает это, и вам нужно будет перейти на другой IDE (это то, что я сделал), я сейчас использую систему.
... что все в порядке & Ну, кроме того, что вы сейчас не поддерживаются на форуме для проблем IDE, сброса, проблем IDE и использования, METC.. Для тех, как вы, самодостаточные, тогда ваш путь может иметь смысл. Для других участников это может означать проблемы. Не то, что не впечатляет такую ​​среду, но я и другие модераторы будут признательны.

Луча

Flyboy74
Четверг 30 августа 2018 г. 10:11
[Mrburnette - Ср 29 августа 2018 г. 22:03] -
[Flyboy74 - Ср 29 августа 2018 г., 21:52] - <•••>
Другой вариант, который еще лучше состоит в том, чтобы использовать PIN -код SWD для загрузки, поскольку он может сбросить и выбрать загрузку, а также запустить OCD (на отладчике чипа), но Ardunio IDE не поддерживает это, и вам нужно будет перейти на другой IDE (это то, что я сделал), я сейчас использую систему.
... что все в порядке & Ну, кроме того, что вы сейчас не поддерживаются на форуме для проблем IDE, сброса, проблем IDE и использования, METC.. Для тех, как вы, самодостаточные, тогда ваш путь может иметь смысл. Для других участников это может означать проблемы. Не то, что не впечатляет такую ​​среду, но я и другие модераторы будут признательны.

Луча
Хорошо, я должен сказать это по -другому Другой вариант, который еще лучше - использовать PIN -код SWD может быть Другой вариант - использовать PIN -код SWD И, конечно, это означает, что вы не можете использовать ни одну из библиотек более высокого уровня Arduino, просто стандартный низкий уровень C

Огогон
Солнце 02 сентября 2018 22:34
Я благодарю всех, кто считается возможным ответить на мой вопрос.
Я считаю, что у меня уже есть понимание этого аспекта в значительной степени.

Огогон.