Сообщество - TECHNO BROTHER

TECHNO BROTHER

2 086 постов 13 667 подписчиков

Популярные теги в сообществе:

75

Делаем ST-Link V2.1 из китайского ST-Link V2

Длиннопост!

Приветствую всех!

Заранее прошу прощения за возможную неясность/запутанность текста, мой первый пост.

Чукча не писатель, чукча - радиолюбитель!))
Так же предупреждаю - я не несу ответственность за ваши действия, а так же не призываю к действиям! Все что выделаете - делаете на свой страх и риск!


Update! Статью со значительными изменениями и уточнениями выложил на хабр:

https://habr.com/ru/post/442290/

Предыстория...

Так уж случилось, что мне надоели лишние провода.

Немного подумав я вспомнил что на палатах Nucleo и Discovery - ST-Link совмещает в себе SWD и VCP (Virtual Com Port).

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

Однако стоимость в 20$ за ненужный кусок текстолита, при стоимости китайского варианта в 3$ - лишние расходы.

Благо мне подсказали ссылку на GitHub с уже вытянутым загрузчиком )


Приступаем к работе!

Как оказалось, для STM32+CVP не важно какой чип, C8 или CB.

Если у вас чип C8 то при обновлении указывайте модификацию STM32+Audio.

Модификацию можно произвести только на Windows версии софта, кроссплатформенная версия софта отказывается обновлять девайс!
Внутри программатора может быть совершенно разные платы и чипы!

Есть несколько вариантов модификации, и часть из них нельзя сделать если чип не подходящий!

На пример, следующие модификации можно сделать если чип STM32F1xxCBxx:

STM32 + VCP

STM8 + VCP

STM32 + STM8
Only STM32
Only STM8
Но если чип STM32F1xxC8xx, то только следующие:

STM8 + VCP

STM32 + STM8

Only STM32

Only STM8
По этому для модификации STM32 + VCP вместе с программатором покупаем чип STM32F1xxCBxx.

После модификации до STM32 + VCP программатор теряет возможность прошивать STM8!

В данном посте я делаю модификацию STM32 + VCP.


Нам понадобится:

0) Руки из правильного места ;)

1) Немного знаний

2) Паяльник
3) Мультиметр с прозвонкой

4) ПК с ОС Windows

5) Китайский клон ST-Link V2

6) Чип STM32F1xxCBxx (если программатор уже у вас в руках, и чип подходящий - то дополнительный чип покупать не обязательно)

7) USB-UART адаптер либо второй ST-Link V2

Что ж, вскрываем...

Смотрим маркировку чипа.
В желтом чип 103CB - его можно модифицировать до модификации STM32 + VCP.
В фиолетовом же на первом фото 102С8 - его до нужной модификации модифицировать нельзя, придется менять чип.
На втором фото 103CB.
Мне же повезло, у меня чип 101CB.
Далее есть два пути:
USB-UART (вариант сложнее) либо второй ST-Link V2


Если у вас USB-UART:


1) Прозвонкой находим резистор который подключен к BOOT0.
Аккуратно его выпаиваем. (резистор еще понадобится, не оторвите дорожки!)
А сам BOOT0 этим же резистором подтягиваем к питанию.
Далее паяем комариные письки на контакты PA9(TX) и PA10(RX) :
(Как оказалось, на PA9 подключен светодиод, так что прозваниваем к какой стороне светодиода или резистора рядом он подключен - и подпаиваемся туда, меньше геморроя ;)

К ним подпаиваем USB-UART, а так же не забываем подпаять к нему же питание и землю.
Качаем загрузчик Protected-2-1-Bootloader.bin
Прошиваем с помощью STM32 Flash loader demonstrator
Дабы не удлинять пост еще больше, не буду расписывать работу данной утилитой, мануалов в сети полно.
На пример мануал от товарища stD

После прошивки отпаиваем PA9 иPA10, PA10 оставляем если хотим вывести пин SWO


Если у вас ST-Link V2:

На платах есть по 4 контакта, в некоторых случаях они уже промаркированы, в противном же случае прозваниваем их относительно PA13(SWDIO) и PA14(SWCLK), подпаиваемся вторым ST-Link V2, не забываем подпаять к нему же питание и землю.
Прошиваем с помощью STM32 ST-LINK Utility
Дабы не удлинять пост еще больше, не буду расписывать прошивку данной утилитой, мануалов в сети полно.
Единственное скажу что скорее всего понадобится снять защиту, иначе не прошьется.
Для этого в программе STM32 ST-LINK Utility жмем Target > Option Bytes, переключаемRead Out Protection в Disabled и жмем Apply


Обновление до ST-Link V2.1:


После прошивки подключаем прошитый ST-Link уже почти V2.1 к ПК
В программе STM32 ST-LINK Utility жмем ST-LINK > Firmware update
Жмем Device Connect - получаем список возможных модификаций:

Выбираем нужную вам модификацию, в моем случае STM32+MSD+VCP и жмем Yes >>>>
Ждем пока завершится обновление...
В итоге получаем сообщение об удачном завершении:

Профит! ;)

Завершающая часть:

Так как SWIM и RST после такой модификации не работают - отрезаю их.
Так же отрезаю дублирующие 5V и 3.3V.
Получается 4 свободных пина.
На них подпаиваюсь проводками к чипу:
PA10 -> SWO
PB0 -> NRST
PA3 -> RX
PA2 -> TX

Вывожу все на основной разъем, на оставшиеся свободные пины.
Получилась такая распиновка:

Мой девайс после модификации:

Накарябал скальпелем маркировку на корпусе:

Не забываем отмыть плату после пайки )

В итоге девайс должен определяться так:

Я без понятия чему равен объем виртуальной флешки (в данном случае к ST-Link V2.1 был подключен 103C8)

Если на нее закинуть файл прошивки - программатор прошьет чип без программ.

Проверяем VCP:

Ну, вроде все )


Спасибо за внимание!

С вопросами обращайтесь в комментарии, чем смогу - помогу.

Показать полностью 16
5

Помощи пост, как распаять?

Вот "схема" С 3,5 джеком мог расположения цветов напутать, но не суть. Делаю радиофикацию шлема, может кто помочь и по цветам нарисовать, что и как припаять к ногам кнопки, чтобы работал не только наушник но и микрофон на передачу? Разъём кенвуд под баофенг ур5, что понял по наушнику кр-зел+ж-ж, работает ухо. Интернет вчера пол дня копал, но ничего не понял. Из инструмента только паяльник

Помощи пост, как распаять?

UPD
Доп инфа, что надо
Надо чтобы при нажатии на кнопку работал микрофон и рация шла на передачу сигнала, наушник работатет через 2.5 джек ж+ж и кр+зел, а я не пойму как через кнопку это всё провести, если можешь покажи на моей "схеме" своё видение, как должно быть и чего не хватает

Показать полностью
60

Stm32 запускает новую линейку камней! G0x

Привет всем. Хочу поделиться с вами радостью, не знаю как вы, а я очень ждал, когда же stm обратит внимание на то, что люядм нужно больше недорогих чипов, причем хотелось увидеть не только 20 ногие контролееры вроде stm32f0x, а так же что то поменьше, и вот свершилось. Думаю некоторые из вас следят на новостями и уже узнали из других источников о релизе линейки контроллеров STM32G0.

Ну а для тех кто не в курсе, рад поделиться новостью. Новая линейка не только будет иметь чипы в 8и ногих корпусах, которые смогут без проблем заменить всякие attiny 85 и им подобные, но при этом будет иметь 32х разрядную архитектуру и кучу новых фич, среди которых гораздо меньшее число перефирийной обвязки, уменьшившееся до пары резисторов (все остальное уже встроено в чип), высокоскоростной встроенный кварц, USB-c power delivery. Приведу пару скринов из официально презентации:

Для тех кто хочет более подробного описания вот ссылка на собственно презентацию:

https://www.st.com/content/ccc/resource/sales_and_marketing/...


И что еще прекрасно, есть обучающие видео, наконец то нормальные видео от STM:

https://www.st.com/content/st_com/en/support/learning/stm32-...


Я уже заказал на пробу NUCLEO-G071RB для экспериментов, а вы? ;)

Показать полностью 2
41

Stm32 HAL DS3231

Пришла идея собрать часики на STM32 и я столкнулся с тем, что все либы для DS3231 либо на SPL, либо просто ужасающе нерабочие. Потому взялся написать собственную, чем и хочу с вами поделиться, код еще не вполне закончен, но уже вполне юзабелен. Был сделан акцент на простоту использования и независимость от конкретной модели stm32, код тестировался на stm32f103c8t6, но подойдет любой контроллер имеющий i2c и желательно usart для сообщений отладки, но это необязательно. Либа активно дописывается и будет совершенствоваться в будущем в моих и возможно ваших проектах ;)

https://github.com/shurankain/stm32f1_ds3231_oled


P.S. HAL был выбран не просто так, начиная с версии 2019.1 JetBrains обещает поддержку embedded разработки и интeграцию OpenOCD + STM32CubeMX плагина в среду CLion, которую я считаю лучшей, хоть и платной IDE из сущестующих для работы с С++.

Stm32 HAL DS3231
Показать полностью 1

Купил asus zenfone 5 и сделал первую распаковку

Решил с вами поделиться моим первым обзором и первым телефоном на андройде!

для первого раза хороший вариант?Тапками сильно не пинать,ссаными тряпками не кидаться!

19

Stm32 HAL tea5767 fm radio example + lib

Давно хотел разобраться как TEA5767 заставить работать в паре с stm32, и вот простейшая либа портированная с ардуинки готова, может кому-то так же будет полезно:

https://bitbucket.org/shurankain/stm32f103_tea5767_test/src/...

Пример написан для blue_pill, но либа никак не зависит от модели контроллера smt32.


для тех кому ближе ардуинка, вот пример на pro_mini atmega368 5v 16mHz, но уже с SSD1306 и управлением двумя кнопками, тут сама либа для TEA5767 не моя, ее автор Simon Monk, за что ему спасибо, благодаря простоте его кода и разобрался :

https://bitbucket.org/shurankain/tea5767_oled_pro_mini


В любом случае рекомендую использвать усилитель, вроде PAM8403 на выходе радиомодуля, иначе сигнал будет очень слабым, разве что в наушнике различимым и использовать для усилителя отдельное питание, даже небольшой советский динамик потребляет больше, чем сможет отдать ардуина/stm32. А так-же желательно питать TEA5767 от 3.3v, так помех меньше, не забывайте что 5v - предельное напряжение питания для нее.

Показать полностью
Отличная работа, все прочитано!