Začíname s Git vo Vitis IDE
Používanie Gitu s novým IDE „Unified Vitis“ založeným na VSCode predstavuje jedinečné výzvy v porovnaní so staršou verziou založenou na Eclipse. Sprievodca importom/exportom projektu v najnovšej verzii chýba, čo spôsobuje ťažkosti pri efektívnom riadení správy verzií.
Cieľom tejto príručky je riešiť problémy, ktoré sa vyskytli pri používaní Git vo Vitis, vrátane spracovania vygenerovaných súborov s absolútnymi cestami a zabezpečenia hladkej spolupráce medzi rôznymi vývojovými systémami. Preskúmame praktický pracovný postup na efektívnu správu vašich projektov Vitis pomocou Git.
Príkaz | Popis |
---|---|
import vitis | Importuje rozhranie Vitis API na programovú interakciu s projektmi Vitis. |
client.set_workspace() | Nastaví adresár pracovného priestoru pre klienta Vitis na správu projektových súborov. |
client.create_platform_component() | Vytvorí nový komponent platformy v pracovnom priestore Vitis pomocou špecifikovaných parametrov hardvéru a operačného systému. |
platform.build() | Spustí proces zostavovania pre špecifikovaný komponent platformy vo Vitis. |
client.create_app_component() | Vytvorí nový komponent aplikácie prepojený so špecifikovaným komponentom platformy vo Vitis. |
comp.import_files() | Importuje potrebné súbory zo zdrojového adresára do aplikačného komponentu Vitis. |
os.makedirs() | Vytvorí zadanú štruktúru adresárov vrátane všetkých potrebných nadradených adresárov. |
vitis -s tools/build_app.py | Spustí zadaný skript Python pomocou rozhrania príkazového riadka Vitis na nastavenie projektu. |
echo "build-vitis/" >>echo "build-vitis/" >> .gitignore | Pridá adresár zostavy do ignorovaného súboru Git, aby ho vylúčil z kontroly verzií. |
git commit -m | Potvrdí postupné zmeny do lokálneho úložiska Git so zadanou správou o odovzdaní. |
Vysvetlenie automatizačných skriptov Vitis
Prvý skript automatizuje nastavenie projektu Vitis pomocou Pythonu. Začína sa importovaním potrebných modulov, konkrétne vitis a os. Potom definuje koreňovú cestu a vytvorí adresár zostavenia, ak neexistuje pomocou os.makedirs(). Skript nastaví očakávané cesty pre súbor XSA a hlavný zdrojový adresár. Ďalej vytvorí klienta Vitis a nastaví pracovný priestor na novovytvorený adresár zostavy. Komponent platformy je vytvorený pomocou client.create_platform_component()s uvedením hardvéru, operačného systému a konfigurácie CPU. Po vytvorení komponentu platformy sa vytvorí komponent aplikácie a prepojí sa s komponentom platformy. Nakoniec sa do projektu Vitis naimportujú potrebné súbory a vytvorí sa komponent.
Druhý skript je shell skript, ktorý inicializuje projekt Vitis a nastavuje integráciu Git. Definuje koreňovú cestu a adresár zostavenia a vytvorí adresár, ak neexistuje. Skript potom spustí skript Python pomocou vitis -s tools/build_app.py na automatizáciu nastavenia projektu. Po spustení skriptu Python skript shell nastaví úložisko Git tak, že prejde do koreňového adresára a inicializuje Git pomocou git inita pridaním adresárov zostavy do .gitignore súbor. Inštaluje príslušné súbory s git add a zaviaže ich do úložiska s git commit -m. Tento prístup zaisťuje, že adresáre zostavy sú vylúčené z kontroly verzií a zároveň sa udržiavajú potrebné súbory projektu sledované.
Automatizácia nastavenia projektu Vitis pomocou Pythonu
Python skript na spracovanie nastavenia projektu Vitis a integrácie Git
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()
Riadenie kontroly zdrojov v projektoch Vitis
Shell skript na zjednodušenie inicializácie projektu Vitis a kontroly zdroja
#!/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
Pochopenie Vitis IDE a kontroly verzií
Jeden aspekt používania nového IDE „Unified Vitis“ s Git zahŕňa pochopenie štruktúry a komponentov projektov Vitis. Vitis IDE generuje množstvo súborov, mnohé s absolútnymi cestami, čo komplikuje kontrolu verzií. Tieto súbory zahŕňajú konfigurácie platformy, popisy hardvéru a metaúdaje špecifické pre IDE. Keď sú tieto súbory riadené verziou bez náležitého zaobchádzania, vývojári môžu čeliť problémom, ako sú chyby pri zostavovaní v dôsledku nesúladu ciest v rôznych systémoch.
Na zmiernenie týchto problémov je bežnou praxou vylúčiť priečinky spravované Vitis z kontroly verzií. Namiesto toho sa kľúčové konfiguračné súbory, ako sú skripty linkerov, súbory CMake a ďalšie dôležité súbory projektu, ručne skopírujú na príslušné miesta, ktoré očakáva Vitis. Tento prístup zaisťuje, že iba potrebné súbory sú kontrolované verziou, čím sa znižuje riziko konfliktov a chýb pri spolupráci s inými vývojármi. Navyše, používanie automatizačných skriptov, ako je Python alebo shell skripty, môže tento proces zefektívniť a zabezpečiť, že nastavenie projektu a správa súborov sú konzistentné a reprodukovateľné.
Bežné otázky a riešenia pre používanie Git s Vitis IDE
- Ako inicializujem úložisko Git pre projekt Vitis?
- Úložisko Git môžete inicializovať tak, že prejdete do koreňového adresára projektu a spustíte ho git init. Pridajte potrebné súbory do .gitignore na vylúčenie nechcených súborov.
- Aké súbory by mali byť zahrnuté v .gitignore pre projekt Vitis?
- Zahrňte priečinky špecifické pre IDE, napr build-vitis/ a build-vivado/ aby ste sa vyhli automaticky generovaným súborom na kontrolu verzií.
- Ako môžem automatizovať nastavenie projektu Vitis?
- Použite skript Python na automatizáciu úloh, ako je vytváranie komponentov platformy a import potrebných súborov. Spustite skript pomocou vitis -s tools/build_app.py.
- Prečo potrebujem skopírovať konfiguračné súbory ručne?
- Vitis očakáva, že určité konfiguračné súbory budú na konkrétnych miestach. Ručné skopírovanie týchto súborov alebo pomocou skriptu zabezpečí, že ich IDE nájde správne.
- Ako narábam so zložkami platformy a aplikácií vo Vitis?
- Vylúčte tieto priečinky z kontroly verzií a použite skripty na správu potrebných súborov, čím sa zabezpečí konzistencia a zabráni sa konfliktom ciest.
- Môžem upravovať zdrojové súbory priamo vo Vitis počas používania Gitu?
- Áno, ale uistite sa, že vaše nastavenie CMake ukazuje na správne zdrojové adresáre. Vitis nemusí správne rozpoznať zahrnutia a názvy na zvýraznenie syntaxe.
- Aké sú výhody používania skriptov na nastavenie projektu?
- Skripty zaisťujú konzistentné a opakovateľné nastavenie projektu, znižujú manuálne chyby a zjednodušujú spoluprácu v rôznych prostrediach.
- Ako môžem aktualizovať nastavenie projektu, ak sa vykonajú zmeny?
- Upravte svoje automatizačné skripty tak, aby odrážali zmeny a znova ich spustite. Tým sa zabezpečí, že všetky potrebné aktualizácie sa aplikujú správne.
- Čo mám robiť, ak narazím na chyby pri zostavovaní kvôli problémom s cestou?
- Skontrolujte skripty nastavenia projektu a uistite sa, že všetky cesty sú správne zadané. Ak je to možné, používajte relatívne cesty, aby ste sa vyhli konfliktom.
Kľúčové body pre efektívnu kontrolu verzií vo Vitis IDE
Implementácia kontroly verzií s novým Unified Vitis IDE zahŕňa niekoľko kritických krokov. Začnite vylúčením priečinkov generovaných Vitis z kontroly verzií, aby ste sa vyhli konfliktom a chybám. Namiesto toho sa zamerajte na sledovanie základných konfiguračných súborov, ako sú skripty linkera, súbory CMake a ďalšie dôležité súčasti projektu. Automatizačné skripty, najmä tie, ktoré sú napísané v Pythone, môžu výrazne zefektívniť tento proces automatizáciou nastavenia projektu a zabezpečením, že všetky potrebné súbory sú na správnych miestach.
Automatizáciou nastavenia môžete zabezpečiť konzistentné vývojové prostredie naprieč rôznymi systémami, čím sa zníži pravdepodobnosť problémov súvisiacich s cestou. Tento prístup nielen zjednodušuje riadenie projektov, ale uľahčuje aj hladšiu spoluprácu medzi vývojármi. Navyše, ponechanie zdrojových súborov v ich pôvodných adresároch a použitie CMake na ukazovanie na tieto adresáre umožňuje jednoduchšiu úpravu a kontrolu verzií, pričom sa vyhnete zložitosti práce s vnútornými štruktúrami súborov Vitis.
Zbalenie pracovného postupu pre Vitis a Git
Integrácia Gitu s Unified Vitis IDE si vyžaduje strategický prístup na efektívne riadenie správy verzií. Vylúčením priečinkov spravovaných Vitis a zameraním sa na základné konfiguračné súbory sa vývojári môžu vyhnúť bežným nástrahám spojeným s absolútnymi cestami a špecifickými metaúdajmi pre IDE. Automatizačné skripty ďalej zlepšujú tento proces tým, že poskytujú opakovateľné a konzistentné nastavenie projektu. Tieto stratégie zabezpečujú, že projekty Vitis zostanú zvládnuteľné a spolupracujúce, a to aj v zložitých vývojových prostrediach.