Введение
В процессе отладки программ для микроконтроллеров довольно часто возникает необходимость в наблюдении за изменением некоторых переменных, используемых в программе, во время её выполнения. Это позволяет быстро обнаружить ошибку в программе или убедиться в её работоспособности.
Для реализации такого наблюдения, называемого мониторингом, применяют различные аппаратные отладчики в комплексе со специальными программами. Как правило, эти средства стоят довольно дорого и не всем доступны. Альтернативой данных средств может послужить бесплатный программный продукт компании STMicroelectronics [1], позволяющий следить за изменением любой переменой программы микроконтроллера и визуализировать её значения в виде графика на экране монитора компьютера в реальном масштабе времени.
Установка программы STM Studio
Программа STM Studio может работать с несколькими стандартизованными и доступными отладчиками микроконтроллеров. Одним из наиболее распространённых отладчиков является ST-Link SWD, входящий в состав популярной и недорогой отладочной демонстрационной платы STM32VLDISCOVERY для микроконтроллеров серии STM32.
Программа STM Studio устанавливается на компьютер с операционной системой Windows XP, Windows Vista или Windows 7. Для использования программы STM Studio на компьютере, необходимо загрузить её с источника [2] и выполнить стандартную установку. После установки данной программы на рабочем столе компьютера появится соответствующий ярлык.
Программа STM Studio разработана на базе Java и для своей работы требует наличия установленной программы java runtime environment, которую можно загрузить с источника [3].
Пример использования программы
Рассмотрим работу программы STM Studio на конкретном примере. Для этого будем использовать демонстрационную плату STM32VLDISCOVERY и небольшую программу для микроконтроллера STM32, содержащую переменную, регулярно изменяющую своё числовое значение.
Демонстрационная плата STM32VLDISCOVERY подключается к компьютеру с помощью интерфейса USB. В листинге приведён пример простой программы для микроконтроллера:
#include «stm32f10x.h»
// Функция программной задержки
void delay(void)
{
volatile uint32_t j, i;
for (j=0; j!=5000; j++) i++;
}
// Главный модуль программы
int main(void)
{
uint8_t n=0;
while(1) // Бесконечный цикл
{
n=n+1;
delay();
} // Конец цикла
} // Конец программы
В этой программе в основном цикле производится регулярное увеличение переменной «n» на единицу. Данную программу необходимо транслировать, например, в среде разработки Keil, с целью получения загрузочного файла для отладочной демонстрационной платы STM32VLDISCOVERY и служебного файла с расширением ELF, содержащего адреса переменных, используемых в программе. Загрузочный файл необходимо загрузить в отладочную плату STM32VLDISCOVERY.
В STM Studio имеется два способа добавить переменную для наблюдения за ней. Первый способ позволяет вручную создать переменную, указав адрес её расположения и тип данных. Адрес переменной можно узнать с помощью отладчика среды разработки. Второй способ позволяет добавить переменную импортированием из служебного файла, например, с расширением ELF. Воспользуемся вторым способом.
После установки и запуска программы STM Studio на экране монитора откроется главное окно программы (см. рис. 1).
В этом окне необходимо с помощью раскрывающего списка выбрать интерфейс отладчика ST-Link SWD. Затем потребуется импортировать адрес переменной «n», используемой в программе микроконтроллера, из подготовленного ранее служебного файла с расширением ELF. Для этого следует с помощью меню File -> Import variable открыть окно (см. рис. 2).
В этом окне необходимо нажать ниже строки Executable file программную кнопку выбора файла «…» и найти на компьютере подготовленный ранее файл с расширением ELF. После выбора файла и нажатия программной кнопки Select executable file в появившемся списке переменных следует выбрать интересующую переменную и нажать программную кнопку Import. После чего выбранная переменная окажется в списке для отображения на графике.
Теперь остаётся только задать тип переменной (для нашего случая «unsigned 8-bit») и цвет отображаемого графика.
Период обновления графика и формат данных, используемых в программе STM Studio, задаются в окне, открываемом с помощью меню Options -> Acquisition settings (см. рис. 3).
Здесь необходимо задать Word-variables format как Little endian (STM32 default) и установить желаемый период обновления графика.
Последней операцией будет запуск построения графика через меню Run -> Start или программной кнопкой с зелёным треугольником. Эта же кнопка используется для останова построения графика.
Масштаб отображаемого графика можно изменять с помощью колёсика манипулятора мыши.
В нашем примере переменная «n» будет регулярно изменять своё значение от 0 до 255, что приведёт к построению графика на экране монитора в виде пилы.
С помощью программы STM Studio можно отображать графики нескольких переменных одновременно. Для этого нужно будет добавить новые переменные в программу, заново транслировать её, записать в отладочную плату и импортировать новые переменные, как описано выше.
Таким образом, можно будет наблюдать на экране монитора графическое изменение переменных относительно друг друга.
Литература
Если вам понравился материал, кликните значок - вы поможете нам узнать, каким статьям и новостям следует отдавать предпочтение. Если вы хотите обсудить материал - не стесняйтесь оставлять свои комментарии : возможно, они будут полезны другим нашим читателям!