A Git használatának megkezdése a Vitis IDE-ben
A Git használata a VSCode-on alapuló új "Unified Vitis" IDE-vel egyedülálló kihívásokat jelent a régebbi Eclipse-alapú verzióhoz képest. Az import/export projekt varázsló hiányzik a legújabb verzióból, ami nehézségeket okoz a verziókezelés hatékony kezelésében.
Ennek az útmutatónak a célja a Git in Vitis használata során felmerült problémák megoldása, beleértve az abszolút elérési utakkal generált fájlok kezelését és a különböző fejlesztői rendszerek közötti zökkenőmentes együttműködés biztosítását. Megvizsgálunk egy gyakorlati munkafolyamatot, amellyel hatékonyan kezelheti Vitis-projektjeit a Git segítségével.
Parancs | Leírás |
---|---|
import vitis | Importálja a Vitis API-t a Vitis projektekkel való programozott interakcióhoz. |
client.set_workspace() | Beállítja a Vitis ügyfél munkaterület-könyvtárát a projektfájlok kezeléséhez. |
client.create_platform_component() | Új platform-összetevőt hoz létre a Vitis munkaterületen a megadott hardver- és operációsrendszer-paraméterek használatával. |
platform.build() | Elindítja az összeállítási folyamatot a Vitis megadott platformkomponenséhez. |
client.create_app_component() | Létrehoz egy új alkalmazásösszetevőt, amely a Vitis megadott platformkomponenséhez kapcsolódik. |
comp.import_files() | Importálja a szükséges fájlokat a forráskönyvtárból a Vitis alkalmazáskomponensbe. |
os.makedirs() | Létrehozza a megadott könyvtárstruktúrát, beleértve a szükséges szülőkönyvtárakat. |
vitis -s tools/build_app.py | Futtatja a megadott Python-szkriptet a Vitis parancssori felület használatával a projekt beállításához. |
echo "build-vitis/" >>echo "build-vitis/" >> .gitignore | Hozzáadja a build könyvtárat a Git figyelmen kívül hagyó fájlhoz, hogy kizárja a verziókezelésből. |
git commit -m | Véglegesíti a fokozatos változtatásokat a helyi Git-lerakatban egy megadott véglegesítési üzenettel. |
A Vitis Automation Scriptek magyarázata
Az első szkript automatizálja a Vitis projekt beállítását Python használatával. Kifejezetten a szükséges modulok importálásával kezdődik vitis és os. Ezután meghatározza a gyökér elérési útját, és létrehozza a build könyvtárat, ha az nem létezik os.makedirs(). A szkript beállítja az XSA-fájl és a fő forráskönyvtár várt elérési útját. Ezután létrehoz egy Vitis klienst, és beállítja a munkaterületet az újonnan létrehozott build könyvtárba. A platform összetevő a következővel jön létre client.create_platform_component(), amely megadja a hardvert, az operációs rendszert és a CPU konfigurációt. A platformösszetevő felépítése után létrejön egy alkalmazáskomponens, amely összekapcsolódik a platformkomponenssel. Végül a szükséges fájlok importálásra kerülnek a Vitis projektbe, és elkészül a komponens.
A második szkript egy shell-szkript, amely inicializálja a Vitis projektet és beállítja a Git integrációt. Meghatározza a gyökér elérési utat és a build könyvtárat, létrehozva a könyvtárat, ha nem létezik. A szkript ezután a Python-szkriptet futtatja vitis -s tools/build_app.py a projekt beállításának automatizálásához. A Python szkript lefutása után a shell szkript létrehoz egy Git tárolót úgy, hogy a gyökérkönyvtárba navigál, és inicializálja a Git git init, és build könyvtárak hozzáadása a .gitignore fájlt. A megfelelő fájlokat a git add és leköti őket az adattárba azzal git commit -m. Ez a megközelítés biztosítja, hogy a build könyvtárak ki legyenek zárva a verziókezelésből, miközben nyomon követik a szükséges projektfájlokat.
A Vitis Project beállításának automatizálása Python segítségével
Python szkript a Vitis projekt beállításához és a Git integrációhoz
import vitis
import os
ROOT_PATH = os.path.abspath(os.path.dirname(__file__))
VITIS_BUILD_DIR_PATH = os.path.join(ROOT_PATH, "build-vitis")
os.makedirs(VITIS_BUILD_DIR_PATH, exist_ok=True)
EXPECTED_XSA_FILE_PATH = os.path.join(ROOT_PATH, "build-vivado", "mydesign.xsa")
COMPONENT_NAME = "MyComponent"
MAIN_SRC_PATH = os.path.join(ROOT_PATH, "src")
client = vitis.create_client()
client.set_workspace(path=VITIS_BUILD_DIR_PATH)
PLATFORM_NAME = "platform_baremetal"
platform = client.create_platform_component(
name=PLATFORM_NAME,
hw=EXPECTED_XSA_FILE_PATH,
os="standalone",
cpu="mycpu"
)
platform = client.get_platform_component(name=PLATFORM_NAME)
status = platform.build()
comp = client.create_app_component(
name=COMPONENT_NAME,
platform=os.path.join(VITIS_BUILD_DIR_PATH, PLATFORM_NAME, "export", PLATFORM_NAME, f"{PLATFORM_NAME}.xpfm"),
domain="mydomainname"
)
comp = client.get_component(name=COMPONENT_NAME)
status = comp.import_files(
from_loc=MAIN_SRC_PATH,
files=["CMakeLists.txt", "UserConfig.cmake", "lscript.ld", "NOTUSED.cpp"],
dest_dir_in_cmp="src"
)
comp.build()
Forrásvezérlés kezelése a Vitis Projects-ben
Shell-szkript a Vitis projekt inicializálásának és forrásvezérlésének egyszerűsítésére
#!/bin/bash
ROOT_PATH=$(pwd)
VITIS_BUILD_DIR_PATH="$ROOT_PATH/build-vitis"
mkdir -p "$VITIS_BUILD_DIR_PATH"
EXPECTED_XSA_FILE_PATH="$ROOT_PATH/build-vivado/mydesign.xsa"
COMPONENT_NAME="MyComponent"
MAIN_SRC_PATH="$ROOT_PATH/src"
vitis -s tools/build_app.py
# After running the Python script, set up Git repository
cd "$ROOT_PATH"
git init
echo "build-vitis/" >> .gitignore
echo "build-vivado/" >> .gitignore
git add src/ tools/ .gitignore
git commit -m "Initial commit with project structure and scripts"
# Script end
A Vitis IDE és a verzióvezérlés megértése
Az új „Unified Vitis” IDE Git-tel való használatának egyik szempontja a Vitis projektek szerkezetének és összetevőinek megértése. A Vitis IDE számos fájlt generál, sok abszolút elérési úttal, ami megnehezíti a verziókezelést. Ezek a fájlok platformkonfigurációkat, hardverleírásokat és IDE-specifikus metaadatokat tartalmaznak. Ha ezeket a fájlokat megfelelő kezelés nélkül verzióvezérli, a fejlesztők olyan problémákkal szembesülhetnek, mint például a különböző rendszerek közötti nem egyező elérési utak miatti összeállítási hibák.
E problémák enyhítésére általános gyakorlat az, hogy kizárják a Vitis által felügyelt mappákat a verziókezelésből. Ehelyett a kulcsfontosságú konfigurációs fájlok, például a linker szkriptek, a CMake fájlok és más lényeges projektfájlok manuálisan átmásolódnak a Vitis által elvárt megfelelő helyekre. Ez a megközelítés biztosítja, hogy csak a szükséges fájlok verziókontrollja legyen, csökkentve a konfliktusok és a hibák kockázatát más fejlesztőkkel való együttműködés során. Ezenkívül az automatizálási szkriptek, például a Python vagy a shell szkriptek használata egyszerűsítheti ezt a folyamatot, biztosítva, hogy a projektbeállítás és a fájlkezelés következetes és reprodukálható legyen.
Gyakori kérdések és megoldások a Git és a Vitis IDE használatával kapcsolatban
- Hogyan inicializálhatok egy Git-tárat egy Vitis projekthez?
- A Git-tárat úgy inicializálhatja, hogy navigál a projekt gyökeréhez, és fut git init. Adja hozzá a szükséges fájlokat .gitignore hogy kizárja a nem kívánt fájlokat.
- Milyen fájlokat kell tartalmaznia a .gitignore egy Vitis projekthez?
- Tartalmazzon IDE-specifikus mappákat, mint pl build-vitis/ és build-vivado/ hogy elkerülje a verziókövető automatikusan generált fájlokat.
- Hogyan automatizálhatom egy Vitis projekt beállítását?
- Használjon Python-szkriptet az olyan feladatok automatizálására, mint például a platformösszetevők létrehozása és a szükséges fájlok importálása. Futtassa a szkriptet a segítségével vitis -s tools/build_app.py.
- Miért kell manuálisan másolnom a konfigurációs fájlokat?
- A Vitis elvárja, hogy bizonyos konfigurációs fájlok meghatározott helyeken legyenek. A fájlok manuális vagy szkripten keresztüli másolása biztosítja, hogy az IDE megfelelően megtalálja őket.
- Hogyan kezelhetem a platform- és alkalmazásmappákat a Vitisben?
- Zárja ki ezeket a mappákat a verziókezelésből, és használjon parancsfájlokat a szükséges fájlok kezeléséhez, biztosítva a konzisztenciát és elkerülve az útvonal-ütközéseket.
- Szerkeszthetek forrásfájlokat közvetlenül a Vitisben a Git használata közben?
- Igen, de győződjön meg arról, hogy a CMake beállítása a megfelelő forráskönyvtárra mutat. Előfordulhat, hogy a Vitis nem ismeri fel megfelelően a beillesztéseket és neveket a szintaxis kiemeléséhez.
- Milyen előnyei vannak a szkriptek projektbeállításhoz való használatának?
- A szkriptek konzisztens és megismételhető projektbeállítást biztosítanak, csökkentve a kézi hibákat és leegyszerűsítve az együttműködést a különböző környezetekben.
- Hogyan frissíthetem a projektbeállításomat, ha módosításokat hajtanak végre?
- Módosítsa az automatizálási szkripteket, hogy azok tükrözzék a változásokat, és futtassa újra azokat. Ez biztosítja az összes szükséges frissítés megfelelő alkalmazását.
- Mi a teendő, ha elérési út miatti összeállítási hibákat tapasztalok?
- Ellenőrizze a projektbeállítási parancsfájlokat, és győződjön meg arról, hogy minden elérési út helyesen van megadva. A konfliktusok elkerülése érdekében lehetőség szerint használjon relatív útvonalakat.
Kulcspontok a Vitis IDE hatékony verziókezeléséhez
A verzióvezérlés megvalósítása az új Unified Vitis IDE-vel számos kritikus lépést foglal magában. Kezdje azzal, hogy az ütközések és hibák elkerülése érdekében zárja ki a Vitis által generált mappákat a verziókezelésből. Ehelyett összpontosítson az alapvető konfigurációs fájlok, például a linker szkriptek, a CMake fájlok és más fontos projektösszetevők nyomon követésére. Az automatizálási szkriptek, különösen a Pythonban írottak, jelentősen leegyszerűsíthetik ezt a folyamatot azáltal, hogy automatizálják a projektbeállítást, és biztosítják, hogy minden szükséges fájl a megfelelő helyen legyen.
A beállítás automatizálásával konzisztens fejlesztői környezetet biztosíthat a különböző rendszerek között, csökkentve az útvonallal kapcsolatos problémák valószínűségét. Ez a megközelítés nemcsak leegyszerűsíti a projektmenedzsmentet, hanem megkönnyíti a fejlesztők közötti gördülékenyebb együttműködést is. Ezen túlmenően, ha a forrásfájlokat az eredeti könyvtárakban tartják, és a CMake használatával mutatnak ezekre a könyvtárakra, könnyebb szerkesztést és verziókezelést tesz lehetővé, miközben elkerüli a Vitis belső fájlstruktúráival kapcsolatos bonyolult kezelést.
A Vitis és a Git munkafolyamatának lezárása
A Git integrálása a Unified Vitis IDE-vel stratégiai megközelítést igényel a verziókezelés hatékony kezelése érdekében. A Vitis által kezelt mappák kizárásával és az alapvető konfigurációs fájlokra összpontosítva a fejlesztők elkerülhetik az abszolút elérési utakkal és az IDE-specifikus metaadatokkal kapcsolatos gyakori buktatókat. Az automatizálási szkriptek tovább javítják ezt a folyamatot azáltal, hogy megismételhető és következetes projektbeállítást biztosítanak. Ezek a stratégiák biztosítják, hogy a Vitis projektek kezelhetők és együttműködőek maradjanak még összetett fejlesztési környezetben is.