STM32CubeMonitor стоит попробовать

Введение


STM32CubeMonitor — утилита для удобного отображения данных с контроллеров семейства STM32. Причем не требуется никакого дополнительного оборудования, только плата с контроллером и программатор (я пробовал и китайский свисток и оригинальный st-link\v2). Слово «Cube» в название не означает привязку к CubeMx\HAL, от вас требуется всего лишь прошивка в формате "*.elf", что не может не радовать. Данная утилита позволяет чрезвычайно быстро и просто выводить данные с контроллера в реальном времени в виде графика, а так же осуществлять постобработку(присутствуют наборы основных математических и тригонометрических функций).

Пример графика


Начало работы


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

Данную утилиту можно скачать по ссылке. Устанавливаем, запускаем и видим окно программы.

Окно программы


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

  • Первое что потребуется (acq in\acq out) это компоненты непосредственно отвечающие за ввод\вывод информации с контроллера. 2 ЛКМ по (acq in) настраиваем Probe (выбрать ваш программатор) и Name (на свой вкус, у меня myProbe_In), таким же образом настраиваем (acq out).
  • Далее нам потребуется компонент variables. Для него надо задать:

    Group Name (my_Variables) и настроить конфигурацию Executable: задать Name, Folder путь к папке с прошивкой, File выбрать файл из списка. В Таблице Variable List выбрать нужные переменные и нажать кнопку Update

    Настройка конфигурации

  • После этого добавляем компонент processing, настраиваем Group Name тут будет то же самое что и в компоненте variables. В поле Outputs появятся переменные, которые вы выбрали для мониторинга. Внизу есть панель Post-processing, она позволяет настроить обработку данных при помощи различных встроенных функций.
  • Следующий шаг: добавить кнопки button управления процессом обмена данных (start\stop) и кнопку очистки графика (clear). Кнопкам надо задать Label (на свой вкус) и Topic (start, stop и clear соответственно), без указания Topic ничего работать не будет.
  • Далее добавляем компонент chart, у меня задаём Group, остальное можно оставить без изменений. Комбинация клавиш Ctrl+Space открывает панель с информацией о компоненте, где можно ознакомиться с описанием каждого свойства.
  • На последнем шаге соединяем компоненты, как показано на картинке, нажимаем кнопку DEPLOY, видим зеленые индикаторы под ключевыми компонентами, означающие, что всё заработало и нажимаем DASHBOARD.

    Соединение


    В появившемся окне нажимаем кнопку start и наслаждаемся визуальным представлением получаемых данных.

Заключение


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

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

Официальное описание утилиты
AdBlock похитил этот баннер, но баннеры не зубы — отрастут

Подробнее
Реклама

Комментарии 12

    0
    Интересно, есть пара вопросов.
    1. Насколько режим активного мониторинга затормаживает исполнение кода?
    2. Важно ли, с какими ключами скомпилирован elf?
    Есть мысль использовать эту утилиту для отладки процессов freeRTOS.
      0
      Затормаживает также как ваш отладчик в режиме debug при просмотре значения переменной.
      Но, можно задавать скорость — непрерывно или частоту 0,1 Гц, 1 Гц и т.д.
      Насчет elf не скажу, но у меня эта программа axf подцепила из Keil
        0
        >Есть мысль использовать эту утилиту для отладки процессов freeRTOS.
        Segger SystemView не пробовали?
          0

          1) Ни на сколько, т.к. программатор просто считывает адрес, по которому сохранена переменная. По крайней мере так заявляют в ST.
          2) Нет, см. п 1 про адреса.

          +4
          Эта публикация не претендует на туториал, я всего лишь хочу обратить внимание ...
          Спасибо за обращение внимания, но в самой публикации ничего не понятно.
            0
            Не понятно что делать\ зачем всё это?
            0
            А есть какие-нибудь свободные альтернативы монитору?
            Насколько я понял, нужно через GDB сервер работать?
              0
              STM-STUDIO-STM32 была поудобнее
                0
                Интересное приложение. Первое впечатление — много телодвижений для вывода графика пары переменных. В настройках элемента ожидал увидеть кнопку для вызова справки по данному элементу (по примеру MATLAB-Simulink и подобных программ), но не увидел. Такой функционал по опыту работы очень удобен. Возникает много вопросов по процессу соединения блоков, интуитивно не понятно, RTFM в помощь)))
                Для мониторинга в почти реальном времени использовал другую разработку от ST под названием STM Studio, которая также позволяет смотреть графики изменения внутренних переменных, обращаясь напрямую по адресу (иногда бывает очень удобно) и здесь это также можно сделать
                  0
                  Первый раз да, потом просто загружаешь новую прошивку, выбираешь переменные из списка и всё работает.
                    0
                    А можно как-то самому располагать элементы в окне Dashboard? Со стандартным Basic Flow он выглядел иначе, но после того, как я его заполнил согласно вашей инструкции, окно Dashboard изменилось — кнопки IMPORT DATA, CLEAR и START съехали вниз
                      0
                      Пробуйте играться в меню Layout, кнопкам можно задавать размер и смотреть как это влияет на внешний вид. После каждого изменения не забывайте Deploy:
                      см. скриншот

                Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

                Самое читаемое