DIY. Как сделать полноценный ST-Link V2.1 + MASS STORAGE
ฝัง
- เผยแพร่เมื่อ 5 ก.ย. 2024
- Тема видео посвящена тому как сделать полноценный программатор/ отладчик ST-Link V2.1 + MASS STORAGE на основе популярных и дешевых платах BluePill. Рассматривается два варианта разработки, с учетом наличия на платах как контроллера с 64 кБ флеш памяти, так и 128 кБ.
Исходники к видео:
github.com/nr-...
Спасибо, что нет фоновой музыки.
Пожалуйста. С фоновой было бы наверное плохо?
@@NRelectronics ужасно - не то слово. когда звучит музыка вместе с голосом, то мозг взрывается. в интернете и без этого музыки полно. а ещё спасибо за грамотную речь.
@@NRelectronics Ну да, тем более в интеллектуальных проектах, где обучение. Понятно, что авторы хотят порадовать любимым треком, но люди разные, как по возрасту, так и по музыке.
согласен, по возрасту музыку не подберешь одну...
мне самому не нравится, поэтому никогда не ставлю. Спасибо за речь. Но бывает могу случайно оговориться.
Здравствуйте. Переделал китайский свисток STlinkV2 в ST-Link V2.1 + MASS STORAGE . Вывел вместо интерфейса SWIM сигналы Tx , Rx , Reset и SWO . Получился ШИКАРдос!!!! удобно компактно и всё в одном. Большое спасибо за инфу Вам и конечно Константину Галицинскому.
Всем спасибо.
Спасибо огромное за инфу! Жаль что раньше на ваш канал не попадал. С вашей наводкой я теперь смогу переделать китайский ST-Link до нормы, а то он задолбал уже не обновляться как надо. Довольно часто процесс вообще кончается слетанием прошивки, и последующими танцами с бубном
Рад, что мое видео стало полезным для вас.
Спасибо!Все получилось на китайском блюпиле. Но автору нужно четче изъяснять свои мысли. А именно, в видео вроде сказано что надо снять защиту на первом этапе если не хотим делать програматор. Но я понял что это нужно для того чтобы была возможность прошить 2 и 3 этап. В итоге тер только что зашитую прошиву и ни чего не работало на втором этапе. Кроме того нужно было озвучить поконкретней что первый этап можно сделать двумя способами через усби юарт преобразователь или через нормальный ст линк. Это очевидно для профессионала, но для новичка типа меня стало не сразу понятно. Выглядит как будто нужно только именно усби уарт. Автору важно понимать что канал смотрят не только зеленые (начинающие) но и прям совсем зеленые программисты.
Спасибо! Рад что все в итоге получилось. Учту в следующий раз что смотрят и зеленые начинающие ;-)
У меня серия видео и каждый вид заливки прошивки рассматривался, посмотрите, также будет полезно. А про защищенную прошивку и как ее стереть и что это нужно для того чтобы откатиться назад я говорил внятно, тут не знаю как четче, смотрите внимательнее пожалуйста ;-)
@@NRelectronics Согласен что нужно внимательно смотреть! Вот отчет реального новичка как было воспринято руководства. Первый этап прошились, вроде понятно. Открыли ст утилити, проконектились ага ошибка, нестрашно сбросим чип(воспринято как руководства к действию), теперь все хорошо, но ераз чип не делали значит прошивка вроде и не должна потеряться. Дальше в видео открывается утилити и выбираем варианты программатора. А то что оказывается при сбросе чипа прошивку то убили. И главное что оказывается чип получается был еще раз прошит бутлоадером с первого этапа- Внимание! осталось за кадром.Профессионалы возможно посмеются, но ответьте на вопрос для какой категории людей видео, если профессионалам оно не нужно, а новичку не совсем понятно.
на 19:50 я говорил следующее "... стирать прошивку мы не будет, т.к. создаем программатор ..." Вы новичок который не понимает что ему говорят и делать?))))) Для кого я отвечаю?
@@romik1015 Подскажите пожалуйста как по итогу нужно припаяться после того как выпаил ризстор R10 ? куда и на что нужно кидать кнопку ?
по видео вообще не понятно что с чем соединяет кнопка
Подтверждаю обновление и работоспособность китайского ST-LINK v2.1(в сиреневом корпусе с STM32F101CB) до ST-LINK FW : V2J37M26, надо было в момент запроса вывода в режим прошивки сбросить линию D+, пришлось разобрать и отпаять резистор 1к, как и советует автор, поставить временную кнопку.
UPD_09.03.2021:
Сначала сомневался, что на чипе 32F101CBT6 вообще можно обновить прошивку, т.к. в периферии USB отсутствует и на программаторах с чипом 32F103CBT6 USB-линии разведены на другие ножки.
Не поленился, присоплил к PA15 последовательно резистор 100R, делитель 10к/36к к +5V_USB и транзистор в разрыв между подтягивающим D+ резистором 1к и питанием 3V3, как показано у автора в видео.
Если интересно, линия PA15 по умолчанию в лог.1, во время перехода в режим обновления прошивки сбрасывается в лог.0 на 60мс.
Теперь программатор обновляется без разборки и отпаивания. Еще раз спасибо за идею :-)
Спасибо. В видео все корректно и подробно, ни один и ни два раза так себе обновлял и обновляю прошивки программатора.
Можно проще: +3.3 -> резистор 1кОм -> А15 -> резистор 1кОм -> A12(D+). Проверено на китайской Blue Pill.
большое спасибо
очень интересно и полезно
Кнопку можно заменить на пару резисторов: +3.3 -> резистор 1кОм -> А15 -> резистор 1кОм -> A12(D+). Проверено на китайской BluePill.
Я посмотрю, если не забуду.
Спасибо. Оч интересно и понятно!
Спасибо за хорошее видео. Сделал такой же , только с изолятором по юсб
Пожалуйста.
Изоляторы напрашиваются конечно. Пока пользуюсь обычным V3.
@@NRelectronics в Китае есть готовые юсб изоляторы на ADUM 3160. Можно и обычный st-link подключить, и в хозяйстве пригодится для всяких юартов и RS переходников, учитывая что у большинства нет заземления в квартирах и на корпусе может быть хороший потенциал.
у меня кстати старая разводка и провода заземления нет, это мешает порой. А на корпусе системника, могу не точно сказать, около 110В переменку, на него заземлять категорически нельзя конечно, его бы))
@@NRelectronics У меня на первом компе вообще если наушниками коснуться корпуса, в них радио играло
у Вас встроенное радио, прикольно!
Да вашуж мать! Я год назад решил stm попробовать, купил блюпил и стлинк в офлайне, две недели чинил новый программатор(китайцы - такие китайцы... Прикошачивал туды nrst и swo, бонусом супрессоры прикрутил, перерыл кучу инфы, убил уйму времени), а тут просто за чайком за пол часа всë разжëвано... Бери и делай... Вот и убит вас хочется за то, что раньше не наткнулся, ну или себя-я пока не определился, и моë вам с кисточкой! Вот! Трудно самоучиться, но вы прям помогаете безумно! Спасибо!!! Ещëб памяти себе вкрутить в бошку побольше, а то походу подзабивается )))
Рад что было на пользу видео. Забавно написали, хорошее чувство юмора у Вас, подняли настроение после рабочего дня)
@@NRelectronics ну тогда 1:1 по полезности )))
Почему 1:1 по полезности?)
@@NRelectronics Ну я впс смешу, вы меня учите )))
Мне нравится такой симбиоз ;-)
Здравствуйте. Обновил я Cubeide а он потребовал обновить прошивку ST-Link . Разобрал свой ST_Link и я час промучался вспоминая что так и куда подсоединять для обновления прошивки. Методом тыка выяснил что не нужно отпаивать резистор подтяжки D+ к 3.3 вольтовой шине, потому что без него потом не работает и нужно его потом припаивать назад. Можно просто D+ через небольшой резистор (у меня был под рукой 250 Ом) подтянуть к земле в тот момент когда нажимаем кнопку "Open in update mode" в CubeProgramere.
Конечно идеальный вариант это сделать как в схеме у ST_Link 2.1 через транзистор , но мне кажется что и просто резистор несколько киллоОм от PA15 к D+ должен работать (если убрать резистор подтяжки к +3.3В). А если подтяжку оставить, то можно попробовать от PA15 к D+ резистор несколько сотен Ом.
У себя проверить не могу так как нога PA15 на моём СТлинке отсутствует физически. Нога была безвозвратно потеряна в прошлом году во время экспериментов )))
Молодцы что провели столько полезной работы! Поздравляю.
Спасибо! Очень интересно! Жаль, что недавно наткнулся на Ваш канал.
По видео начал повторять Си, так как очень давно не было практики...
Пожалуйста. По Си найдете что повторить. Со временем эту серию тоже пополню.
получается v2.1 вообще не работает с STM8?
Вроде не работает, надо проверять физически...
Как всегда отличный видос! Надо попробовать, SWO работать будет?
Спасибо большое. Да, должен. Мне просто юарт интересен и полезен больше.
@@NRelectronics Вчера попробовал повторить на BluePill, не получилось. Что не так я так и не понял. Bootloader залился, в ST-Link Utiliti обновился, в диспетчере задач определяется как debuger и COM порт, в проводнике тоже появился как диск. Далее пытаюсь обновится в STM Programmer, обновляется с V32 до V40, в конце ошибка Error-1. И все, работать он не фига не хочет. Да, флеша в синей пилюле 128к.
Попробуйте обновиться с определённой версии st-link utility, которую я говорил. Если не даст результата это, просто не обновляться, это бессмысленно, новых функций иди скорости нет.
@@NRelectronics С этой версией все я и делал(4.3.0). После обновления все ОК, successful, но уже повторно зайти в обновление не получается, или просто conect с целевым МК тоже не возможно(ошибка). Кто нибудь сейчас пробовал все это повторить? Скорее всего уже не у кого не получится. Обновления идут с сервера ST, возможно тут происходит какой то конфликт.
Возможно тут действительно конфликт. Вы работайте без обновлениями, на работе никак не скажется, и всё.
Подскажите пожалуйста про резистор который выпаяли. За место резистора поставили кнопку, а за кнопкой резистор с тем же номиналом ? То есть простыми словами в цепь с резистором добавили кнопку ?
в видео говорится ведь, что нажатием кнопки мы имитируем подтяг линии DP к питанию, по нажатию, через этот резистор. По умолчанию на DP ничего, нажали на кнопку, она замкнулась и подтянули ее к питанию через резистор. Без использования транзисторов.
@@NRelectronics спасибо большое за отзывчивость, все получилось. Была проблема в UART адаптере, поэтому не получалось прошить(
@@NRelectronics я сильно извиняюсь, но можете подсказать что не так. Обновляется прошивка программатора нормально, но в CubeProgrammere напряжение показывает 1.5 - 2 вольта, показывает столько независимо от того подключено ли целевое устройство или нет. Соответственно подключиться к целевому устройству не получается, появляется только диск на 20кб. UART работает нормально
Привет. Я хочу разрабатывать встраиваемые системы, программировать МК. Это вроде называется Embedded разработка, Iot, как я понял. Знаю что нужно отладочные платы, программаторы и т.д. Вопрос. Можно ли в первые 4-6 месяцев обойтись без них и учится только программировать МК?
Привет. У меня есть видео о минимальном наборе за 250Р. Думаю это совсем недорого. Есть эмуляторы МК и можно даже писать на них, но как и вся эмуляция она не на 100%. Могут быть сложности в совместимости.
А без преобразователя нельзя сразу из СТМ сделать программатор? Подключив его по юсб к компу? Или другой СТМ сделать из СТМ программатор? Не имея преобразователя?
О каком преобразователе идёт речь, напомните?
@@NRelectronics о том, который вы называете преобразователем... погуглил, можно через одну СТМ сделать другую СТМ СТлинком...
Без преобразователя usb-uart и программатора обычного вы никак не зальете прошивку. Есть вар ант посмотреть в сторону dfu по USB, если память не изменяет, то такого режима в данном мк нет. Такой преобразователь стоит 70₽ на Али, не вижу проблемы. Юсб свисток не намного дороже. Посмотрите на других мк в сторону режима DFU. По нему у меня тоже, кстати, было видео на канале.
@@NRelectronics проблема, что я его уже заказал, но надо ждать) В принципе пока зима, это не большая проблема. К весне полноценной придёт.
Не пришёл там?)
а поделитесь STLink Utility 4.3.0 плиз
Зайдите пожалуйста ко мне в телеграм канал NR.electronics и я вам скину. Тут Ютуб без моего ведома удаляет любые ссылки...
@@NRelectronics зашел, камент пока не могу писать. ник firstname lastname, аватар - RickAndMorty. Сенкс!
Пишите, помогу чем могу.
Для чего цепляем программатор на 17:48?
Посмотрите внимательно весь ролик целиком пожалуйста.
как дело обстоит если я захочу залить 1Мб hex? Как организовать шифрование прошивки, которую надо передать заказчику? Как сделать эту железяку полностью автономным программатором?
....в общем вопросов больше, чем ответов.
А что непонятно как залить мегабайт в контроллер???) вы серьезно?? ))))
@@NRelectronics но в видео 1Мб не заливается и ничего не сказано как работает этот Mass Storage. Вы просто закидывали файл в окно с якобы нашей флешкой и всё, дальше окно гасло и какая-то неведомая магия была. Объяснений и пояснений нет.
Даже допустим что первый вопрос решили. Пройдём к следующим вопросам
запишите ровно такую прошивку какую надо в соответствии с вашим целевым контроллером, какая флеш, вот не больше её и запишите, это само собой разумеется вообще-то.
Тема шифрования вообще-то выходит за рамки текущего видео, это также во всем понятно, зачем не понимаю вопрос даже ставить? Есть шифрование с AES, ваш друг или вы сделаете видео на него, также не проблема, в доках на него все описано. Полностью автономных, так из ваших других комментариев, вам не к железу а софту нужно смотреть. В данном видео готовый программатор/отладчик без каких-либо доп. нажатий и доп. драйверов, работает из коробки.
@@NRelectronics не получается таким способом залить дамп больше, чем объём свободного места на этом диске...
надо подключить сначала соответствующий контроллер с таким объемом. У меня работает.
Благодарю! У меня такая же прошивка влезла в псевдо-64 Кб версию, но про подтяжку и option_bytes не знал, наверно у меня поэтому финальную прошу не получилось сразу залить, просто несколько раз потыкал, в бубен постучал, и дело пошло. Получается, с помощью VCP можно шить как через USB-TTL, или для чего он? А можно ли отправить из целевого МК данные через VCP на комп?
С целевого микроконтроллера конечно можно через VCP отправлять данные на комп, для этого он и создан. Заливка прошивки по идее тоже должна работать, но не пробовал, попробую.
Не понятна суть видео. Никому не интересно бездумное прошивание клонов на клонов.
В приложении написано "Исходники". Там их нет. Только бинарники.
Интересует именно исходники ST-LINK'а. Пусть не полный 1 в 1, а хотя-бы с урезанным функционалом. Но нигде нет. :(
Читаем название. Исходники бывают и в hex и в bin если что.
У Вас ВК взломали?
Да, спасибо за информацию. Уже заблокировали.