Kako začeti uporabljati Git v Vitis IDE
Uporaba Gita z novim IDE "Unified Vitis", ki temelji na VSCode, predstavlja edinstvene izzive v primerjavi s starejšo različico, ki temelji na Eclipse. Čarovnik za uvoz/izvoz projektov manjka v najnovejši različici, kar povzroča težave pri učinkovitem upravljanju nadzora različic.
Namen tega priročnika je obravnavati težave, ki se pojavljajo pri uporabi Gita v Vitisu, vključno z ravnanjem z ustvarjenimi datotekami z absolutnimi potmi in zagotavljanjem nemotenega sodelovanja med različnimi razvojnimi sistemi. Raziskali bomo praktičen potek dela za učinkovito upravljanje vaših projektov Vitis z Gitom.
Ukaz | Opis |
---|---|
import vitis | Uvozi API Vitis za programsko interakcijo s projekti Vitis. |
client.set_workspace() | Nastavi imenik delovnega prostora za odjemalca Vitis za upravljanje projektnih datotek. |
client.create_platform_component() | Ustvari novo komponento platforme v delovnem prostoru Vitis z uporabo določenih parametrov strojne opreme in OS. |
platform.build() | Sproži postopek gradnje za navedeno komponento platforme v Vitisu. |
client.create_app_component() | Ustvari novo komponento aplikacije, povezano s podano komponento platforme v Vitisu. |
comp.import_files() | Uvozi potrebne datoteke iz izvornega imenika v komponento aplikacije Vitis. |
os.makedirs() | Ustvari podano strukturo imenika, vključno z vsemi potrebnimi nadrejenimi imeniki. |
vitis -s tools/build_app.py | Zažene navedeni skript Python z vmesnikom ukazne vrstice Vitis za nastavitev projekta. |
echo "build-vitis/" >>echo "build-vitis/" >> .gitignore | Doda gradbeni imenik v prezrto datoteko Git, da jo izključi iz nadzora različic. |
git commit -m | Objavi postopne spremembe v lokalni repozitorij Git z določenim sporočilom o objavi. |
Razlaga skriptov za avtomatizacijo Vitis
Prvi skript avtomatizira nastavitev projekta Vitis z uporabo Pythona. Začne se z uvozom posebej potrebnih modulov in . Nato definira korensko pot in ustvari imenik gradnje, če ne obstaja z uporabo . Skript nastavi pričakovane poti za datoteko XSA in glavni izvorni imenik. Nato ustvari odjemalca Vitis in nastavi delovni prostor na novo ustvarjeni gradbeni imenik. Komponenta platforme je ustvarjena z client.create_platform_component(), ki določa konfiguracijo strojne opreme, OS in CPE. Ko je komponenta platforme zgrajena, je ustvarjena komponenta aplikacije in povezana s komponento platforme. Končno so potrebne datoteke uvožene v projekt Vitis in komponenta je zgrajena.
Drugi skript je lupinski skript, ki inicializira projekt Vitis in nastavi integracijo Git. Določa korensko pot in gradbeni imenik ter ustvari imenik, če ne obstaja. Skript nato zažene skript Python z uporabo za avtomatizacijo nastavitve projekta. Ko se skript Python zažene, lupinski skript nastavi repozitorij Git tako, da se pomakne v korenski imenik in inicializira Git z in dodajanje gradbenih imenikov v mapa. Ureja ustrezne datoteke z git add in jih prenese v repozitorij z . Ta pristop zagotavlja, da so gradbeni imeniki izključeni iz nadzora različic, hkrati pa se spremljajo potrebne projektne datoteke.
Avtomatizacija nastavitev projekta Vitis s Pythonom
Skript Python za upravljanje nastavitev projekta Vitis in integracije 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()
Upravljanje nadzora vira v projektih Vitis
Lupinski skript za poenostavitev inicializacije projekta Vitis in nadzora vira
#!/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
Razumevanje Vitis IDE in nadzora različic
Eden od vidikov uporabe novega IDE "Unified Vitis" z Gitom vključuje razumevanje strukture in komponent projektov Vitis. Vitis IDE ustvari številne datoteke, mnoge z absolutnimi potmi, kar oteži nadzor različic. Te datoteke vključujejo konfiguracije platforme, opise strojne opreme in metapodatke, specifične za IDE. Ko so te datoteke pod nadzorom različic brez ustreznega ravnanja, se lahko razvijalci soočajo s težavami, kot so napake pri gradnji zaradi neusklajenih poti v različnih sistemih.
Za ublažitev teh težav je običajna praksa izključitev map, ki jih upravlja Vitis, iz nadzora različic. Namesto tega se ključne konfiguracijske datoteke, kot so povezovalni skripti, datoteke CMake in druge bistvene projektne datoteke, ročno prekopirajo na ustrezne lokacije, ki jih pričakuje Vitis. Ta pristop zagotavlja, da so samo potrebne datoteke pod nadzorom različic, kar zmanjša tveganje za navzkrižja in napake pri sodelovanju z drugimi razvijalci. Poleg tega lahko uporaba avtomatizacijskih skriptov, kot je Python ali lupinskih skriptov, poenostavi ta postopek in zagotovi, da sta nastavitev projekta in upravljanje datotek dosledna in ponovljiva.
- Kako inicializiram repozitorij Git za projekt Vitis?
- Repozitorij Git lahko inicializirate tako, da se pomaknete do korena projekta in zaženete . Dodajte potrebne datoteke v da izključite neželene datoteke.
- Katere datoteke naj bodo vključene v za projekt Vitis?
- Vključite mape, specifične za IDE, kot je in da se izognete samodejno generiranim datotekam, ki nadzorujejo različice.
- Kako lahko avtomatiziram nastavitev projekta Vitis?
- Uporabite skript Python za avtomatizacijo opravil, kot je ustvarjanje komponent platforme in uvoz potrebnih datotek. Zaženite skript z uporabo .
- Zakaj moram ročno kopirati konfiguracijske datoteke?
- Vitis pričakuje, da bodo določene konfiguracijske datoteke na določenih lokacijah. Ročno kopiranje teh datotek ali prek skripta zagotavlja, da jih IDE pravilno najde.
- Kako ravnam s platformo in mapami aplikacij v Vitisu?
- Izključite te mape iz nadzora različic in uporabite skripte za upravljanje potrebnih datotek, s čimer zagotovite doslednost in se izognete konfliktom poti.
- Ali lahko urejam izvorne datoteke neposredno v Vitisu, medtem ko uporabljam Git?
- Da, vendar zagotovite, da vaša nastavitev CMake kaže na pravilne izvorne imenike. Vitis morda ne bo pravilno prepoznal vključkov in imen za označevanje sintakse.
- Kakšne so prednosti uporabe skriptov za nastavitev projekta?
- Skripte zagotavljajo dosledno in ponovljivo nastavitev projekta, zmanjšujejo ročne napake in poenostavljajo sodelovanje v različnih okoljih.
- Kako lahko posodobim nastavitev svojega projekta, če pride do sprememb?
- Spremenite svoje skripte za avtomatizacijo, da odražajo spremembe, in jih znova zaženite. To zagotavlja, da so vse potrebne posodobitve pravilno uporabljene.
- Kaj naj storim, če naletim na napake pri gradnji zaradi težav s potjo?
- Preverite skripte za nastavitev projekta in zagotovite, da so vse poti pravilno določene. Če je mogoče, uporabite relativne poti, da se izognete konfliktom.
Ključne točke za učinkovit nadzor različic v Vitis IDE
Implementacija nadzora različic z novim Unified Vitis IDE vključuje več kritičnih korakov. Začnite z izključitvijo map, ki jih je ustvaril Vitis, iz nadzora različic, da se izognete sporom in napakam. Namesto tega se osredotočite na sledenje bistvenim konfiguracijskim datotekam, kot so povezovalni skripti, datoteke CMake in druge pomembne komponente projekta. Skripti za avtomatizacijo, zlasti tisti, napisani v Pythonu, lahko znatno poenostavijo ta postopek z avtomatizacijo nastavitve projekta in zagotavljanjem, da so vse potrebne datoteke na pravih lokacijah.
Z avtomatizacijo namestitve lahko zagotovite dosledno razvojno okolje v različnih sistemih, kar zmanjša verjetnost težav, povezanih s potjo. Ta pristop ne le poenostavlja vodenje projektov, temveč omogoča tudi bolj gladko sodelovanje med razvijalci. Poleg tega ohranjanje izvornih datotek v izvirnih imenikih in uporaba CMake za kazanje na te imenike omogoča lažje urejanje in nadzor različic, hkrati pa se izogne zapletenosti obravnave notranjih struktur datotek Vitis.
Integracija Gita z Unified Vitis IDE zahteva strateški pristop za učinkovito upravljanje nadzora različic. Z izključitvijo map, ki jih upravlja Vitis, in osredotočenjem na bistvene konfiguracijske datoteke se lahko razvijalci izognejo pogostim pastem, povezanim z absolutnimi potmi in metapodatki, specifičnimi za IDE. Skripti za avtomatizacijo ta proces še izboljšajo z zagotavljanjem ponovljive in dosledne nastavitve projekta. Te strategije zagotavljajo, da projekti Vitis ostanejo obvladljivi in sodelovalni, tudi v kompleksnih razvojnih okoljih.