Автор: Carmine Noviello
Год: 2018
На данный момент книга «Освоение STM32» («Mastering STM32») является наиболее всеобъемлющим пособием по одной из популярнейших платформ STM32. Книга определенно заслуживает внимания как для тех, кто начинает работу с микроконтроллером STM32, так и для тех, кто уже знаком с ней, но только начинает изучать более продвинутые темы, такие как операционные системы реального времени и процесс начальной загрузки МК.
Книга особенно выделяется на общем фоне тем, что не является компиляцией даташитов от производителя, как традиционно принято писать о микроконтроллерах. Вместо этого автор описывает те аспекты, которые довольно скудно и бессистемно освещены в литературе: настройка среды разработки (в данном случае это Eclipse+GCC), конфигурирование ядра и периферии МК при помощи STM32CubeMX, использование библиотеки STCube HAL. Материал изобилует практическими примерами, для каждого устройства приводятся фрагменты работы с использованием опроса, прерываний и DMA (если поддерживается устройством).
Большой раздел посвящен описанию FreeRTOS и ее расширений, добавленных разработчиками ST. Есть также небольшой обзор других RTOS на случай, если выбор разработчика склонится не в пользу FreeRTOS. Описаны дополнительные модули для работы с носителями формата FAT (на базе популярной библиотеки FatFs) и для разработки в области IoT (с примером на W5500). Делающим самые первые шаги может пригодиться раздел, посвященный конструированию собственной платы. Материал там начального уровня, но от досадных примитивных ошибок может оградить. В приложениях помимо справочной информации, которую без труда можно найти на сайте производителя, есть раздел «Руководство по поиску и устранению неисправностей», в котором приведены наиболее типовые ошибки начинающих. Пожалуй, во многих случаях он поможет сэкономить гораздо больше времени, чем поиск по многочисленным форумам поддержки.
Из недостатков книги самый существенный – это полное отсутствие материалов по STM32CubeIDE – основному официальному инструменту разработки от ST. Это связано с тем, что первая версия книги увидела свет больше шести лет назад, когда ST не имела свою IDE, а позже у автора просто не хватило сил переписать начало книги заново.
Возможно, вскоре мы дождемся и такой книги. Однако описанный процесс настройки своего окружения на базе Eclipse IDE и GNU ARM Embedded может прояснить многие аспекты работы того же STM32CubeIDE.