Главная » Статьи » Библиотеки CMSIS для STM32 ver. 3.1.0

Библиотеки CMSIS для STM32 ver. 3.1.0

Работа непосредственно с 32-битными регистрами микроконтроллеров является не легкой задачей. Хотя можно написать приложение с использованием имен реестра, внесение изменений в существующую программу даже через короткий промежуток времени практически невозможно в разумные сроки.

По этой причине разработчики все чаще используют предопределенные функции, которые выполняют операции над командами из многих регистров. Производитель предоставляет полные библиотеки в соответствии со стандартом CMSIS (Стандарт программного обеспечения для микроконтроллеров Cortex) для микроконтроллеров STM32 (а также для других, оснащенных ядром Cortex-M3).

Они позволяют полностью контролировать микроконтроллеры из семейства STM32 без необходимости подробно изучать секреты встроенной периферии, что, конечно, не исключает возможности прямой работы с регистрами.

Структура интерфейса CMSIS и его место в приложении показано на рис . 1 .

Библиотеки CMSIS для STM32 ver. 3.1.0

Рис. 1. Конструкция интерфейса CMSIS и его место в приложении

Стандарт CMSIS разделен на два основных уровня: базовый уровень периферийного доступа и промежуточный уровень доступа. Первый уровень содержит определения имен и обеспечивает доступ к базовым регистрам и периферийным устройствам, а второй уровень обеспечивает механизмы взаимодействия с интерфейсами связи.

Кроме того, вышеупомянутые уровни были расширены производителями микроконтроллеров, которые сотрудничали в создании CMSIS двумя «уровнями»: уровень доступа к периферийным устройствам и функции доступа для периферийных устройств.

CMSIS для STM32

Библиотека стандартных периферийных устройств STM32F10x v3.1.0 (StdPeriph_Lib) была написана в соответствии с форматом Doxygen, что значительно упрощает процесс создания документации и ее использования. Вся документация для этой библиотеки была включена в файл справки, а не в том виде, в котором она ранее применялась STMicroelectronics в отдельном файле PDF. Новый тип документации облегчил просмотр ее содержимого и поиск информации.

Вместе с архивом библиотеки StdPeriph_Lib мы получаем шаблоны проектов для трех самых популярных компиляторов (сред): IAR, Keil и ARM-GCC.

Структура файлов проекта, например, с использованием аналого-цифрового преобразователя, построенного на основе шаблона проекта для среды uVision, показана на рис. 2.

Рис. 2. Файловая структура среды uVision для проекта с использованием аналого-цифрового преобразователя

Если шаблон проекта копируется в текущий каталог, то компилятор должен быть проинформирован о том, где искать соответствующие файлы, и используемые источники должны быть добавлены в проект. Мы делаем это (в среде uVision), щелкая правой кнопкой мыши на имени проекта и выбирая опцию Manage Component из контекстного меню (рис. 2). Затем мы находим нужные файлы на диске и добавляем их.

Как упоминалось выше, для правильной компиляции проекта необходимо обновить места (пути), где компилятор будет искать заголовочные файлы * .h. Для этого выберите меню Project / Options for Target …, после чего откроется окно, в котором на вкладке C / C ++ редактируем путь для поиска файлов заголовков.

Структура библиотеки

Файлы в библиотеке были разделены на два блока (модули), расположенных в каталогах \ STM32F10x_StdPeriph_Driver и \ CMSIS. Дерево  каталогов модуля CMSIS Стандартной периферийной библиотеки показаны на рис. 3, а дерево STM32F10x_StdPeriph_Driver на рис. 4.

Рис. 3. Структура модуля CMSIS

Рис. 4. Структура модуля STM32F10x_StdPefriph_Driver

Оставить комментарий

Ваш email нигде не будет показанОбязательные для заполнения поля помечены *

*