У ST есть утилита STM32CubeMonitor , которая позволяет по SWD/JTAG следить за конкретными переменными в физической памяти (REG, RAM, ROM) микроконтроллера. Передаешь STM32CubeMonitor *.elf файл и подключаешь по SWD Target. Причем эта Tool(а) позволяет строить графики по значениями переменных в памяти. Это как утилита ArtMoney в случае с взломом компьютерных игр на PC, только для микроконтроллера. STM32CubeMonitor удобна при отладке систем автоматического управления (ПИД регуляторы), цифровых фильтров, триггеров Шмитта и прочей DSP обработки.

Постановка задачи

Научиться наблюдать за конкретной переменной в RAM памяти в реальном масштабе времени.

Определения

SWD - двухпроводной полудуплексный интерфейс для программирования микроконтроллеров.
target устройство - то, что мы программируем. Электронная плата с микроконтроллером.

Что надо из оборудования?

Название

Назначение

Программатор ST-Link/V2-1

Переходник между интерфейсом USB и интерфейсом SWD

Кабель USB mini

Для соединения LapTop-a и программатора

Перемычки гнездо-гнездо

Для соединения внешней PCB и программатора по интерфейсам SWD и UART.

Target устройство

То что мы будем программировать

Что надо из ПО?

Прежде всего вам потребуется программа STM32 ST-Link Utility, чтобы загрузить прошивку в микроконтроллер. Далее при помощи утилиты setupSTM32CubeMonitor_1.11.0.exe мы будем просматривать интересующие нас переменные в работающей прошивке.

Программная часть.

Вот так выглядит GUI программы STM32CubeMonitor. По умолчанию там уже нарисована типовая классическая схема для большинства случаев применения.

Вот главное окно

 Фаза 1. Подготовить бинарь с отладочными символами. 

Подготовить бинарь с отладочными символами. Надо собрать прошивку с ключами компилятора -g -gdwarf-2.

Фаза 2. Прошить микроконтроллер.

Прошивку, которую мы и будет отлаживать надо сперва прописать в NOR Flash память микроконтроллера.

Фаза 3. выбор программатора

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

Фаза 4. Загрузить .elf файл

Чтобы программа поняла какие в прошивке есть переменные их надо импортировать из elf файла. Делается это в узле VariableNode.

Нажимаем Add и появляется подтверждение выбора переменных. Нажимаем кнопку Done

Остается нажать deploy и DashBoard. После чего появляется график зависимости переменной от времени.

Итоги
Удалось научиться пользоваться утилитой STM32CubeMonitor. Программное обеспечение STM32CubeMonitor в самом деле позволяет выводить значения глобальных переменных (по сути считывая значение с ОЗУ) в виде графиков. Однако интерфейс своеобразный и потребует привыкания.

Ссылки

STM32CubeMonitor

URL

STM32CubeMonitor

http://www.emcu.eu/stm32cubemonitor/

Разбираеися с CubeMonitor

https://www.zenembed.com/ru/cubemon

Как пользоваться STM32CubeMonitor (графики, приборы) и зачем нужно

https://cxemka.com/103-kak-polzovatsja-stm32cubemonitor-grafiki-pribory-i-zachem-nuzhno.html

Программатор из обломка платы Nucleo

https://habr.com/ru/articles/975880/

Пошаговая GDB отладка прошивки STM32 из консоли cmd

https://habr.com/ru/articles/979122/

16 Способов Отладки и Диагностики FirmWare

https://habr.com/ru/articles/681280/

Настройка ToolChain(а) для Win10+GCC+С+Makefile+ARM Cortex-Mx+GDB

https://habr.com/ru/articles/673522/

Обзор утилиты TunerPro (или const volatile)

https://habr.com/ru/articles/965828/

STMStudio — отладка в реалтайме. Ещё один урок

https://www.drive2.ru/b/2049876/

Пошаговая GDB отладка ARM процессора из консоли в Win10

https://habr.com/ru/articles/694708/

Почему Нам Нужен UART-Shell? (или Добавьте в Прошивку Гласность)

https://habr.com/ru/articles/694408/

Комментарии (13)


  1. sim2q
    15.02.2026 22:02

    триггеров Шмитта и прочей DSP обработки.

    Не ну аналоговый аналог тоже можно сделать, но как то это сразу бросает тень на всю статью.

    С STM32CubeMonitor не смог справиться, пришлось даже использовать специально старый линковщик для отладки с соотв флагами и какой то скрипт, но всё равно уже что то ломается.


    1. danil_12345 Автор
      15.02.2026 22:02

      С STM32CubeMonitor не смог справиться

      STM32CubeMonitor  - это ярчайший пример того, как контора ST угробила хороший продукт STMStudio  в пользу какой-то мути типа CubeMonitor .

      На радость фирме Segger со своим J-Scope!


      1. sim2q
        15.02.2026 22:02

        .


  1. besitzeruf
    15.02.2026 22:02

    Отвратительнейшая утилита. ИМХО.


    1. danil_12345 Автор
      15.02.2026 22:02

      Отвратительнейшая утилита. ИМХО

      Полностью в Вами согласен! Уж лучше J-Scope или тот же STMStudio (который map поедал)


    1. danil_12345 Автор
      15.02.2026 22:02

      Отвратительнейшая утилита. ИМХО

      Да. Вы правы! Голосование говорит само за себя. cube monitor - отстой.


  1. iganiv
    15.02.2026 22:02

    Передрали сеггеровский J-Scope, походу. Реально удобная прога (у сеггера). Единственное - можете закидывать меня какашками - абсолютно все ПО такого типа, написанное на джаве - это 99.99% тормозной мусор с кучей ошибок (самый явный пример - микрочиповский MPLab X). Но даже этот тормозной мусор лучше, чем Keil или IAR за миллионы рублей денег (привет Миландру с его «импортозамещением»).


    1. danil_12345 Автор
      15.02.2026 22:02

      Передрали сеггеровский J-Scope, походу. Реально удобная прога (у сеггера).

      Спасибо Вам, что дали наводку на J-Scope. Попробовал. Понравилось. С сегодняшнего дня я бросаю STM32CubeMonitor   в помойку и отдаю приоритет J-Scope.


    1. ColdHam
      15.02.2026 22:02

      Не то чтобы мне хотелось защищать миландр, но хочу отметить что в новых МК на RISC v (mdr1206xxx) Кейл отвалился ТК он всё-таки корнями уходит в arm, iar - да, поддерживается, но также есть мануалы и статьи на оф сайте по настройке eclipse или vscode для работы


  1. AndronNSK
    15.02.2026 22:02

    А что, для STM нет IDE с отладкой, чтобы не пользоваться мутными утилитами?

    Как я помню, 10 лет назад я брал GDB, Eclipse и отлаживался без утилит.


    1. sami777
      15.02.2026 22:02

      Ну как же нет, все уже давно есть! Просто эти программы как раз из того времени пришли, когда полноценных IDE не было, например, у меня на рабочем столе до сих пор пылится STMStudio - как раз то, что было до того, что описал автор. А так на текущий момент Atolic true studio и CubIDE - полноценные IDE, поддерживающие полноценную отладку не только через SWD, но и через SVW.


      1. danil_12345 Автор
        15.02.2026 22:02

        "у меня на рабочем столе до сих пор пылится STMStudio - как раз то, что было до того, что"

        Хорошая новость.
        У Вас остался какой-либо дистрибутив STMStudio версии 2.х? Тот который работает с *.map файлами.


        1. sami777
          15.02.2026 22:02

          Увы, нет. Сейчас посмотрел версию установленного у меня продукта (дистрибутив есть) - вер. 3.6.