Git naudojimo su Unified Vitis IDE vadovas

Git naudojimo su Unified Vitis IDE vadovas
Git naudojimo su Unified Vitis IDE vadovas

Darbo su Git pradžia Vitis IDE

Naudojant Git su nauja „Unified Vitis“ IDE, pagrįsta VSCode, kyla unikalių iššūkių, palyginti su senesne „Eclipse“ versija. Naujausioje versijoje trūksta importavimo / eksportavimo projekto vedlio, todėl sunku efektyviai valdyti versijų valdymą.

Šiuo vadovu siekiama išspręsti problemas, su kuriomis susiduriama naudojant „Git in Vitis“, įskaitant sugeneruotų failų su absoliučiais keliais tvarkymą ir sklandaus bendradarbiavimo tarp skirtingų kūrimo sistemų užtikrinimą. Išnagrinėsime praktinę darbo eigą, kaip efektyviai valdyti „Vitis“ projektus naudodami „Git“.

komandą apibūdinimas
import vitis Importuoja Vitis API, kad programiškai sąveikautų su Vitis projektais.
client.set_workspace() Nustato Vitis kliento darbo srities katalogą projekto failams tvarkyti.
client.create_platform_component() Sukuria naują platformos komponentą Vitis darbo srityje, naudodama nurodytus aparatūros ir OS parametrus.
platform.build() Suaktyvina nurodyto platformos komponento „Vitis“ kūrimo procesą.
client.create_app_component() Sukuria naują programos komponentą, susietą su nurodytu Vitis platformos komponentu.
comp.import_files() Importuoja būtinus failus iš šaltinio katalogo į Vitis programos komponentą.
os.makedirs() Sukuria nurodytą katalogo struktūrą, įskaitant visus būtinus pirminius katalogus.
vitis -s tools/build_app.py Vykdo nurodytą Python scenarijų, naudodamas Vitis komandinės eilutės sąsają, kad nustatytų projektą.
echo "build-vitis/" >>echo "build-vitis/" >> .gitignore Prideda kūrimo katalogą prie Git ignoravimo failo, kad neįtrauktų jo versijos valdymo.
git commit -m Įveda etapinius pakeitimus vietinėje „Git“ saugykloje su nurodytu patvirtinimo pranešimu.

„Vitis Automation“ scenarijų paaiškinimas

Pirmasis scenarijus automatizuoja Vitis projekto sąranką naudojant Python. Pradedama importuojant reikiamus modulius vitis ir os. Tada jis apibrėžia šakninį kelią ir sukuria kūrimo katalogą, jei jo nėra os.makedirs(). Scenarijus nustato numatomus XSA failo ir pagrindinio šaltinio katalogo kelius. Tada jis sukuria Vitis klientą ir nustato darbo sritį į naujai sukurtą kūrimo katalogą. Platformos komponentas sukurtas naudojant client.create_platform_component(), nurodydami aparatinę įrangą, OS ir procesoriaus konfigūraciją. Sukūrus platformos komponentą, sukuriamas programos komponentas ir susiejamas su platformos komponentu. Galiausiai į Vitis projektą importuojami reikalingi failai ir sudedamas komponentas.

Antrasis scenarijus yra apvalkalo scenarijus, kuris inicijuoja Vitis projektą ir nustato Git integraciją. Jis apibrėžia šakninį kelią ir kūrimo katalogą, sukuria katalogą, jei jo nėra. Tada scenarijus paleidžia Python scenarijų naudodamas vitis -s tools/build_app.py automatizuoti projekto sąranką. Paleidus Python scenarijų, apvalkalo scenarijus nustato Git saugyklą, eidamas į šakninį katalogą ir inicijuodamas Git su git initir pridedant kūrimo katalogus prie .gitignore failą. Jis sujungia atitinkamus failus su git add ir įkelia juos į saugyklą su git commit -m. Šis metodas užtikrina, kad kūrimo katalogai nebūtų valdomi iš versijos, o būtini projekto failai bus stebimi.

Vitis projekto sąrankos automatizavimas naudojant Python

Python scenarijus, skirtas Vitis projekto sąrankai ir Git integracijai tvarkyti

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()

Šaltinio valdymo valdymas Vitis projektuose

Shell scenarijus, skirtas supaprastinti Vitis projekto inicijavimą ir šaltinio valdymą

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

„Vitis IDE“ ir versijos valdymo supratimas

Vienas iš aspektų naudojant naująjį „Unified Vitis“ IDE su Git apima Vitis projektų struktūros ir komponentų supratimą. Vitis IDE generuoja daugybę failų, daugelis su absoliučiais keliais, o tai apsunkina versijų valdymą. Šie failai apima platformos konfigūracijas, aparatinės įrangos aprašymus ir IDE būdingus metaduomenis. Kai šių failų versija valdoma be tinkamo tvarkymo, kūrėjai gali susidurti su tokiomis problemomis kaip kūrimo klaidos dėl nesutampančių kelių įvairiose sistemose.

Siekiant sumažinti šias problemas, įprasta praktika yra neįtraukti Vitis valdomų aplankų iš versijos valdymo. Vietoj to svarbūs konfigūracijos failai, tokie kaip susiejimo scenarijai, CMake failai ir kiti svarbūs projekto failai, rankiniu būdu nukopijuojami į atitinkamas Vitis numatytas vietas. Šis metodas užtikrina, kad tik būtinų failų versija būtų valdoma, o tai sumažina konfliktų ir klaidų riziką bendradarbiaujant su kitais kūrėjais. Be to, naudojant automatizavimo scenarijus, pvz., Python arba apvalkalo scenarijus, šį procesą galima supaprastinti ir užtikrinti, kad projekto sąranka ir failų valdymas būtų nuoseklūs ir atkuriami.

Dažni klausimai ir sprendimai naudojant Git su Vitis IDE

  1. Kaip inicijuoti „Git“ saugyklą „Vitis“ projektui?
  2. Galite inicijuoti „Git“ saugyklą, eidami į projekto šaknį ir paleisdami git init. Pridėkite reikiamus failus .gitignore pašalinti nepageidaujamus failus.
  3. Kokie failai turėtų būti įtraukti į .gitignore Vitis projektui?
  4. Įtraukite IDE būdingus aplankus, pvz build-vitis/ ir build-vivado/ kad išvengtumėte versijų valdymo automatiškai sugeneruotų failų.
  5. Kaip galiu automatizuoti Vitis projekto sąranką?
  6. Naudokite Python scenarijų, norėdami automatizuoti užduotis, tokias kaip platformos komponentų kūrimas ir būtinų failų importavimas. Paleiskite scenarijų naudodami vitis -s tools/build_app.py.
  7. Kodėl man reikia rankiniu būdu kopijuoti konfigūracijos failus?
  8. Vitis tikisi, kad tam tikri konfigūracijos failai bus konkrečiose vietose. Nukopijuojant šiuos failus rankiniu būdu arba naudojant scenarijų, IDE juos tinkamai suranda.
  9. Kaip tvarkyti platformos ir programų aplankus Vitis?
  10. Išskirkite šiuos aplankus iš versijos valdymo ir naudokite scenarijus reikalingiems failams tvarkyti, užtikrindami nuoseklumą ir išvengdami kelių konfliktų.
  11. Ar galiu redaguoti šaltinio failus tiesiogiai Vitis naudodamas Git?
  12. Taip, bet įsitikinkite, kad jūsų CMake sąranka nurodo teisingus šaltinio katalogus. Vitis gali tinkamai neatpažinti įtraukimų ir pavadinimų sintaksės paryškinimui.
  13. Kokie yra scenarijų naudojimo projekto sąrankai pranašumai?
  14. Scenarijai užtikrina nuoseklų ir pakartojamą projekto sąranką, sumažindami rankinių klaidų skaičių ir supaprastindami bendradarbiavimą įvairiose aplinkose.
  15. Kaip galiu atnaujinti savo projekto sąranką, jei bus atlikti pakeitimai?
  16. Modifikuokite automatizavimo scenarijus, kad jie atspindėtų pakeitimus, ir paleiskite juos iš naujo. Taip užtikrinama, kad visi reikalingi naujinimai būtų pritaikyti tinkamai.
  17. Ką daryti, jei dėl kelio problemų atsiranda kūrimo klaidų?
  18. Patikrinkite projekto sąrankos scenarijus ir įsitikinkite, kad visi keliai yra teisingai nurodyti. Jei įmanoma, naudokite santykinius kelius, kad išvengtumėte konfliktų.

Pagrindiniai veiksmingo „Vitis IDE“ versijų valdymo punktai

Versijų valdymo įdiegimas naudojant naują Unified Vitis IDE apima kelis svarbius veiksmus. Pradėkite nuo „Vitis“ sukurtų aplankų išskyrimo iš versijos valdymo, kad išvengtumėte konfliktų ir klaidų. Vietoj to sutelkite dėmesį į pagrindinių konfigūracijos failų, pvz., Linker scenarijų, CMake failų ir kitų svarbių projekto komponentų, stebėjimą. Automatizavimo scenarijai, ypač parašyti Python, gali žymiai supaprastinti šį procesą automatizuodami projekto sąranką ir užtikrindami, kad visi reikalingi failai būtų tinkamose vietose.

Automatizuodami sąranką galite užtikrinti nuoseklią kūrimo aplinką įvairiose sistemose ir sumažinti su keliu susijusių problemų tikimybę. Šis metodas ne tik supaprastina projektų valdymą, bet ir palengvina sklandesnį kūrėjų bendradarbiavimą. Be to, laikant šaltinio failus originaliuose kataloguose ir naudojant CMake, kad būtų galima nurodyti šiuos katalogus, galima lengviau redaguoti ir valdyti versijas, kartu išvengiant sudėtingumo dirbant su Vitis vidinių failų struktūromis.

„Vitis“ ir „Git“ darbo eigos užbaigimas

Norint integruoti „Git“ su „Unified Vitis“ IDE, reikia strateginio požiūrio, kad būtų galima efektyviai valdyti versijų valdymą. Išskirdami Vitis valdomus aplankus ir sutelkdami dėmesį į esminius konfigūracijos failus, kūrėjai gali išvengti įprastų spąstų, susijusių su absoliučiais keliais ir konkrečiais IDE metaduomenimis. Automatizavimo scenarijai dar labiau pagerina šį procesą, suteikdami pakartojamą ir nuoseklų projekto sąranką. Šios strategijos užtikrina, kad Vitis projektai išliktų valdomi ir bendradarbiaujantys net sudėtingose ​​kūrimo aplinkose.