STM32. SWO. Доделываем китайский ST_LINK/V2. Используем SWV для отладки.
HTML-код
- Опубликовано: 6 авг 2024
- Привет друзья! Решил выпустить небольшую серию видеоуроков о переходе с платформы Arduino на STM32. Скажу сразу - я не профессионал. Я так же учусь. Надеюсь мои разборы хоть кому-то будут полезны :) Данный курс нацелен больше на новичков. Тех, кто только-только начинают осваивать 32-битные МК от STMicroelectronics. Если есть чего предложить, показать - милости просим к нам в команду.
Использую для конфигурации CubeMX и библиотеку HAL.
Заходи в нашу группу ВК solderingiron.stm32
Материалы из урока: github.com/Solderingironspb/L...
ЯндексДзен: zen.yandex.ru/id/622208eed2eb...
00:00 Введение
01:14 Чего нужно сделать, схема.
02:16 Программная реализация Наука
Круто. Я также вот запустил SWO на STM32H743 (там немного надо добавить настроек для настройки ITM).
Можно с Blue Pill сделать ST-Link и там выпаять на проводах все контакты, а если в Blue Pill сам МК не STM32F103c8 а STM32F103b8 (на 128 КБ который ) то можно сделать себе ST-Link версии 2-1 который на платах Нуклео :
*Добавлен порт SWO для отладки
* Виртуальный ком порт
* Наличие UART ( для отладки не нужно подключать еще один
USB TTL конвертер ) также UART имеет встроенный конвертер уровней что дает возможность использовать его как с 5 вольтовой так и 3.3 Вольтовой логикой
*Есть наличие порта RESET ( можно настроить в среде так чтобы после пере прошивки контроллер сам перегружался и не нужно нажимать каждый раз кнопку сброса )
* Наличие USB Mass Storage ( открываться в проводнике как флешка ) Также можно прошивать контроллер без ПО имея всего
прошивку в виде bin файла
*Наличие Micro-USB входа что позволяет подключить к любому проводу и не разламывать гнездо USB на ПК.
Молодчик!
Хм,не знал о таком функционале .Спасибо . На nucleo проверил - работает
Благодарю!
Подскажите пожалуйста, подключился в асинхронном режиме без доработок, прямо в USB без stlink, через настройку USB VIRTUAL COM PORT, отправкой CDC но как принять в МК не представляю с ПК команды, через comport отлично ПК принимает сообщения с МК, а обратно где изучить? Или там только название асинхронный, а команда была только в одну сторону?
Извиняюсь, сбой. Ролик хороший, но есть замечания. На схеме SWO не PA10, а PB3. Заодно и Reset поправь. Последовательные резисторы ставятся в линию в первую очередь для того, чтобы ограничить на допустимом уровне токи через ключи передатчика (обычно требуемая величина вычисляется как Rмин >= Uпит/Iмакс, где Uпит - напряжение питания микроконтроллера, Iмакс - максимально допустимый ток через вывод микроконтроллера). Также этот резистор ставится как ограничитель тока "фантомного" питания (для случая, когда микроконтроллеры питаются от разных источников) и в качестве элемента ФНЧ для ограничения высокочастотных помех.
Добрый день. PB3 на плате. Но на программаторе-то, ведь речь про доработку программатора…swo PA10, reset PB0…
@@Solderingironspb Интересно, посмотрю. Изюминка в выводе флоат, если можно немножко объясни. Растрясу АЦП поделюсь.
Олег, спасибо! все разжевано до мелочей! Остался вопрос по serial wire: без провода SWO он должен работать? Я пытался в проекте с серво по трем проводам SWDIO, SWCLC, GND с китайским братом работать, отладка в CubeIDE работает, но в консоль SWV не приходят данные. Может где-то накосячил. Вечером попробую с ногой поработать со встроенным NUCLEO ST-Link-ом, чтобы не паять китайский. Спасибо огромное за информацию!
Так данные же на ногу SWO и поступают) соответственно без нее работать не будет.
@@Solderingironspb , понял, спасибо! С ногой все работает, проверил! Наконец можно трассировать без напряга!
Ну, не знаю... Просто ту галочку для float поставил и всё.!? Работает.
какие скоростя у Trace? можно ли использовать как медленный осциллограф? например 1кГц
Он выводит данные раз в секунду. Но если там большая пачка данных, то он большую пачку данных и выплюнет. Бывает с ошибками. В роли осциллографа вряд ли...
т.е. мне нужно с той платы которую отлаживаю нужно вывести еще один провод ? с ноги отлаживаемого процессора ?
Совершенно верно. Например на Stm32F103C8T6 - это ножка PB3.
@@Solderingironspb, спасибо, а то я голову ломал, почему ничего не приходит. Надо будет учесть в следующих ревизиях платы
А наоборот закидывать значения в МК вроде тоже можно..
5:42 ты куда нажал то?
@@MrEksol F11 или значок дебага
@@Solderingironspb Спасибо!
ф
Эээээ-ммммм ,у Вас краска закончилась в pait или чё ? Теперь надо другие ролики смотреть что именно и куда подключать.
И ещё. Кто будеть паять ,даже и не думайте впаивать кабеля 20 жильные как у этих умельцев. Там только 1 шанс и тоненькой жилкой.