×

Внимание

Форум находится в режиме только для чтения.

Программирование STM32. Сниппеты - примеры настройки периферии.

10 года 1 нед. назад #5937 от Alena
Компания STMicroelectronics, занимающая лидирующее положение на рынке микроконтроллеров на...

Компания STMicroelectronics, занимающая лидирующее положение на рынке микроконтроллеров на базе ядер Cortex-M, выпустила сборник примеров настройки периферии контроллеров с непосредственным управлением регистрами. Это ещё один инструмент для быстрой генерации кода настройки периферии STM32.

Snippets

В чём отличие от зарекомендовавшей себя библиотеки стандартной периферии? Стандартная библиотека обращалась к функциям, расположенным в разных файлах драйвера периферии. При этом для настройки периферии использовалась структура переменных типа PPP_InitStructureTypeDef, где PPP – это тип периферии (USART, ADC, GPIO и т.д). Программист приложения выделял место в ОЗУ для данной структуры, заполнял её, а потом вызывал библиотечную функцию настройки периферии. Библиотечная функция, в свою очередь, из полученной структуры формировала значения регистров и записывала их. В целом, для контроллеров, у которых много памяти, такие неисповедимые пути данных до места назначения незаметны. Отметим, что наиболее востребованными функциями стандартной библиотеки были как раз связанные с настройками. Управление же периферией зачастую осуществлялось прямой записью данных в нужный регистр.

Для контроллеров младших семейств инженеры компании STMicroelectronics написали огромный пул примеров настройки периферии. При этом каждый пример использует прямое управление регистром периферии при настройке. В результате код – минимальный с минимальным использованием памяти ОЗУ. Настройка периферии осуществляется моментально. Это и есть Snippets. Переводится это слово как «фрагменты», «отрывки». Скачать данное ПО можно тут.

Задача программиста:

  • определиться с используемой периферией
  • выбрать в папке \Projects нужные примеры настройки (небольшое знание английского – сильно поможет, название папки примера – даёт исчерпывающее понимание настройки)
  • с помощью копирования текста функций (либо файлов целиком, с переименованием) в свой проект осуществить интеграцию кода
  • доработать скопированный код возможно в ограниченных случаях (например, указание нужного канала АЦП, указание другого адреса для DMA и т.п.)
  • написать своё приложение, выполняемое ядром

На текущий момент это самое компактное, с точки зрения объёма кода и скорости исполнения, средство настройки периферии. Инструмент будет высоко оценен программистами, предпочитающими прямое управление без лишних программных абстракций.
Сейчас Snippets написаны для семейства STM32F0. Анонсировано создание аналогичного ПО для новейшего семейства STM32L0. В будущем появятся Snippets для других семейств микроконтроллеров невысокой производительности.

 

Получить более подробную информацию по продукции STMicroelectronics  вы можете, обратившись: 

E-mail: 
  Адрес электронной почты защищен от спам-ботов. Для просмотра адреса в вашем браузере должен быть включен Javascript.
Телефон: (343) 372-92-30 

Задать вопрос техподдержке вы можете на нашем форуме.

Время создания страницы: 0.042 секунд
Работает на Kunena форум