Průvodce používáním Git s Unified Vitis IDE

Průvodce používáním Git s Unified Vitis IDE
Průvodce používáním Git s Unified Vitis IDE

Začínáme s Git ve Vitis IDE

Použití Gitu s novým IDE „Unified Vitis“ založeném na VSCode představuje ve srovnání se starší verzí založenou na Eclipse jedinečné výzvy. Průvodce importem/exportem projektu v nejnovější verzi chybí, což způsobuje potíže s efektivní správou správy verzí.

Tato příručka si klade za cíl řešit problémy, se kterými se setkáváte při používání Git ve Vitis, včetně zpracování generovaných souborů s absolutními cestami a zajištění hladké spolupráce napříč různými vývojovými systémy. Prozkoumáme praktický pracovní postup pro efektivní správu vašich projektů Vitis pomocí Git.

Příkaz Popis
import vitis Importuje rozhraní Vitis API pro programovou interakci s projekty Vitis.
client.set_workspace() Nastaví adresář pracovního prostoru pro klienta Vitis pro správu souborů projektu.
client.create_platform_component() Vytvoří novou komponentu platformy v pracovním prostoru Vitis pomocí zadaných parametrů hardwaru a operačního systému.
platform.build() Spustí proces sestavení pro zadanou komponentu platformy ve Vitis.
client.create_app_component() Vytvoří novou komponentu aplikace propojenou se zadanou komponentou platformy ve Vitis.
comp.import_files() Importuje potřebné soubory ze zdrojového adresáře do komponenty aplikace Vitis.
os.makedirs() Vytvoří zadanou adresářovou strukturu včetně všech nezbytných nadřazených adresářů.
vitis -s tools/build_app.py Spustí zadaný skript Python pomocí rozhraní příkazového řádku Vitis k nastavení projektu.
echo "build-vitis/" >>echo "build-vitis/" >> .gitignore Přidá adresář sestavení do ignorovaného souboru Git, aby byl vyloučen ze správy verzí.
git commit -m Odešle plánované změny do místního úložiště Git se zadanou zprávou potvrzení.

Vysvětlení skriptů automatizace Vitis

První skript automatizuje nastavení projektu Vitis pomocí Pythonu. Začíná importem potřebných modulů, konkrétně vitis a os. Poté definuje kořenovou cestu a vytvoří adresář sestavení, pokud neexistuje pomocí os.makedirs(). Skript nastaví očekávané cesty pro soubor XSA a hlavní zdrojový adresář. Dále vytvoří klienta Vitis a nastaví pracovní prostor na nově vytvořený adresář sestavení. Komponenta platformy je vytvořena pomocí client.create_platform_component(), určující konfiguraci hardwaru, OS a CPU. Jakmile je komponenta platformy vytvořena, je vytvořena komponenta aplikace a propojena s komponentou platformy. Nakonec jsou potřebné soubory importovány do projektu Vitis a komponenta je sestavena.

Druhý skript je shell skript, který inicializuje projekt Vitis a nastavuje integraci Git. Definuje kořenovou cestu a adresář sestavení a vytvoří adresář, pokud neexistuje. Skript pak spustí skript Python pomocí vitis -s tools/build_app.py pro automatizaci nastavení projektu. Po spuštění skriptu Python skript Shell nastaví úložiště Git tak, že přejde do kořenového adresáře a inicializuje Git pomocí git inita přidání adresářů sestavení do souboru .gitignore soubor. Uspořádá příslušné soubory s git add a odevzdá je do úložiště s git commit -m. Tento přístup zajišťuje, že adresáře sestavení jsou vyloučeny ze správy verzí a zároveň jsou zachovány potřebné soubory projektu.

Automatizace nastavení projektu Vitis pomocí Pythonu

Python skript pro zpracování nastavení projektu Vitis a integraci 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()

Správa řízení zdrojů v projektech Vitis

Shell skript pro zjednodušení inicializace projektu Vitis a ovládání zdroje

#!/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

Pochopení Vitis IDE a Správa verzí

Jedním z aspektů používání nového „Unified Vitis“ IDE s Git je pochopení struktury a komponent projektů Vitis. Vitis IDE generuje četné soubory, mnohé s absolutními cestami, což komplikuje správu verzí. Tyto soubory zahrnují konfigurace platformy, popisy hardwaru a metadata specifická pro IDE. Když jsou tyto soubory řízeny verzí bez řádného zacházení, mohou vývojáři čelit problémům, jako jsou chyby sestavení kvůli neshodám cest napříč různými systémy.

Ke zmírnění těchto problémů je běžnou praxí vyloučit složky spravované systémem Vitis ze správy verzí. Místo toho se klíčové konfigurační soubory, jako jsou skripty linkeru, soubory CMake a další důležité soubory projektu, ručně zkopírují do příslušných umístění, která Vitis očekává. Tento přístup zajišťuje, že pouze nezbytné soubory jsou řízeny verzí, čímž se snižuje riziko konfliktů a chyb při spolupráci s jinými vývojáři. Navíc použití automatizačních skriptů, jako je Python nebo shellové skripty, může tento proces zefektivnit a zajistit, že nastavení projektu a správa souborů jsou konzistentní a reprodukovatelné.

Běžné otázky a řešení pro používání Git s Vitis IDE

  1. Jak mohu inicializovat úložiště Git pro projekt Vitis?
  2. Úložiště Git můžete inicializovat tak, že přejdete do kořenového adresáře projektu a spustíte jej git init. Přidejte potřebné soubory do .gitignore k vyloučení nežádoucích souborů.
  3. Jaké soubory by měly být součástí .gitignore pro projekt Vitis?
  4. Zahrňte složky specifické pro IDE, např build-vitis/ a build-vivado/ abyste se vyhnuli automaticky generovaným souborům s kontrolou verzí.
  5. Jak mohu automatizovat nastavení projektu Vitis?
  6. Použijte skript Python k automatizaci úloh, jako je vytváření komponent platformy a import potřebných souborů. Spusťte skript pomocí vitis -s tools/build_app.py.
  7. Proč musím konfigurační soubory kopírovat ručně?
  8. Vitis očekává, že určité konfigurační soubory budou na určitých místech. Zkopírování těchto souborů ručně nebo pomocí skriptu zajistí, že je IDE najde správně.
  9. Jak zacházím se složkami platformy a aplikací ve Vitis?
  10. Vylučte tyto složky ze správy verzí a pomocí skriptů spravujte potřebné soubory, čímž zajistíte konzistenci a zabráníte konfliktům cest.
  11. Mohu upravovat zdrojové soubory přímo ve Vitisu při používání Gitu?
  12. Ano, ale ujistěte se, že vaše nastavení CMake ukazuje na správné zdrojové adresáře. Vitis nemusí správně rozpoznat zahrnutí a názvy pro zvýraznění syntaxe.
  13. Jaké jsou výhody použití skriptů pro nastavení projektu?
  14. Skripty zajišťují konzistentní a opakovatelné nastavení projektu, snižují ruční chyby a zjednodušují spolupráci v různých prostředích.
  15. Jak mohu aktualizovat nastavení projektu, pokud jsou provedeny změny?
  16. Upravte své automatizační skripty tak, aby odrážely změny, a spusťte je znovu. Tím je zajištěno, že všechny potřebné aktualizace jsou správně aplikovány.
  17. Co mám dělat, když narazím na chyby sestavení kvůli problémům s cestou?
  18. Zkontrolujte skripty nastavení projektu a ujistěte se, že všechny cesty jsou správně zadány. Kde je to možné, používejte relativní cesty, abyste se vyhnuli konfliktům.

Klíčové body pro efektivní správu verzí ve Vitis IDE

Implementace správy verzí pomocí nového Unified Vitis IDE zahrnuje několik kritických kroků. Začněte vyloučením složek vygenerovaných Vitis ze správy verzí, abyste předešli konfliktům a chybám. Místo toho se zaměřte na sledování základních konfiguračních souborů, jako jsou skripty linkeru, soubory CMake a další důležité součásti projektu. Automatizační skripty, zejména ty napsané v Pythonu, mohou tento proces výrazně zefektivnit tím, že automatizují nastavení projektu a zajišťují, aby všechny potřebné soubory byly na správných místech.

Automatizací nastavení můžete zajistit konzistentní vývojové prostředí napříč různými systémy a snížit tak pravděpodobnost problémů souvisejících s cestou. Tento přístup nejen zjednodušuje projektové řízení, ale také usnadňuje hladší spolupráci mezi vývojáři. Navíc ponechání zdrojových souborů v jejich původních adresářích a použití CMake k ukázání na tyto adresáře umožňuje snazší editaci a kontrolu verzí a zároveň se vyhnete složitosti práce s vnitřními strukturami souborů Vitis.

Shrnutí pracovního postupu pro Vitis a Git

Integrace Gitu s Unified Vitis IDE vyžaduje strategický přístup k efektivní správě správy verzí. Vyloučením složek spravovaných Vitis a zaměřením na základní konfigurační soubory se vývojáři mohou vyhnout běžným nástrahám spojeným s absolutními cestami a metadaty specifickými pro IDE. Automatizační skripty dále vylepšují tento proces tím, že poskytují opakovatelné a konzistentní nastavení projektu. Tyto strategie zajišťují, že projekty Vitis zůstanou zvládnutelné a spolupracující, a to i ve složitých vývojových prostředích.