Виртуальная лаборатория для изучения архитектуры и программирования микроконтроллеров STM32

Авторы

  • К. С. Кузнецов ИжГТУ имени М. Т. Калашникова
  • В. Г. Тарасов ИжГТУ имени М. Т. Калашникова

DOI:

https://doi.org/10.22213/2410-9304-2021-4-98-110

Ключевые слова:

микроконтроллер, архитектура, программирование, ассемблер, виртуальная лаборатория, отладка, удаленное управление

Аннотация

В настоящее время проектирование платформ на микроконтроллерах является очень перспективным направлением из-за их удешевления и увеличения производительности микросхем. Микроконтроллеры устанавливают в промышленное оборудование, в смартфоны и аудиоплееры, в видеотехнику и многое другое. В статье приводятся теоретические основы для работы с микроконтроллерами серии STM32, их назначение, системная архитектура, программная модель, а также особенности ядра ARM Corteх M3. Данное 32-битное ядро имеет много преимуществ, но основное из них - универсальность. Описывается структура программно-технического комплекса для изучения и программирования микроконтроллеров, размещенных на удаленном сервере, с применением режима пошаговой отладки. Рассмотрены особенности написания программ для микроконтроллеров серии STM32. Виртуальная лаборатория является платформой для наглядного изучения микроконтроллеров и языка программирования Ассемблер. Система позволяет программировать, прошивать и отлаживать микроконтроллеры без их приобретения. Пользователь может тестировать свой код на реальном устройстве и в реальном времени просматривать области памяти, регистры и другую отладочную информацию, а также с помощью видеотрансляции наблюдать за всеми изменениями в периферийных устройствах. Веб-интерфейс GDB GUI позволяет не устанавливать дополнительные приложения, а отлаживать программу прямо в браузере. К системе могут быть подключены всевозможные датчики и индикаторы, с которыми пользователь может работать. Приведены примеры программ, написанных на языке программирования Ассемблер, для демонстрации работы виртуальной лаборатории. Предложенную платформу можно интегрировать в обучающий курс по изучению языка программирования Ассемблер.

Биографии авторов

К. С. Кузнецов, ИжГТУ имени М. Т. Калашникова

В. Г. Тарасов, ИжГТУ имени М. Т. Калашникова

кандидат технических наук, профессор, профессор кафедры «Программное обеспечение»

Библиографические ссылки

Голубцов М. С. Микроконтроллеры AVR: от простого к сложному. М. : СОЛОН-Пресс, 2003. 286 с.

Благодаров А. В. Программирование микроконтроллеров семейства 1986ВЕ9х компании Миландр. М. : Горячая линия-Телеком, 2017. 232 с.

STM32: эпоха 32-битных микроконтроллеров наступила: сайт. URL: https://www.compel.ru (дата обращения: 09.06.2021). Текст: электронный.

Joseph Y. The Definitive Guide to the ARM® Cortex-M3 - Elsevier Inc, 2010. 531 p.

RM0008. Reference manual. STM32F101xx, STM32F102xx, STM32F103xx, STM32F105xx and. STM32F107xx advanced ARM®-based 32-bit MCUs. STMicroelectronics 2015. 1137 p. Режим доступа: www.st.com/resource/en/reference_manual/cd00171190.pdf (дата обращения: 09.06.2021).

Joseph Y. Embedded Systems with ARM Cortex-M Microcontrollers in Assembly Language (2nd Edition) - E-Man Press LLC, 2016. 545 p.

Trevor M. The Insider’s Guide to the STM32 ARM Based Microcontroller. Hitex Ltd., 2009. 106 p.

Geoffrey B. Discovering the STM32 Microcontroller. Indiana University, 2019. 244 p.

Carmine N. Mastering the STM32 Microcontroller. Leanpub, 2016. 819 p.

Warren G. Beginning STM32: Developing with FreeRTOS, libopencm3 and GCC. Apress, 2018. 430 p.

Артур Г. GCC. Настольная книга пользователей, программистов и системных администраторов. СПб. : ТИД "ДС", 2004. 624 с.

Vincent M. Assembly Language Programming - ISTE Ltd and John Wiley & Sons, Inc, 2012. 258 p.

Majid P. Advanced Programming with STM32 Microcontrollers. Elektor, 2020. 216 p.

Richard M. Using the GNU Compiler Collection. GNU Press, 2003. 458 p.

RealView® Development Suite. Getting Started Guide. URL: https://developer.arm.com/documentation/dui0255/b (дата обращения: 09.06.2021).

OpenOCD - Open On-Chip Debugger. Reference Manual. URL: http://openocd.org/doc/pdf/openocd.pdf (дата обращения: 09.06.2021).

A browser-based frontend to gdb (gnu debugger). Documentation. URL: https://www.gdbgui.com (дата обращения: 09.06.2021).

Загрузки

Опубликован

21.12.2021

Как цитировать

Кузнецов, К. С., & Тарасов, В. Г. (2021). Виртуальная лаборатория для изучения архитектуры и программирования микроконтроллеров STM32. Интеллектуальные системы в производстве, 19(4), 98–110. https://doi.org/10.22213/2410-9304-2021-4-98-110

Выпуск

Раздел

Статьи