- PVSM.RU - https://www.pvsm.ru -
что имеем для работы:
оригинальный STlink-v3minie
отладочная плата от WeAct с камнем stm32g474
жмень проводов
Что хотим получить: вывод осмысленных сообщений себе в консоль на устройство, где пишется код
Начнем по порядку: сначала подключим STlink к отладочной плате. Есть две необходимые схемы подключения.
Первой схемой будет схема ''эхо'' — она используется для проверки работоспособности самого STlink и верности конфига терминала.
Второй схемой будет "боевая" схема - схема которой мы уже будем отлаживать плату.
Cтавим драйвера на свою печку. Получить драйвера можно с офф сайта ST, но только с таблэткой в виде VPN и правильного региона ST аккаунта.
После чего, как ни странно устанавливаем драйвера. Не вижу смысла подробно описывать, куда жать, но скриншотики пусть будут.

Отлично, с драйверами мы разделались, теперь установим то, чем будем слушать тот бред, что будет нам выдавать контроллер. Как самый распространенный, пожалуй, вариант, будем юзать PuTTY. Соответственно скачиваем, устанавливаем:
Установили, отлично. Теперь можно слушать COM Port нашего STLink. Что для этого нужно? Для начала удостоверимся в работоспособности самого STLink. Подключим все по схеме "эхо" и запустим PUTTY
После откроется терминал, в котором будет печататься то, что вы набираете на клавиатуре, это «эхо», ваш STlink живой, ура. Если символы не печатаются — проверьте качество контакта между RX и TX пинами отладчика.

Я сижу на Arch linux, поэтому установку показываю именно для этого дистрибутива.
Устанавливаем драйвера и утилиты:
pacman -S stsw-link007
pacman -S screen
Выводить данные будем через утилиту screen. Почему? Потому-что.
Подключаем все по схеме "эхо".
Чтобы узнать какой порт занимает наш STlink используем утилиту ls:
ls /dev/tty*
serial device в linux имеют названия вида ttyACMх, нам выпало ttyACM0.

теперь воспользуемся утилитой screen, установленной ранее:
sudo screen /dev/ttyACM0 9600 # 9600 - это скорость в бодах, выставляется
# в соответсвии с выбранной вами скоростью в настройках uart, для проверки работы
# ставим любое значение.
После ввода команды в терминале можно будет печатать символы в терминале. Это наше "эхо". Если символы не печатаются, то проверьте качество контакта между пинами RX и TX на вашем STlink
PS. конфиг не эталонный, так делать возможно даже нельзя, но у нас задача какая? Правильно чтобы работало, поэтому делаем так что-бы работало! Поэтому приступим.
открываем CubeMX и начинаем конфигурировать:





Пин LED - это не обязательная штука, автору просто нравится мигающие диодики).
Теперь наш камень сконфигурирован, ура! Осталось написать код, чтобы g474 начал отдавать байтики:
int main(void)
{
uint8_t message[] = "message from MCUrn"; // сообщение которое мы хотим вывести
uint8_t messageSize = sizeof(message) - 1; //размер сообщения которое мы хотим вывести
//этот блок кода нам генерирует CubeMX, так что не обращаем на него внимание
HAL_Init();
SystemClock_Config();
MX_GPIO_Init();
MX_USART2_UART_Init();
// тут уже пишем наши магические буковы
while (1)
{
HAL_UART_Transmit(&huart2, message, messageSize, 1000); //отправка сообщений в
HAL_Delay(2000);
HAL_GPIO_TogglePin(LED_GPIO_Port, LED_Pin);
}
}
собираем, заливаем, проверяем иии...
Неожиданно, но и такое тоже может быть, что произошло? Я подключал свою g474 c помощью китайского ЛБП в хруще, а тут, так получилось, нет нормальной земли и бывают соседи, что любят заземляться на батареи, отсюда и шумная земля. Что делать? Я решил эту проблему через запитку отладочной платы от ноута... Всё, проблема решена))
Подключаем правильно, перезапускаем утилиту ииииии... вжух:
Наш контролер умеет писать сообщение вам в терминал, вот теперь ура!
На этом всё. Пока.

Под редакцией @midlifecriz [4]
Автор: Kosorukiy_Shiva
Источник [5]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/linux/425987
Ссылки в тексте:
[1] https://www.st.com/en/development-tools/stsw-link009.html: https://www.st.com/en/development-tools/stsw-link009.html
[2] https://www.putty.org/: https://www.putty.org/
[3] https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html: https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html
[4] @midlifecriz: https://www.pvsm.ru/users/midlifecriz
[5] Источник: https://habr.com/ru/articles/930296/?utm_source=habrahabr&utm_medium=rss&utm_campaign=930296
Нажмите здесь для печати.