Přeskočit na hlavní obsah

Nástroje projektu

Tento modul poskytuje skripty pro Windows a Linux/Unix, které nabízejí interaktivní menu pro spouštění různých pomocných skriptů CMake.
Jeho cílem je zjednodušit nastavení a údržbu projektu seskupením běžně používaných akcí do snadno použitelného rozhraní.


📌 Hlavní obrazovka​

Po spuštění skriptu vypadá hlavní menu takto:

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

Poznámka: Skutečné menu se může lišit podle konkrétní implementace a dostupných skriptů.


Create module​

Tato volba umožňuje uživateli vytvořit v projektu nový modul.
Po jejím zvolení se skript zeptá na název modulu a další relevantní údaje a poté vygeneruje potřebnou strukturu složek a soubory.

Vytvořená struktura složek:​

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

CMakeLists.txt​

Soubor CMakeLists.txt bude obsahovat základní konfiguraci pro začlenění modulu do build systému. Vygeneruje cíl statické knihovny pro modul. Název knihovny bude shodný s názvem modulu s příponou "_Lib".

ModuleName_Port.h​

Tento hlavičkový soubor bude obsahovat veřejné definice portu modulu, například prototypy funkcí. Uživatel nesmí volat přímo žádné jiné interní funkce. Toto musí být jediný vstupní bod do modulu.

ModuleName_Types.h​

Tento hlavičkový soubor bude obsahovat všechny veřejné definice typů, enumů, struktur a maker.

ModuleName.c​

Tento zdrojový soubor bude obsahovat implementaci funkcí modulu. Tento soubor se obvykle používá jako veřejné API modulu. Všechny potřebné externí funkce musí být zapouzdřeny zde, stejně jako veřejné funkce definované v ModuleName_Port.h.

ModuleName.h​

Tento hlavičkový soubor bude obsahovat interní definice typů, enumů, struktur a maker používaných pouze uvnitř modulu.


Add component​

Tato volba umožňuje uživateli přidat novou komponentu do existujícího modulu. Po jejím zvolení se skript zeptá na název modulu a podrobnosti o komponentě a poté vygeneruje potřebné soubory uvnitř zadaného modulu.

Vytvořená struktura složek:​

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

Add CMake file​

Tato volba umožňuje uživateli vytvořit nebo aktualizovat soubor CMakeLists.txt pro konkrétní modul.


Initialization​

Po zvolení skript zobrazí podmenu s různými možnostmi inicializace.

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

Initialize folder structure​

Tato volba vytvoří základní strukturu složek projektu, včetně adresářů pro zdrojové soubory, hlavičky a testy.

Vytvořená struktura složek:​

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

Initialize BSP module​

Tato volba inicializuje modul Board Support Package (BSP). Skript se zeptá na cílový mikrokontrolér a nastaví potřebné soubory a konfigurace.

Vytvořená struktura složek 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

⚙️ Požadavky​

Následující nástroje musí být nainstalovány a dostupné v systémové proměnné PATH:

  • CMake
  • Git

Všechny ostatní závislosti spravují samotné skripty CMake.


📝 Poznámky​

  • Každá položka menu volá konkrétní skript CMake umístěný v adresáři Scripts/.
  • Skript zajišťuje konzistentní průběh provádění, takže nemusíte příkazy CMake volat ručně.

Licence​

Tento projekt je licencován pod licencí CC BY-NC.
Můžete jej volně používat, upravovat a sdílet pro nekomerční účely s uvedením autora.