Opas Gitin käyttämiseen Unified Vitis IDE:n kanssa

Opas Gitin käyttämiseen Unified Vitis IDE:n kanssa
Opas Gitin käyttämiseen Unified Vitis IDE:n kanssa

Gitin käytön aloittaminen Vitis IDE:ssä

Gitin käyttäminen uuden VSCode-pohjaisen "Unified Vitis" IDE:n kanssa tarjoaa ainutlaatuisia haasteita vanhempaan Eclipse-pohjaiseen versioon verrattuna. Tuonti/vientiprojektin ohjattu toiminto puuttuu uusimmasta versiosta, mikä aiheuttaa vaikeuksia versionhallinnan tehokkaassa hallinnassa.

Tämän oppaan tarkoituksena on puuttua ongelmiin, joita kohdattiin käytettäessä Git in Vitis -ohjelmaa, mukaan lukien luotujen tiedostojen käsittely absoluuttisilla poluilla ja sujuvan yhteistyön varmistaminen eri kehitysjärjestelmien välillä. Tutkimme käytännön työnkulkua, jolla voit hallita Vitis-projektejasi tehokkaasti Gitin avulla.

Komento Kuvaus
import vitis Tuo Vitis APIn ollakseen vuorovaikutuksessa Vitis-projektien kanssa ohjelmallisesti.
client.set_workspace() Asettaa Vitis-asiakasohjelman työtilahakemiston projektitiedostojen hallintaa varten.
client.create_platform_component() Luo uuden alustakomponentin Vitis-työtilaan käyttämällä määritettyjä laitteisto- ja käyttöjärjestelmäparametreja.
platform.build() Käynnistää Vitiksen määritetyn alustakomponentin rakennusprosessin.
client.create_app_component() Luo uuden sovelluskomponentin, joka on linkitetty määritettyyn alustakomponenttiin Vitisissä.
comp.import_files() Tuo tarvittavat tiedostot lähdehakemistosta Vitis-sovelluskomponenttiin.
os.makedirs() Luo määritetyn hakemistorakenteen, mukaan lukien tarvittavat ylähakemistot.
vitis -s tools/build_app.py Suorittaa määritetyn Python-komentosarjan Vitis-komentoriviliittymän avulla projektin määrittämiseksi.
echo "build-vitis/" >>echo "build-vitis/" >> .gitignore Lisää koontihakemiston Gitin ohitustiedostoon sulkeakseen sen pois versionhallinnasta.
git commit -m Sitouttaa vaiheittaiset muutokset paikalliseen Git-tietovarastoon määritetyllä toimitussanomalla.

Vitis Automation -skriptien selitys

Ensimmäinen komentosarja automatisoi Vitis-projektin asennuksen Pythonilla. Se alkaa tuomalla tarvittavat moduulit erityisesti vitis ja os. Sitten se määrittää juuripolun ja luo rakennushakemiston, jos sitä ei ole olemassa os.makedirs(). Komentosarja määrittää odotetut polut XSA-tiedostolle ja päälähdehakemistolle. Seuraavaksi se luo Vitis-asiakkaan ja asettaa työtilan juuri luotuun rakennushakemistoon. Alustakomponentti on luotu client.create_platform_component(), joka määrittää laitteiston, käyttöjärjestelmän ja suorittimen kokoonpanon. Kun alustakomponentti on rakennettu, sovelluskomponentti luodaan ja linkitetään alustakomponenttiin. Lopuksi tarvittavat tiedostot tuodaan Vitis-projektiin ja komponentti rakennetaan.

Toinen komentosarja on shell-skripti, joka alustaa Vitis-projektin ja määrittää Git-integraation. Se määrittää juuripolun ja rakennushakemiston ja luo hakemiston, jos sitä ei ole olemassa. Skripti suorittaa sitten Python-komentosarjan käyttämällä vitis -s tools/build_app.py automatisoidaksesi projektin asennuksen. Python-komentosarjan suorittamisen jälkeen shell-skripti perustaa Git-tietovaraston navigoimalla juurihakemistoon ja alustamalla Git git initja lisäämällä rakennushakemistoja hakemistoon .gitignore tiedosto. Se vaiheittaa asiaankuuluvat tiedostot git add ja sitoo ne arkistoon kanssa git commit -m. Tämä lähestymistapa varmistaa, että koontihakemistot jätetään versionhallinnan ulkopuolelle, samalla kun tarvittavat projektitiedostot seurataan.

Vitis-projektin asennuksen automatisointi Pythonilla

Python-skripti Vitis-projektin asennuksen ja Git-integraation käsittelemiseen

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

Lähdehallinnan hallinta Vitis-projekteissa

Shell-skripti virtaviivaistaa Vitis-projektin alustusta ja lähteen ohjausta

#!/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:n ja versionhallinnan ymmärtäminen

Yksi näkökohta uuden "Unified Vitis" IDE:n käyttämisessä Gitin kanssa sisältää Vitis-projektien rakenteen ja komponenttien ymmärtämisen. Vitis IDE luo lukuisia tiedostoja, joista monissa on absoluuttiset polut, mikä vaikeuttaa versionhallintaa. Nämä tiedostot sisältävät alustakokoonpanot, laitteistokuvaukset ja IDE-kohtaiset metatiedot. Kun näitä tiedostoja ohjataan versioittain ilman asianmukaista käsittelyä, kehittäjät voivat kohdata ongelmia, kuten rakennusvirheitä, jotka johtuvat eri järjestelmien yhteensopimattomista poluista.

Näiden ongelmien lieventämiseksi yleinen käytäntö on jättää Vitiksen hallinnoimat kansiot pois versionhallinnasta. Sen sijaan tärkeät määritystiedostot, kuten linkkikomentosarjat, CMake-tiedostot ja muut tärkeät projektitiedostot, kopioidaan manuaalisesti Vitiksen odottamiin paikkoihin. Tämä lähestymistapa varmistaa, että vain tarvittavat tiedostot ovat versionhallinnassa, mikä vähentää ristiriitojen ja virheiden riskiä yhteistyössä muiden kehittäjien kanssa. Lisäksi automaatiokomentosarjojen, kuten Python- tai shell-komentosarjojen, käyttö voi virtaviivaistaa tätä prosessia ja varmistaa, että projektin asetukset ja tiedostojen hallinta ovat johdonmukaisia ​​ja toistettavia.

Yleisiä kysymyksiä ja ratkaisuja Gitin käyttämiseen Vitis IDE:n kanssa

  1. Kuinka alustan Git-tietovaraston Vitis-projektia varten?
  2. Voit alustaa Git-arkiston siirtymällä projektin juureen ja suorittamalla sen git init. Lisää tarvittavat tiedostot .gitignore poistaaksesi ei-toivotut tiedostot.
  3. Mitä tiedostoja tulee sisällyttää .gitignore Vitis-projektiin?
  4. Sisällytä IDE-kohtaisia ​​kansioita, kuten build-vitis/ ja build-vivado/ välttääksesi versioohjauksen automaattisesti luotuja tiedostoja.
  5. Kuinka voin automatisoida Vitis-projektin määrityksen?
  6. Käytä Python-komentosarjaa automatisoidaksesi tehtäviä, kuten alustakomponenttien luomista ja tarvittavien tiedostojen tuontia. Suorita skripti käyttämällä vitis -s tools/build_app.py.
  7. Miksi minun on kopioitava määritystiedostot manuaalisesti?
  8. Vitis odottaa tiettyjen asetustiedostojen olevan tietyissä paikoissa. Näiden tiedostojen kopioiminen manuaalisesti tai komentosarjan avulla varmistaa, että IDE löytää ne oikein.
  9. Kuinka käsittelen alusta- ja sovelluskansioita Vitisissä?
  10. Sulje nämä kansiot pois versionhallinnasta ja käytä komentosarjoja tarvittavien tiedostojen hallintaan varmistaen johdonmukaisuuden ja välttäen polkuristiriidat.
  11. Voinko muokata lähdetiedostoja suoraan Vitisissa käyttäessäni Gitiä?
  12. Kyllä, mutta varmista, että CMake-asennus osoittaa oikeisiin lähdehakemistoihin. Vitis ei ehkä tunnista sisällytyksiä ja nimiä oikein syntaksin korostamista varten.
  13. Mitä etuja on skriptien käyttämisestä projektin määrittämiseen?
  14. Skriptit varmistavat johdonmukaisen ja toistettavan projektin asennuksen, vähentäen manuaalisia virheitä ja yksinkertaistaen yhteistyötä eri ympäristöissä.
  15. Kuinka voin päivittää projektini asetuksia, jos muutoksia tehdään?
  16. Muokkaa automaatiokomentosarjasi muutosten mukaisiksi ja suorita ne uudelleen. Tämä varmistaa, että kaikki tarvittavat päivitykset asennetaan oikein.
  17. Mitä minun pitäisi tehdä, jos kohtaan polkuongelmista johtuvia rakennusvirheitä?
  18. Tarkista projektisi asennusskriptit ja varmista, että kaikki polut on määritetty oikein. Käytä suhteellisia polkuja mahdollisuuksien mukaan välttääksesi ristiriidat.

Vitis IDE:n tehokkaan versionhallinnan tärkeimmät kohdat

Versionhallinnan käyttöönotto uudella Unified Vitis IDE:llä sisältää useita tärkeitä vaiheita. Aloita jättämällä Vitiksen luomat kansiot pois versionhallinnasta ristiriitojen ja virheiden välttämiseksi. Keskity sen sijaan olennaisten määritystiedostojen, kuten linkkikomentosarjojen, CMake-tiedostojen ja muiden tärkeiden projektikomponenttien, seurantaan. Automaatiokomentosarjat, erityisesti Pythonissa kirjoitetut, voivat merkittävästi virtaviivaistaa tätä prosessia automatisoimalla projektin asennuksen ja varmistamalla, että kaikki tarvittavat tiedostot ovat oikeissa paikoissa.

Automatisoimalla asennuksen voit varmistaa johdonmukaisen kehitysympäristön eri järjestelmissä, mikä vähentää polkuun liittyvien ongelmien todennäköisyyttä. Tämä lähestymistapa ei ainoastaan ​​yksinkertaista projektinhallintaa, vaan myös helpottaa kehittäjien välistä yhteistyötä. Lisäksi lähdetiedostojen pitäminen alkuperäisissä hakemistoissaan ja CMaken käyttäminen osoittamaan näihin hakemistoihin mahdollistaa helpomman muokkauksen ja versionhallinnan, samalla kun vältetään Vitiksen sisäisten tiedostorakenteiden käsittelyn monimutkaisuus.

Vitiksen ja Gitin työnkulun päättäminen

Gitin integrointi Unified Vitis IDE:hen vaatii strategista lähestymistapaa versionhallinnan tehokkaaseen hallintaan. Sulkemalla pois Vitiksen hallinnoimat kansiot ja keskittymällä olennaisiin määritystiedostoihin kehittäjät voivat välttää yleiset sudenkuopat, jotka liittyvät absoluuttisiin polkuihin ja IDE-kohtaisiin metatietoihin. Automaatioskriptit parantavat tätä prosessia entisestään tarjoamalla toistettavan ja johdonmukaisen projektiasennuksen. Nämä strategiat varmistavat, että Vitis-projektit pysyvät hallittavissa ja yhteistyökykyisinä myös monimutkaisissa kehitysympäristöissä.