• Объявления

    • admin

      Просьба всем принять участие!   24.11.2017

      На форуме разыгрывается спектроанализатор Arinst SSA-TG LC (цена 18500 руб). Просьба всем перейти по ссылке ниже и принять участие!
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    590

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

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


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

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

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

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


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

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

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


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

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

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

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


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

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

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


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

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

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

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

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


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

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

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

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

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

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

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

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

Загрузка...

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

    • Автор: jaz240 O_o
      Доброго всем времени суток,так уж вышло что я занимаю музыкой,и у меня есть синтезатор casio 811-ex,но связать его по средством усб с пк невозможно:так как на нём есть только midi вход и выход.Тогда я загорелся этой идеей.Нашел на али дешевый китайский адаптер и заказал его ,когда он ко мне пришёл я был очень разочарован,так как он работал но очень через Очко.Он посылал ошибочные команды на пк,смотрел программой midi-ox,во общем когда я нажимаю клавиши то идут команды без ошибок но когда я нажимаю на педаль сустейна то вместе с педалью нажимается ещё куча других клавиш которые я не трогал так что не берите дешевую китайщину. После долгих мучений мне пришла идея сделать самому такой шнур на меге8 но как выяснялось что схем и прошивок таких адаптеров нету я с трудом нашел на каком то сайте не русского происхождение этот переходник там была и с схема и прошивка и исходники так вот собрал я адаптер и о чудо всё заработало как надо команды шли без ошибок и можно было полноценно играть если бы не одно НО из за которого я и прошу помощи,этот переходник грубо говоря тупит в том плане что если midi команд слишком много например я нажал одновременно 10 клавиш и все их 10 одновременно отпустил то клавиши 2-3 остаются нажатыми то есть адаптер, на отключение этих нот,команды не успел передать их а пропустил,но когда я их отпускаю по очереди то всё ок,Может кто та сможет улучшить код или портировать его на более быстрый контроллер или может есть у кого другие предложения как это чудо сделать лучше Очень Очень прошу ????Всё что есть схема прошивка исходники я вылаживаю на яндека диск и здесь если кто то не может посмотреть пишите я могу и на почту скинуть и на другой диск скинуть например на майловский вот ссылка https://yadi.sk/d/aKHsRfh33QLnpL ,у меня пришла мысль на счёт другого контролера но потом понял что дела наверное не в нём так как разобрал китайский адаптер, и увидел что там стоит кварц на 6 Мгц н а на моём адаптере кварц на 16Мгц да и атмега мне кажется быстрее китыйской чёрной капельки,а нормальной карточки з midi портом нету,во общем я зашёл в тупик HELP????????
      USB-MIDI.rar
    • Автор: ToRcH2565
      Добрый день, недавно начал изучать азы STM, и наткнулся на интересную возможность, а именно отправлять текст через отладочный порт:
      https://hubstub.ru/stm32/111-otladka-po-swd-stm32.html  (дабы долго не обьяснять о чем я веду речь, ибо без знания терминов это может затянутся).
      Так вот, столкнулся я с проблемкой, а именно где же можно данные сообщения посмотреть в EmBlocks, отладочные окна пролез все, там не нахожу, возможно нужно ковырять глубже настройки среды? или данная среда не умеет отображать эти сообщения?
      Очень не хотелось бы городить UART для отображение отладочных сообщений...
    • Автор: Shamar89
      Здравствуйте.
      есть материнская плата asus m5a99fx проблема при включении на экране говорит про замыкание на usb и выключается.
      пробовал прозванивать все usb вроде к.з нет
      также прозванивал и те что на фронтальную панель идут
      была идея выпаять все порты на проверку но при нагревании плата начала вздуваться сразу отбросил эту затею
      грел феном от паяльной станции на 400 градусов.
      есть идея подать 2-3 ампера на usb + и  - для выявления этого самого замыкания естественно лабораторным блоком питания вот только можно ли это делать и не спалю ли что то на плате?
      с ремонтом материнских плат на вы...
      плата моя хочу сделать жалко...
       
       
       




    • Автор: Motrosoff8888
      Всем привет! Ребят есть вот это STM32F030K6T6 
      вот это, адаптер для прошивки  
      и это, собственно чем прошить. 
      Имеется прошивка, скетч, для двух Atmega328p. Есть пьезоэлементы, которые подсоединены к аналоговому пину, при касании, одна другой передаёт символы через NRF24l01, друга принимает таким же модулем и отправляет данные по блютус HC-05 на телефон.  Хотелось бы перенести её на STM32, не бесплатно конечно но и в рамках разумного. Цель переноса на STM32 - увеличить скорость отклика (задержка между ударом по пьезику и появлением символа в мониторе порта телефона) пьезо! И есть уже адаптер для прошивки МК с 32 ножками. Буду признателен если кто то ответит, можно в ЛС
    • Автор: Motrosoff8888
      Всем привет! Ребят есть вот это STM32F030K6T6 
      вот это, адаптер для прошивки 
      и это, собственно чем прошить. 
      Имеется прошивка для двух Atmega328p. Есть пьезоэлементы, которые подсоединены к аналоговому пину, при касании, одна другой передаёт символы через NRF24l01, друга принимает таким же модулем и отправляет данные по блютус HC-05 на телефон.  Хотелось бы перенести её на STM32, не бесплатно конечно но и в рамках разумного. Цель переноса на STM32 - увеличить скорость отклика (задержка между ударом по пьезику и появлением символа в мониторе порта телефона) пьезо! И есть уже адаптер для прошивки МК с 32 ножками. Буду признателен если кто то ответит, можно в ЛС