Программирование ARM Cortex Microcontroller Software Interface Standard Sun, December 08 2019  

Поделиться

Нашли опечатку?

Пожалуйста, сообщите об этом - просто выделите ошибочное слово или фразу и нажмите Shift Enter.

Cortex Microcontroller Software Interface Standard Печать
Добавил(а) microsin   

Cortex Microcontroller Software Interface Standard (CMSIS) обеспечивает полную поддержку устройств и предоставляет простые программные интерфейсы к ядру процессора и его периферийным устройствам. По сути это набор библиотек, упрощающих для разработчиков повторное использование кода, обучение программированию новых моделей микроконтроллеров (MCU), что в результате уменьшает время выхода на рынок новых встраиваемых устройств.

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

CMSIS был определен в близкой кооперации с разными производителями процессоров и компиляторов. Обеспечивается общий интерфейс к периферийным устройствам, операционным системам реального времени (RTOS) и компонентам библиотек сторонних производителей.

CMSIS-SVD обеспечивает целостный взгляд на MCU и его периферийные устройства. Для каждого поддерживаемого микроконтроллера отладчики могут предоставить подробный просмотр периферийных устройств и текущее состояние регистров. Файлы CMSIS-SVD [2] обеспечивают этот просмотр и гарантируют, что отображение отладчика соответствует актуальной реализации периферийных устройств MCU.

Последняя версия библиотеки CMSIS (ver. 5) опубликована на GitHub [3].

CMSIS-RTOS обеспечивает строго определенный в реальном времени выполнение кода программы (Deterministic Real-Time Software Execution). Концепция super-loop (бесконечный цикл в функции main) адекватна только для простых встраиваемых приложений. Микроконтроллеры Cortex-M разработаны в расчете на использование операционных систем реального времени (RTOS), которые дают более гибкое управление ресурсами и процессорным временем MCU.

CMSIS-RTOS это API, предоставляющее программные слои для промежуточных и библиотечных компонентов. CMSIS-RTOS RTX работает на каждом устройстве Cortex-M, она признана как образцовая реализация RTOS, простая в освоении и использовании.

CMSIS-DSP это быстрая библиотечная реализация цифровой обработки сигналов. Разработка приложений цифровой обработки сигналов (DSP) весьма не тривиальна, так как алгоритмы DSP создают большую нагрузку комплексных математических операций, которые критичны к времени выполнения.

В библиотеке CMSIS-DSP собран богатый набор функций DSP, которые оптимизированы для различных ядер Cortex-M. CMSIS-DSP широко используется в индустрии, и позволяет также использовать оптимизированную генерацию кода языка C от различных инструментов сторонних производителей.

CMSIS-Driver: стандартные интерфейсы к периферийным устройствам для промежуточных библиотек и кода приложения. Подключение к периферийным устройствам со стороны приложения может усложняться, когда каждый раз используется другая модель MCU. Готовые интерфейсы CMSIS-Driver решают эту проблему, так как они поддерживают почти все доступные на сегодняшний день модели MCU. Это значительно упрощает написание ПО и портирование драйверов на различные процессоры.

CMSIS-Packs: простой доступ к повторно используемым программным компонентам. В прежние времена программные модули сложно интегрировались в проект, так как их исходный код и заголовочные файлы требовали непрозрачных зависимостей, не имели целостной документации, или в них отсутствовала информация о лицензировании. Поскольку CMSIS-Packs определяет структуру программных пакетов, где содержатся программные компоненты, то эти проблемы решены. Теперь программные библиотеки просто выбрать, и ясно определены их зависимости от других программных компонентов [4].

CMSIS-DAP: поддержка недорогих плат разработчика. Многие производители MCU выпускают оценочные платы, демонстрирующие возможности продукции. Часто на этих платах интегрирован недорогой отладчик, однако различные интерфейсы требуют специфической настройки инструментария. CMSIS-DAP это стандартизованный интерфейс к порту отладки (Cortex Debug Access Port, DAP), и он используется многими стартовыми наборами, и поддерживается различными отладчиками.

CMSIS-NN: эффективные ядра нейронных сетей. Это коллекция библиотек, разработанных для максимальной производительности и уменьшения потребляемой памяти на ядрах процессоров Cortex-M [5].

[Ссылки]

1. Cortex Microcontroller Software Interface Standard site:arm.com.
2. CMSIS-SVD System View Description site:arm-software.github.io.
3. CMSIS 5.5.1 site:github.com.
4. CMSIS-Packs site:developer.arm.com.
5. CMSIS NN Software Library site:arm-software.github.io.

 

Добавить комментарий


Защитный код
Обновить

Top of Page