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...

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


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

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

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


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

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

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

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


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

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

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


Ссылка на сообщение
Поделиться на других сайтах
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    76
2 часа назад, Alexeyslav сказал:

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

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

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


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

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

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


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

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

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

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

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


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

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

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

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

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

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

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

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

Загрузка...

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

    • Автор: agbp
      Приветствую! 

      Мы - молодой стартап из Санкт-Петербурга с хорошей финансовой поддержкой. Создаём дроны.
      Нам не хватает серьезного программиста на полный загруженный график (можно удаленно). 

      Из основных задач, которые нужно будет решать: 
      1. Программа отслеживания объекта в видеопотоке (процессор STM32F4xx). 
      2. Программа стабилизации БПЛА по данным с гироскопа и наведение на цель. 
      3. Создание программы управления бесколлекторным двигателем по закрытому контуру с возможностью бесшовной интеграции с программой просчёта траектории ЧПУ станка. 
      4. Программирование бортового комплекса управления БПЛА (автопилот) 
      5. Полный пакет работ по созданию бортового и наземного комплексов управления роем БПЛА. 
      Оформление в штат. 
      ЗП обсуждаема, от 60 000 в месяц.
      P.S. дроны, беспилотники, авиамодели... это только начало!
    • Автор: GeloMik
       
      Я новичок в программировании AVR контроллеров, хотя знаю +/- C++.
      Проблема заключается в том, что я не могу написать прошивку к своему маленькому проекту. Используемый мною контроллер - ATTiny45. У него на борту имеется 1 АЦП с выходом на 4 ноги. Нужно, чтобы фактически одновременно брался замер с 3, 4 и 5 порта по АЦП, и при появлении 1 на одном из них МК должен подать 5В на 1 или 2 порты. Источник АЦП AREF. 
      Сюда прикреплю схему самого робота, если кого не затруднит помочь написать прошивку, буду очень благодарен 

    • Автор: dsotm
      Подключаемый через mini Usb Lcd дисплей для компьютера. Позволяет выводить различную информацию на экран. Проверялось в Windows (Lcd Smarie, AIDA64) и Linux (LCDProc, lcd4linux). 
      Платы немного с дефектом - для удобства подключения usb пришлось сточить уголок. Кабель miniUSB к комплект не входит.
      Позволяет подключать к компьютеру дисплеи 1602 или 2004 на контроллере hd44780 (самый распространенный).
      Цены:
      Без дисплея - 600 С дисплеем 1602 - 700 С дисплеем и металлическим корпусом - 900 Демонстрация работы
      Пересылка по РФ почтой + 250.
      Самовывоз - Краснодар.




    • Автор: Djanger
      Приобрёл "NUCLEO-F030R8, Отладочная плата на базе MCU STM32F030R8T6 (ARM Cortex-M0), ST-LINK/V2-1, Arduino-интерфейс"  хочу приобрести два модуля к ней но не знаю о совместимости , кого спрашиваю сомневаются и не отвечают уверенно, 1 модуль это 3,2 TFT ЖК дисплей сенсорный , а второй 8 бит LED 8 бит цифровой Tube 8-разрядный ключ. Кто что может подсказать или посоветовать прошу помочь 


    • Автор: Михаил Савин
      Добрый день. Подскажите есть устройство на плате для регулирования дроссельной заслонки от Калины. Довольно специфическое, индивидуальная разработка, аналогов не купить. Основывается на микроконтроллере ATXMEGA128A3U AU 1651. Возможно ли скопировать залитый в него код что бы изготовить данное устройство ? Или это невозможно в принципе ?
  • Сообщения

    • Выключение модуля осуществляется ровно также, как и его включение. Только обратной операцией.
      Как его включить (или выключить) - подробно описано в документации на камень.
    • Плату от трансформатора немного отодвинуть бы
    • В общем, я подумал и сейчас развожу плату под корпус SO-8 (3 шт), иначе плата большой получится, в каждом корпусе по 2 полевика, по габаритам получается как пара SOT23 в сумме, но зато SOT23 можно раскинуть проводками, если что. Эти полевики обычно стоят в мониторах LCD, у них сопротивление 20-50-100 мОм, но купить можно в магазе, даже по 7-12-25 мОм, по деньгам 15-25-40 руб каждый корпус.  2 полевика (1 корпус) точно надо на 20-50 мОм (1000-10 000мкф), остальные - некритично, ток мало играет роли, можно и по 1 Ом. По напряжению - наверное 30 В и ток 5-10 А, чтобы точно выдержал напругу на щупах. Ну и по затвору 1.5-2.5 В открытия, 3.7 В питания конечно все убивает, приходится буферы ставить. Биполярники по току на базе не смогут прокачать, так что полевики рулят.
    • проходили, мочили, фанерка того, расклеивается...потом клеил лепестки 3мм фанеры в пресе (так же изготавливать пресс форму и тут надо всё равно) изгибал по 5шт вроде или 4 (непомню), и ничего круто. А вот потом как состыковать то и идеальо нарезать торцы под углом точным чтоб сошлось скажем 6 или 8 граней? я пока не смог. Есть вариант на чпу лепескти вырезать из дерва, я рисовал и сдавал, оценили 8 лепестков - 1 рупор под 1.5 евро. Не кисло так. Но зато там только слекиваешь и всё. Есть где то видео где так делают рупор. Но очень дорого это за 2 рупора только за чпу отдать 3 евро. 
    • Собрал фильтр по данной схеме. Подключаю только через высокоуровневый вход, т.е. источник с выхода китайского усилителя 4х10 вт. Проблема вот в чем: Когда подключаю оба канала - все работает нормально только на низкой громкости, а совсем чуть повысив - звук "обрывается" в китайском УМ, как буд то защита какая то срабатывает... Как только отключаю один из каналов и оставляю любой другой - все играет отлично даже на самой максимальной громкости. Кто что думает? В чем может быть проблема? Схему фильтра взял отсюда, но чуток обрезал.
    • Неужели фанерку тяжелее отмочить-изогнуть-склеить, нежели прессом гнуть 20кг железа и варить?
    • Сегодня послушали усилитель с разными источниками (с внешним цапом тоже игрались) и на разной акустике. Кендайлы положил в ящик на хранение. С самвой АМ звук приятней. На мои уши - звук приятней и ВЧ естественней, что ли, на ВЧ с кендайлами каша. Заметно с любой акустикой и любым источником. Вот такие вот дела. В архивчике "бардачок" из разных источников и колонок.   Photos.rar