MCUHelper – утилита для мониторинга и редактирования переменных МК в runtime.

github.com/DIVON/MCUHelper

Основная цель данной программы — мониторить значения переменных, не вмешиваясь в процесс отладки.

Процесс общения с микроконтроллером происходит по UART1(может быть изменен). Для работы с приложением микроконтроллер периодически должен обслуживать UartReceiver_ruRefresh. Найти эту функцию и код для её работы в файлах из папки MCU/STM32. Рекомендую частоту обслуживания функции UartReceiver_ruRefresh в 4кГц. Скорость работы UART1 на стороне микроконтроллера должна быть 115200 8n1.
Общий вид программы представлен на скриншоте ниже.


Для того, чтобы начать работать с программой необходимо:
1) Добавить периодический вызов функции UartReceiver_ruRefresh в микроконтроллер и настроить переферию желаемого порта. Скомпилировать и прошить МК.
2)Выбрать скомпилированный elf файл через меню File->Open->Elf;
3)В открывшемся окне выбрать com port, к которому подключены Rx и Tx каналы микроконтроллера и нажать кнопку Connect.
4)Ввести в длинное пустое поле имя переменной, например uwTick, и нажать Enter;
5)Если всё прошло хорошо, то мы увидим, что значение переменной начнет увеличиваться или примет то значение, которое оно имеет сейчас в микроконтроллере.

Для редактирования переменных необходимо нажать на её имя в поле переменных, убедиться, что она отобразилась в поле Variable update, ввести новое значение в поле справа и нажать Enter.
Другой способ задания значения переменных состоит в открытии окна через меню Edit->ScollBar edit. В появившемся окне выбрать поле для обновления, выбрать диапазон и после этого, передвигая ползунок, можно наблюдать изменение значения переменной в поле переменных.
Для того, чтобы использовать другой микроконтроллер отличный от STM32F407VGT6, необходимо обновить диапазон RAM памяти в файле UartReceiver_Refresh.c в переменной memorySections.
Для того, чтобы при следующем запуске программы не восстанавливать все окна и наблюдаемые переменные, можно сохранить текущее представление с помощью команды File->Save view. При следующем запуске программы, выбрать Elf файл, подключиться и после этого открыть сохраненный view (File->Open->View).
Все баги программы принадлежат её автору и не могут быть оспорены. Исходный код программы предоставляется как есть. Вероятно, что-то и будет скорректировано мной в будущем, но это не точно.
  • +1
  • 20 августа 2020, 13:32
  • DIVON55
  • 1
Файлы в топике: image 1.png

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

RSS свернуть / развернуть
а чем не подошла STM-STUDIO-STM32?
www.st.com/en/development-tools/stm-studio-stm32.html
0
Она работает через SWD или JTAG протоколы, а мне нужна возможность удобного мониторинга системы и при этом чтобы не пропадала отладка. Поэтому решил использовать uart под эти нужды
0
понятно.
можно еще поднять скорость UART до двух (CH340), трех (FT232) мегабод
0
Поднять можно, но дело в том, что частота опроса ограничена возможностями windows. И для небольшого количества переменных(я думаю 20шт) даже текущей скорости достаточно.
0
Особо не разбирался, STM32 не мне не интересны, но похоже на функциональность очень сильно кастрированного монитора MON51 из Keil.
0
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.