VisualNT

В чём смысл программатора ST-Link V2?

13 сообщений в этой теме

VisualNT    0

Доброго времени суток!

Может кто-нибудь объяснить, в чём смысл и преимущества использования специализированных программаторов для STM32 типа ST-Link и клонов, работающих по интерфейсам SWD/JTAG, если записать флеш можно прямо по UART/ISP или быстрее по USB (при его наличии)?

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

А если отладка не нужна? Вернее, часто ли она используется при написании каких-нибудь маленьких прикладных программ типа реле времени? Я собираюсь развести свою печатную плату для STM32F107, а потом хочется поэкспериментировать с STM32F407ZGT - в них в обоих есть USB интерфейс, они оба есть в списке поддерживаемых USB DFU (согласно AN 3156). Но на форуме я прочитал, что пока все сидят на дискавери, в основном из-за того, что в ней есть встроенный программатор ST-LINK прямо на плате, но почему его наличие так важно и не заменяется возможностью программирования по UART/ISP или по USB? Есть ли какое-либо отличие кроме возможности отладки? Может быть, как и в случае со фьюзами у AVR, у STM32 есть какие-то функции/настройки, которые можно использовать/изменять только программатором ST-LINK?

И да, разве скорость программирования по USB будет существенно ниже, чем по тому же JTAG или SWD?

Заранее спасибо за ответы! Заранее предупрежу, чот с микроконтроллерами я раньше работал, но вот от ST что-то более-менее делал только на STM32F030...

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Быстрый заказ печатных плат

Полный цикл производства PCB по низким ценам!

  • x
    мм
Заказать Получить купон на $5.00
Alexeyslav    616

А сам загрузчик чем прошивать? Программатор хорош тем что работать будет даже если загрузчик запортишь.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
VisualNT    0
17 минут назад, Alexeyslav сказал:

А сам загрузчик чем прошивать? Программатор хорош тем что работать будет даже если загрузчик запортишь.

Так вроде ведь загрузчик, который по UART связывается с ПК - заранее прошит в МК - я так понял, что это как раз одна из фишек ST, в том, что загрузчик, который вызывается по состоянию пинов BOOT0 и/или BOOT1 как раз уже предустановлен и затереть его нельзя, если с памятью напрямую не играться. По крайней мере, конкретно c теми STM32F030 и STM32F107VGT6 у меня Flash Loader Demonstrator связаться смог.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Alexeyslav    616

Флеш память по своей природе ненадёжна, да и ключевое слово "если с памятью напрямую не играться".

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
VisualNT    0
19 минут назад, Alexeyslav сказал:

Флеш память по своей природе ненадёжна, да и ключевое слово "если с памятью напрямую не играться".

Ну, здесь я имел в виду, что DMA я пока использовать напрямую в коде не планирую. Да и к слову о ненадёжности FLASH-памяти - есть у меня AVR'ки, которые как минимум за 5 лет непрерывной работы в разных климатических условиях (от -25 до +30) до сих пор и загрузчик а-ля-ардуино при рестарте запускают без проблем, да и программу свою стабильно исполняют, но это немножко оффтоп.

А так, я понимаю, что кроме отладки и возможности писать в память даже при повреждённом bootloader'e особо отличий от той же прошивки USB DFU и не будет...

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Вот-вот, Flash Loader Demonstrator у меня тоже связывался с МК, но программа полноценно запустилась только после прошивки ST-Link-ом. Во всех остальных случаях - кирпич.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
VisualNT    0
1 минуту назад, Геннадий сказал:

Вот-вот, Flash Loader Demonstrator у меня тоже связывался с МК, но программа полноценно запустилась только после прошивки ST-Link-ом. Во всех остальных случаях - кирпич.

Нет, ну я на STM32F107 смог прошить простое мигание светодиодом (просто на большее не хватило проводков, фоторезистом тогда не владел - распаял на LQFP-макетке), а вот к STM32F030F4P6 подключал и I2C LCD и LM75 (вроде он, датчик температуры), и светодиоды и кнопки - все программы шил только через UART, всё нормально работало, так что тут проблем не вижу...

Я-то думал, что ST-LINK чего-то ещё может такого, что по USB/UART не сделать, кроме отладки. Ну, видимо, на первое время для экспериментов хватит и USB/UART.

Огорчает, что теперь не доступен сайт coocox'a со всем, касающимся ColinkkEx'a - его бы собрал наверное..

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

А вот мне не повезло. Собрал RLC-метр (измеритель всего...), а прошить через загрузчик не получилось. Пришлось собрать ST-Link V2. Через него проблема решилась. Прибор работает полноценно.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
elki    68
2 часа назад, Alexeyslav сказал:

Флеш память по своей природе ненадёжна, да и ключевое слово "если с памятью напрямую не играться".

Загрузчик у стм зашит мертво его не возможно стереть.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Alexeyslav    616

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
__alexander    10

Родной загрузчик у СТМ только на UART1. Но есть еще область (пустая), куда можно впихнуть свой, например, как вы говорите USB. 

Неудобство такого загрузчика заключается в установке перемычек до нажатия ресет. Комбинациями на ногах BOOT0 и BOOT1 выбираем откуда стартуем. 

Одним словом, вам для работы с загрузчиком по UART на плату надо поставить две кнопочки (на ресет и бут0) и чтобы прошится надо нажимать ресет при зажатой бут0, после прошивки снова ресет с отжатой бут0. В зависимости от программы, особенно если пишется с нуля, можно охренеть клацать кнопки. 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Ваша публикация должна быть проверена модератором

Гость
Вы не авторизованы. Если у вас есть аккаунт, пожалуйста, войдите.
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Восстановить форматирование

  Разрешено не более 75 смайлов.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

Загрузка...

  • Похожие публикации

    • Автор: sh30fr
      Прошу помощи у знающих. В наличии программатор tl866cs и atmega328p-PU. Чип шьется вдоль и поперек без проблем.
      Есть три чипа atmega328p-AU. Установил на адаптер. Попробовал прошить. Ошибка. Чипы новые, от разных продавцов.  ID читается, стирание проходит без ошибки, но по результату - безрезультатно((. Фьюзы не шьются. Пробовал через ISP шить, тот же результат.  Вопрос. Есть ли различие в алгоритме прошивки AU и PU?
       
    • Автор: reno
      Здравствуйте. Помогите определить причину неисправности планшета.
      Планшет Onda V813. Несколько раз слетала прошивка. Подозрение на статику (все было в зимний период).
      Заново прошивал - все работало. В том году вышел из строя USB (думаю тоже из-за статического)
      Планшет перестал распознаваться настольным компьютером. На днях опять слетела прошивка. 
      Разобрал думал проблема с разъемом, все вроде нормально.
      Прозвонил USB, результат на рисунке.
      В чем может быть проблема?
      Может у кого есть принципиальная схема на этот планшет?


    • Автор: Алексей Васьков
      Уважаемые форумчане, помогите в выборе измерительных устройств!
      Задача следующая: выводить на ПК осциллограммы 4х каналов по напряжению (до 80 В) и 4х каналов по току (до 120 А) с возможностью записи до 10 минут и сохранения в .csv.
      Нужны устройства внесённые в госреестр. Все каналы должны быть гальванически развязаны (без общей земли)
      Рассматривается вариант связки 4х канального USB осциллографа и USB АЦП/ЦАП на 16 каналов с датчиками тока типа ДТХ. 
      В идеале хотелось бы иметь одно устройство, чтобы сразу выводить данные в одну программу (в одно окно) с одинаковой выборкой и одинаковым временем старта записи, для наглядного анализа сразу на месте.
    • Автор: Crendelek
      Требуется консультация либо шабашка  с оплатой за написание кода к SPC560D30L1
    • Автор: Aven
      Продам остатки от производства:
      Микроконтроллер STM32L151C8T6 - 19шт. 200 руб. штука, все скопом - 3000р.
      Кварцы KX-9A 8МГц в ленте 100шт. по 30р. шт., оптом - 2500р. за все.
      Все компоненты новые, не паянные. Пересылка за ваш счет из Ростова-на Дону.
      Связь через ЛС.
  • Сообщения

    • Синтепон напихан, это не выход, там объема нужно в два раза больше... А вот тут можно обмозговать... Есть магнит от 75гдн, он из пары блинов, попробовать их разделить, и приклеить по одному на каждый дин. Поксиполом нормально будет?
    •  вот пожалуйста на китайском сайте такие же как у вас только написано Полипропилен
    • 2) в описании ни у каких потенциометров не указана характеристика 3)проходными посчитал с7 ,с10, с20, с22, с24, с26, с29
    • Если сделать по предложенному варианту появляется две проблемы: - уровень входного сигнала звуковух (тех что я видел) в районе 2х вольт rms. На прямую нельзя, необходим делитель на входе. - получается замкнутый контур земли - ток с выхода усилителя по сигнальному проводу идет на нагрузку 4 ома, далее идет по общему проводу  обратно в усилитель - замкнутый контур как и положено, НО общий провод усилителя идет еще на вход звуковой карты, на которой обычно земли входов и выходов соединены и далее общий провод идет на вход усилителя по общему проводу сигнальной цепи, а в усилителе сигнальная земля соединена с  силовым общим проводом (иногда ставят в усилителе 10 ом между сигнальной землей и силовой). в итоге появляется второй контур для протекания тока и распределение токов получится пропорционально сопротивлению проводов силового сигнального от нагрузки и сигнального по описанному контуру. например силовой общий от усилителя к нагрузки имеет сопротивление  при длине 2 метра и сечении 2,5 мм кв примерно 0,02*2/2,5=0,016 ом (). Ток в нем при напряжении на выходе усилителя 14 вольт -  14/4 ом нагрузки=3,5 ампера. Падение напряжения на общем силовом проводе (провод от усилителя к нагрузке 4 ом) =3,5*0,016=0,056 вольта. Это напряжение прикладывается к сигнальному общему проводу, идущему от точки соединения общего силового с нагрузкой 4 ома , через вх/выходной разъем звуковухи, до входа усилителя (и далее к кусочку проводника соединяющего входной общий с общим блока питания или если там установлен резистор 10 ом, то через него). Предположим длина этого провода 2 метра, что получается, пусть провод будет витой парой в экране и минус идет не через экран (он землится в одной точке с одной стороны), а через один из проводов витой пары. Возмем сечение 0,35 мм кв. Сопротивление этого проводника 0,02*2/0,35=0,114 ом. В нем будет течь ток 0,056/0,114=0,49 АМПЕРА. Если экран соединить с двух сторон, сопротивление цепи уменьшится и ток еще больше возрастет. Эти 0,49 ампера создадут падение напряжение на общем сигнальном проводе, которое грубо говоря "пролезет" на сигнальный вход усилителя за счет падения напряжений на участках цепи сигнального общего провода. В таких условиях ни о какой достоверности результатов и речи быть не может. По этой причине необходим балансный вход , т.е. чтобы не было связи по общему проводу между входом и выходом звуковой карты. Другого внешнего цапа у нас нету, поэтому приходится выкручиваться с этим, но есть подозрение, что у него не "все чисто" внутри касательно развязки земли.  
    • Добавить вату в ас,если возможно добавить магнит(приклеить отталкивающей стороной) конешно ачх на средних может изменится
    • Всем привет! Помогите подключить провода на место. Вытяжка Bosch DKE 955 D. На первом фото провода которые нужно подключить, в левой руке от блока кнопок (синий, красный, серый), а в правой от двигателя (красный, коричневый, заземление). Места куда все эти провода подключаются на втором (кабель питания) и третьем (пусковой конденсатор) фото. Буду благодарен, все что больше трех проводков вызывает шок и удивление.
    •  Так как луче поступить?