Git lietošanas ceļvedis ar Unified Vitis IDE

Git lietošanas ceļvedis ar Unified Vitis IDE
Git lietošanas ceļvedis ar Unified Vitis IDE

Darba sākšana ar Git in Vitis IDE

Git izmantošana ar jauno "Unified Vitis" IDE, kuras pamatā ir VSCode, rada unikālas problēmas salīdzinājumā ar vecāku Eclipse versiju. Jaunākajā versijā trūkst importēšanas/eksportēšanas projekta vedņa, kas rada grūtības efektīvi pārvaldīt versiju kontroli.

Šīs rokasgrāmatas mērķis ir risināt problēmas, kas radušās, izmantojot Git in Vitis, tostarp apstrādāt ģenerētus failus ar absolūtajiem ceļiem un nodrošināt vienmērīgu sadarbību dažādās izstrādes sistēmās. Mēs izpētīsim praktisku darbplūsmu, lai efektīvi pārvaldītu jūsu Vitis projektus, izmantojot Git.

Pavēli Apraksts
import vitis Importē Vitis API, lai programmatiski mijiedarbotos ar Vitis projektiem.
client.set_workspace() Iestata Vitis klienta darbvietas direktoriju, lai pārvaldītu projekta failus.
client.create_platform_component() Izveido jaunu platformas komponentu Vitis darbvietā, izmantojot norādītos aparatūras un OS parametrus.
platform.build() Iedarbina izveides procesu norādītajam platformas komponentam pakalpojumā Vitis.
client.create_app_component() Izveido jaunu lietojumprogrammas komponentu, kas ir saistīts ar norādīto platformas komponentu programmā Vitis.
comp.import_files() Importē nepieciešamos failus no avota direktorija Vitis lietojumprogrammas komponentā.
os.makedirs() Izveido norādīto direktoriju struktūru, tostarp visus nepieciešamos vecākdirektorijus.
vitis -s tools/build_app.py Palaiž norādīto Python skriptu, izmantojot Vitis komandrindas saskarni, lai iestatītu projektu.
echo "build-vitis/" >>echo "build-vitis/" >> .gitignore Pievieno izveides direktoriju Git ignorēšanas failam, lai izslēgtu to no versijas kontroles.
git commit -m Veic pakāpeniskas izmaiņas lokālajā Git repozitorijā ar norādītu apstiprināšanas ziņojumu.

Vitis Automation skriptu skaidrojums

Pirmais skripts automatizē Vitis projekta iestatīšanu, izmantojot Python. Tas sākas, īpaši importējot nepieciešamos moduļus vitis un os. Pēc tam tas definē saknes ceļu un izveido būvdirektoriju, ja tas neeksistē os.makedirs(). Skripts iestata paredzamos ceļus XSA failam un galvenajam avota direktorijam. Pēc tam tiek izveidots Vitis klients un darbvieta tiek iestatīta jaunizveidotajā būvdirektorijā. Platformas komponents ir izveidots ar client.create_platform_component(), norādot aparatūru, OS un CPU konfigurāciju. Kad platformas komponents ir izveidots, tiek izveidots lietojumprogrammas komponents un saistīts ar platformas komponentu. Visbeidzot, nepieciešamie faili tiek importēti Vitis projektā, un komponents ir izveidots.

Otrais skripts ir čaulas skripts, kas inicializē Vitis projektu un iestata Git integrāciju. Tas nosaka saknes ceļu un izveides direktoriju, izveidojot direktoriju, ja tas neeksistē. Pēc tam skripts palaiž Python skriptu, izmantojot vitis -s tools/build_app.py lai automatizētu projekta iestatīšanu. Pēc Python skripta palaišanas čaulas skripts iestata Git repozitoriju, pārejot uz saknes direktoriju, inicializējot Git ar git init, un pievienojot būvēt direktorijus .gitignore failu. Tas iestudē attiecīgos failus ar git add un ievieto tos krātuvē ar git commit -m. Šī pieeja nodrošina, ka veidošanas direktoriji tiek izslēgti no versiju kontroles, vienlaikus saglabājot nepieciešamo projekta failu izsekošanu.

Vitis projekta iestatīšanas automatizācija, izmantojot Python

Python skripts Vitis projekta iestatīšanai un Git integrācijai

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

Avota kontroles pārvaldība Vitis projektos

Shell skripts, lai racionalizētu Vitis projekta inicializēšanu un avota kontroli

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

Izpratne par Vitis IDE un versiju kontroli

Viens no aspektiem, izmantojot jauno "Unified Vitis" IDE ar Git, ir izpratne par Vitis projektu struktūru un komponentiem. Vitis IDE ģenerē daudzus failus, daudziem ar absolūtajiem ceļiem, kas sarežģī versiju kontroli. Šie faili ietver platformas konfigurācijas, aparatūras aprakstus un IDE specifiskus metadatus. Ja šo failu versijas tiek kontrolētas bez atbilstošas ​​apstrādes, izstrādātāji var saskarties ar tādām problēmām kā veidošanas kļūdas, kuru cēlonis ir neatbilstoši ceļi dažādās sistēmās.

Lai mazinātu šīs problēmas, izplatīta prakse ir izslēgt Vitis pārvaldītās mapes no versiju kontroles. Tā vietā būtiskie konfigurācijas faili, piemēram, linkera skripti, CMake faili un citi būtiski projekta faili, tiek manuāli kopēti attiecīgajās Vitis paredzētajās vietās. Šī pieeja nodrošina, ka versijas kontrolē tikai nepieciešamos failus, samazinot konfliktu un kļūdu risku, sadarbojoties ar citiem izstrādātājiem. Turklāt automatizācijas skriptu, piemēram, Python vai čaulas skriptu izmantošana var racionalizēt šo procesu, nodrošinot, ka projekta iestatīšana un failu pārvaldība ir konsekventa un reproducējama.

Bieži uzdotie jautājumi un risinājumi Git lietošanai ar Vitis IDE

  1. Kā inicializēt Git repozitoriju Vitis projektam?
  2. Varat inicializēt Git repozitoriju, pārejot uz projekta sakni un palaist git init. Pievienojiet nepieciešamos failus .gitignore lai izslēgtu nevēlamus failus.
  3. Kādi faili ir jāiekļauj .gitignore par Vitis projektu?
  4. Iekļaujiet IDE specifiskas mapes, piemēram build-vitis/ un build-vivado/ lai izvairītos no versijas kontroles automātiski ģenerētiem failiem.
  5. Kā es varu automatizēt Vitis projekta iestatīšanu?
  6. Izmantojiet Python skriptu, lai automatizētu uzdevumus, piemēram, platformas komponentu izveidi un nepieciešamo failu importēšanu. Palaidiet skriptu, izmantojot vitis -s tools/build_app.py.
  7. Kāpēc konfigurācijas faili ir jākopē manuāli?
  8. Vitis sagaida, ka noteikti konfigurācijas faili atrodas noteiktās vietās. Šo failu manuāla vai skripta kopēšana nodrošina, ka IDE tos atrod pareizi.
  9. Kā pakalpojumā Vitis rīkoties ar platformas un lietojumprogrammu mapēm?
  10. Izslēdziet šīs mapes no versiju kontroles un izmantojiet skriptus, lai pārvaldītu nepieciešamos failus, nodrošinot konsekvenci un izvairoties no ceļu konfliktiem.
  11. Vai, izmantojot Git, es varu rediģēt avota failus tieši programmā Vitis?
  12. Jā, taču pārliecinieties, vai CMake iestatījums norāda uz pareizajiem avota direktorijiem. Iespējams, Vitis sintakses izcelšanai pareizi neatpazīs iekļautos un nosaukumus.
  13. Kādas ir skriptu izmantošanas priekšrocības projekta iestatīšanai?
  14. Skripti nodrošina konsekventu un atkārtojamu projekta iestatīšanu, samazinot manuālās kļūdas un vienkāršojot sadarbību dažādās vidēs.
  15. Kā es varu atjaunināt sava projekta iestatījumus, ja tiek veiktas izmaiņas?
  16. Modificējiet savus automatizācijas skriptus, lai tie atspoguļotu izmaiņas, un palaidiet tos atkārtoti. Tas nodrošina, ka visi nepieciešamie atjauninājumi tiek pareizi lietoti.
  17. Kā rīkoties, ja ceļa problēmu dēļ rodas izveides kļūdas?
  18. Pārbaudiet projekta iestatīšanas skriptus un pārliecinieties, vai visi ceļi ir norādīti pareizi. Ja iespējams, izmantojiet relatīvos ceļus, lai izvairītos no konfliktiem.

Galvenie punkti efektīvai versiju kontrolei programmā Vitis IDE

Versiju kontroles ieviešana ar jauno Unified Vitis IDE ietver vairākas būtiskas darbības. Sāciet ar Vitis ģenerēto mapju izslēgšanu no versiju kontroles, lai izvairītos no konfliktiem un kļūdām. Tā vietā koncentrējieties uz būtisku konfigurācijas failu, piemēram, linkera skriptu, CMake failu un citu svarīgu projekta komponentu, izsekošanu. Automatizācijas skripti, jo īpaši tie, kas rakstīti Python, var ievērojami racionalizēt šo procesu, automatizējot projekta iestatīšanu un nodrošinot, ka visi nepieciešamie faili atrodas pareizajās vietās.

Automatizējot iestatīšanu, jūs varat nodrošināt konsekventu izstrādes vidi dažādās sistēmās, samazinot ar ceļu saistītu problēmu iespējamību. Šī pieeja ne tikai vienkāršo projektu pārvaldību, bet arī veicina vienmērīgāku sadarbību starp izstrādātājiem. Turklāt avota failu saglabāšana to oriģinālajos direktorijos un CMake izmantošana, lai norādītu uz šiem direktorijiem, ļauj vieglāk rediģēt un kontrolēt versiju, vienlaikus izvairoties no sarežģījumiem, kas saistīti ar Vitis iekšējo failu struktūrām.

Vitis un Git darbplūsmas noslēgums

Lai integrētu Git ar Unified Vitis IDE, ir nepieciešama stratēģiska pieeja, lai efektīvi pārvaldītu versiju kontroli. Izslēdzot Vitis pārvaldītās mapes un koncentrējoties uz būtiskiem konfigurācijas failiem, izstrādātāji var izvairīties no izplatītām kļūmēm, kas saistītas ar absolūtajiem ceļiem un IDE specifiskiem metadatiem. Automatizācijas skripti vēl vairāk uzlabo šo procesu, nodrošinot atkārtojamu un konsekventu projekta iestatīšanu. Šīs stratēģijas nodrošina, ka Vitis projekti joprojām ir pārvaldāmi un sadarbojas pat sarežģītās izstrādes vidēs.