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.