Что если мы сделаем пользовательский программист для STM32, используя AVR Arduino?

Luc_exe
Вторник 5 мая 2015 г., 8:41 вечера
Я уверен, что многие из вас думали об этом раньше, но я не видел его опубликовано (но я должен прочитать ветку совета по сообществу, он мог быть опубликован там как предложение).

Что ж, Arduinos можно использовать для программирования других Arduinos. Когда вы загружаете правильную прошивку, вы даже можете найти Fundwares для программирования других устройств (в примере проект «JTAG Whisperer» использует Arduino в качестве игрока XSVF для программирования некоторых устройств Xilinx)).

Имея в виду ту же идею, но (я думаю) менее сложная, чем эмулирование JTAG, мы могли бы запрограммировать общую плату STM32, не связываясь с прыгунами загрузки или кнопкой сброса (которой может управляться прошивка в Avr Arduino) и Использование аппаратного обеспечения у вас уже было уже.

Если я получу это правильно, когда вы составляете эскиз и загружаете его в AVR Arduino с помощью встроенного USB -чипа TTL (простой COM -порт для SO), на этом чипе запускается управляющий сигнал, позволяющий сбросить MCU или или или или или или или или или или или или или или или или или или или или или или или или или или или или или или или или или или или или или или или или или или или или или или или или или или или или или или или или Поместите его в режим программы (не уверен, что только сброс и загрузчик работает с синхронизацией или другим сигналом). Таким образом, в скрипте загрузки должен быть полезный флаг, чтобы отличаться между нормальным последовательным коммуникацией и программированием.

Если прошивка на AVR Arduino может обнаружить и использовать этот флаг для привязки Boot0 до высокого уровня, а затем отправить короткий импульс для сброса, чтобы STM32 вводил в режим программы, используя встроенный последовательный загрузчик, загрузите программу, используя простую последовательность, ANS Когда загрузка поверните назад BOOK BOOT0, и отправьте еще один короткий импульс для сброса, чтобы поместить STM32 обратно в режим нормальной работы.

Таким образом, мы бы не связывались с изменением прыгунов, сбросом MCU или прикреплением/отделением программиста. Действительно раздражает, чтобы делать это, когда мы исправим только маленькие кусочки кода и хотим быстро попробовать результат.

Основными преимуществами могут быть:
  1. не нужно связываться с прыгунами ботинок
  2. Не нужно связываться с кнопкой сброса
  3. Используйте аппаратное обеспечение, которое у вас уже есть
  4. Не нужно отсоединить/прикрепить программиста после каждой загрузки
Разрушения:
  1. Нужна адаптация уровня напряжения
  2. способен только на базовую отладку, используя тот же сериал
  3. Может потребоваться другой источник питания для MCU, по крайней мере, для режима работы
Для меня это выглядит хорошо даже с рассеяниями. Может быть, кто -то с Stlink v2 (клон или нет) может помочь мне сделать таблицу сравнения между 3 вариантами, так как сейчас у меня есть только доступ, чтобы попробовать USB к серийному TLL.

Рик Кимбалл
Вторник 5 мая 2015 г., 8:46 вечера
Когда вы используете программист Stlink, вы получаете все эти преимущества.

Мадиас
Вторник 5 мая 2015 г., 21:31
Хорошо, Рик был быстрее, это была также моя первая мысль: клоны ST-Link составляют около 3 долларов США, поэтому нет необходимости в пайке что-то.

Luc_exe
Вторник 5 мая 2015 г., 22:47
Рик Кимбалл написал:Когда вы используете программист Stlink, вы получаете все эти преимущества.

Рик Кимбалл
Вторник 5 мая 2015 г. 22:56
Luc_exe написал:Это только с оригинальной Stlink или применимым к китайским клонам Stlink V2?

Ахулл
Вторник 5 мая 2015 г. 11:06 вечера
Рик Кимбалл написал: Вы на самом деле не питаете устройство с помощью устройства Stlink. PIN -контакт VCC на программике является входом для устройства STLINK, поэтому он знает, какое напряжение вы предоставляете своей плате. Я просто оставляю USB -кабель, подключенным к моему STM32F103C8T6, чтобы питать его.

Рик Кимбалл
Вторник 5 мая 2015 г. 11:20
Ахулл написал:Я не уверен, что вы правы, на моем клоне ST-Link V2, я могу питать свою плату STM32F103CXXX с линии 3V3. Я на самом деле отключаю линию 3V3, когда у меня есть плата, подключенная к порту USB на всякий случай. Могут быть разные версии программиста с разными расписками, поэтому проверьте конкретную версию, чтобы увидеть, выпускают ли булавки 3V3 и 5V эти напряжения или нет.

Rogerclark
Чт, 7 мая 2015 г., 1:13
Ребята,

Я не уверен насчет SWD, но я быстро рассмотрел просто написание эскиза, используя программный сериал для передачи данных на доску

К сожалению, это, похоже, не работает.

Но я все еще думаю, что сериал - лучший вариант

Я видел код для SWD, но тогда все становится более сложной, так как хост ПК нуждается в какой -то форме протокола, которая общается с AVR Arduino

Армлео
Пн 21 декабря 2015 г., 17:26
Вам не нужен переключатель напряжения из -за 5V - толерантные булавки JTAG SWD и серийного (больше футов в документации UR STM32)

Rogerclark
Пн 21 декабря 2015 г., 20:59
Хороший момент в том, что эти булавки - это 5 В.

Интересно, что UART 1 - 5 В, но UART 2 не.

Но поскольку это использует UART 1, это должно быть хорошо, используя UNO, который проводился в сбросе.

Я должен попробовать это некоторое время.

Стевех
Вт 22 декабря 2015 г. 7:38 утра
Rogerclark написал:
Я видел код для SWD, но тогда все становится более сложной, так как хост ПК нуждается в какой -то форме протокола, которая общается с AVR Arduino

Rogerclark
Вт 22 декабря 2015 г., 8:45 вечера
@stevech

Этот поток об использовании AVR Arduino в качестве программиста.

Это не использование Stlink

Стевех
Ср 23 декабря 2015 г. 12:46
Поскольку существует ST-Link в размере 20 долларов, в чем польза от DIY AVR Microprocessor-AS-Programmer?
Должно быть чему -то, что я могу узнать из такой цели!

Mrburnette
Ср 23 декабря 2015 г. 1:01
Стевех написал:Поскольку существует ST-Link в размере 20 долларов, в чем польза от DIY AVR Microprocessor-AS-Programmer?
Должно быть чему -то, что я могу узнать из такой цели!

Rogerclark
Ср 23 декабря 2015 г., 5:02
Я предполагаю, что это для людей, у которых есть доска STM32, но забыл получить USB для сериала и не может легко / быстро получить один.