Аббривиатуры на чужеземном

CMSIS - Cortex Microcontroller Software Interface Standard

A vendor-independent hardware abstraction layer for Cortex-M processors. https://developer.arm.com/tools-and-software/embedded/cmsis

Суть в том , чтобы писать код для ARM независимо от производителя чипа.


CMSIS-Driver: Generic peripheral interfaces for middleware and application code

    Сразу , чтобы не путаться главные абревиатуры на чужеземном:
  • SPL(Standard Peripheral Library)
  • FreeRTOS— многозадачная операционная система реального времени (ОСРВ) для встраиваемых систем. Портирована на 35 микропроцессорных архитектур (в.т.ч и на наш STM32).
  • Cube HAL(Hardware abstraction layer) - библиотека призвана нам помочь унифицировать команды для всех контроллеров STM. Вот некоторые примеры:
    HAL_UART_Transmit(&huart2,(uint8_t *)&johny,23,100); //PA2
    HAL_GPIO_TogglePin(GPIOE, GPIO_PIN_15);
  • OpenOCD- Open On-Chip Debugger
  • ARM Core Sight- встроенное в микроконтроллере ядро для трассировки отладочных сообщений (очень полезная фича, но настройка требует большого времени)
  • SWD- Serial Wire Debug
  • ITM(Instrumentation Trace Macrocell) - полезная штука для отладки , проще говоря позволяет выкидывать трассировочные сообщения по SWO (вам в окно Debug (printf) Viewer) не нагружая особо контроллер.