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

Інструменти проєкту

Цей модуль надає скрипти для Windows і Linux/Unix, які пропонують інтерактивне меню для виконання різних допоміжних скриптів CMake.
Він розроблений для спрощення налаштування та підтримки проєкту шляхом об'єднання часто використовуваних дій у зручному інтерфейсі.


📌 Головний екран​

Після запуску скрипта головне меню виглядає так:

=====================================
1. Create module
2: Add component
3: Add CMake file
4: Initialization
5: Exit
=====================================
Enter your selection (1-5):

Примітка: фактичне меню може відрізнятися залежно від конкретної реалізації та доступних скриптів.


Створення модуля​

Ця опція дозволяє користувачеві створити новий модуль у проєкті.
Після вибору скрипт запитає назву модуля та інші відповідні дані, а потім згенерує необхідну структуру тек і файлів.

Створювана структура тек:​

ModuleName/
├─ CMakeLists.txt
├─ ModuleName_Port.h
├─ ModuleName_Types.h
├─ ModuleName.c
└─ ModuleName.h

CMakeLists.txt​

Файл CMakeLists.txt міститиме базову конфігурацію для включення модуля до системи збірки. Він згенерує ціль статичної бібліотеки для модуля. Назва бібліотеки збігатиметься з назвою модуля із постфіксом "_Lib".

ModuleName_Port.h​

Цей заголовковий файл міститиме публічні визначення портів модуля, наприклад прототипи функцій. Користувач не повинен напряму викликати жодних інших внутрішніх функцій. Це має бути єдина точка входу до модуля.

ModuleName_Types.h​

Цей заголовковий файл міститиме всі публічні визначення типів, переліки, структури та макроси.

ModuleName.c​

Цей файл із вихідним кодом міститиме реалізацію функцій модуля. Цей файл зазвичай використовується як публічний API модуля. Усі необхідні зовнішні функції мають бути інкапсульовані тут так само, як і публічні функції, визначені в ModuleName_Port.h.

ModuleName.h​

Цей заголовковий файл міститиме внутрішні визначення типів, переліки, структури та макроси, що використовуються лише всередині модуля.


Додавання компонента​

Ця опція дозволяє користувачеві додати новий компонент до наявного модуля. Після вибору скрипт запитає назву модуля та дані компонента, а потім згенерує необхідні файли в указаному модулі.

Створювана структура тек:​

ModuleName/
├─ CMakeLists.txt - Existing file
├─ ModuleName_Port.h - Existing file
├─ ModuleName_Types.h - Existing file
├─ ModuleName.c - Existing file
├─ ModuleName.h - Existing file
├─ ModuleName_ComponentName.c - New component source file
└─ ModuleName_ComponentName.h - New component header file

Додавання файлу CMake​

Ця опція дозволяє користувачеві створити або оновити файл CMakeLists.txt для певного модуля.


Ініціалізація​

Після вибору скрипт відобразить підменю з різними опціями ініціалізації.

=====================================
1: Initialize folder structure
2: Initialize BSP module
3: Back to main menu
=====================================
Enter your selection (1-3):

Ініціалізація структури тек​

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

Створювана структура тек:​

ProjectRoot/
├─ CMakeLists.txt - Project root CMake file
├─ ArtifactsConfig.txt - Artifacts configuration file
├─ Application/ - Project application part
│ ├─ AppCom/ - Application communication modules
│ ├─ AppComp/ - Application components (Low level logic)
│ ├─ AppFun/ - Application functionalities (High level logic)
│ ├─ AppCore/ - Application core (Top level logic)
│ ├─ AppMain/ - Application main file
│ └─ App.cmake - Application CMake file
├─ Middlewares/ - Project middlewares part
├─ BSP/ - Board Support Package
└─ STM_Template/ - CMake build system submodule

Ініціалізація модуля BSP​

Ця опція ініціалізує модуль Board Support Package (BSP). Скрипт запитає цільовий мікроконтролер і налаштує необхідні файли та конфігурації.

Створювана структура тек BSP:​

BSP/ - Board Support Package
├─ Hal/ - Hardware Abstraction Layer
├─ Mcal/ - Microcontroller Abstraction Layer
├─ Ral/ - Register Abstraction Layer
├─ Linker/ - Linker script
├─ Startup/ - Startup files
├─ Docs/ - BSP documentation
└─ Bsp.cmake - BSP CMake file

⚙️ Вимоги​

Наведені нижче інструменти мають бути встановлені та доступні в PATH вашої системи:

  • CMake
  • Git

Усі інші залежності керуються самими скриптами CMake.


📝 Примітки​

  • Кожен пункт меню викликає певний скрипт CMake, розташований у теці Scripts/.
  • Скрипт забезпечує узгоджений порядок виконання, тож вам не потрібно вручну викликати команди CMake.

Ліцензія​

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