Перейти до основного вмісту

Огляд BSP

Підтримувані родини STM32: G4 · H5 · H7 · L4 · U5

Модуль BSP містить усі компоненти, необхідні для ініціалізації та підтримки апаратного забезпечення мікроконтролерів STM32 для заданої родини MCU.

Кожна родина STM32 доступна в окремій гілці Git. Наприклад, гілка STM32U5 містить усі компоненти BSP, потрібні для родини U5.

Структура​

  • Модуль Linker
    Генерує linker script відповідно до типу MCU, який вибрав користувач.

  • Модуль Startup

    • Викликає точку входу користувацького застосунку.
    • Ініціалізує секції пам'яті (RAM, .data, .bss тощо).
    • Виконує конструктори C++, якщо використовується C++.
  • Модуль MCAL
    Надає низькорівневі драйвери та доступ до периферії MCU.

  • Модуль RAL
    Забезпечує уніфікований доступ до бібліотек периферії (абстраговані заголовки LL/CMSIS) для всіх родин MCU.

  • Модуль HAL
    Надає високорівневу апаратну абстракцію для простішого керування периферією.

  • Конфігурація CMake
    Модуль BSP налаштовує компілятор і параметри збірки відповідно до вибраної родини MCU.
    Кожна гілка родини містить відповідний CMake toolchain і конфігурацію для цієї родини.

Використання​

  • Клонуйте репозиторій BSP і перейдіть на гілку, що відповідає вашій цільовій родині MCU, наприклад:
git clone <repo_url> bsp_project
cd bsp_project
git checkout STM32U5
  • Підключіть потрібні модулі BSP до проєкту через CMakeLists.txt.
  • Linker script, startup-код, MCAL, RAL та HAL автоматично налаштовуються відповідно до вибраної родини MCU.

Стратегія гілкування​

  • Кожна родина STM32 має власну гілку:
    • STM32U5 – містить BSP для родини U5
    • STM32H5 – містить BSP для родини H5
    • STM32H7 – містить BSP для родини H7
    • STM32G4 – містить BSP для родини G4
    • … та інші

Це дає змогу користувачеві працювати з одним і тим самим інтерфейсом BSP, підтримуючи кілька родин MCU за допомогою гілок.

Примітки​

  • Не змішуйте файли з гілок різних родин MCU.
  • Завжди збирайте проєкт з гілки, що відповідає цільовому MCU.
  • CMake автоматично вибирає правильний toolchain і прапорці компілятора для вибраної родини.

Ліцензія​

Цей проєкт ліцензовано за Creative Commons Attribution–NonCommercial 4.0 International (CC BY-NC 4.0).

Ви вільні використовувати, змінювати та поширювати цю роботу в некомерційних цілях за умови належного зазначення авторства.

Повні умови дивіться у LICENSE.md або на creativecommons.org/licenses/by-nc/4.0.


Автори​

Внески вітаються! Будь ласка, відкрийте pull request.


Підтримка родин​

G4H5H7L4U5
Linker✅✅✅✅✅
Документація✅✅——✅
RAL✅✅✅✅✅
MCAL✅✅✅✅✅