ALPHA-DONE-logo

Twous Devlopman Lojisyèl ALPHA DATA ADM-VA601

ALPHA-DATA -ADM-VA601 -Lojisyèl -Twous Devlopman-pwodwi

Entwodiksyon

Nòt aplikasyon sa a bay enstriksyon pou kreye, modifye, ak deplwaye yon imaj Versal ACAP pou ADM-VA601 la, ki gen ladan tout karakteristik nesesè pou pwogramasyon ak demaraj apati memwa konfigirasyon QSPI P-SRAM (MRAM) Avalanche ki fonksyone nan espas. Pake a gen ladan tout konpozan lojisyèl ki nesesè pou konstwi imaj sa a.

Kondisyon pyès ki nan konpitè

  • Twous ADK-VA601
  • Kat pitit fi ADM-VA601-FL3 ak Avalanche QSPI P-SRAM™ (MRAM)
  • VITA46 Backplane
  • Odinatè prensipal ki gen Vitis Unified IDE 2022.2 enstale
  • Lektè kat mikwo SD ak kat mikwo SD
  • Kab USB-Seri ak konektè DSUB9

Zouti lojisyèl

Pwojè FPGA a mande Vivado 2022.2, ki fonksyone swa sou Windows oswa Linux. Gade https://www.xilinx.com/support/documentation-navigation/design-hubs/dh0013-vivado-installation-and-licensing-hub.html pou plis detay sou sistèm operasyon ki sipòte yo. Pou konstwi yon imaj Linux ki ka demarre, ou bezwen PetaLinux 2022.2 ak yon sistèm operasyon Linux konpatib. Gade https://docs.xilinx.com/r/en-US/ug1144-PetaLinux-tools-reference-guide/Overview pou plis detay sou sistèm operasyon ki sipòte yo.

Estrikti pake a

ALPHA-DATA -ADM-VA601 -Lojisyèl -Twous-Devlopman-fig (1)

Kreye Platfòm Materyèl la nan Vivado
Pwojè Vivado a gen ladan yon konsepsyon blòk ki prezante CIPS ak NoC IP, blòk fondamantal ki pèmèt sistèm pwosesis la (PS) egzekite aplikasyon yo. Konfigirasyon NoC a bay aksè a periferik PS yo, PL a, ak memwa DDR4 SDRAM, sa ki pèmèt PetaLinux opere nan pwòp espas memwa li.

Pou jenere pwojè Vivado a, ou ka itilize Make la.files enkli nan pake a, sipoze w ap itilize yon sistèm operasyon ki baze sou Linux. Louvri yon shell bash nan Linux epi antre kòmand sa yo:
ekspòte XILINX_TOOLS_VERSION=2022.2
sous $(XILINX_LOC)/Vivado/$(XILINX_TOOLS_VERSION)/settings64.sh
{pkg_root}/fpga/proj:$ fè

Nòt:
Oubyen, si ou egzekite make depi dosye rasin pake a, tout lòt pwodwi rezilta pou Vitis ak Petalinux yo pral pwodui apre .xsa a. file se jwenn.

Pwojè Vivado ki kreye a ka modifye pita lè w louvri l nan koòdone itilizatè grafik Vivado a. Anba la a se yon egzanp.ampdyagram blòk la jan li parèt nan IPI Vivado a:ALPHA-DATA -ADM-VA601 -Lojisyèl -Twous-Devlopman-fig (3)

Pwojè a kapab tou jenere lè w egzekite script la nan koòdone itilizatè grafik Vivado a. Pou sa, ouvri Vivado epi chwazi opsyon sa a nan meni prensipal la:
Zouti -> Egzekite script Tcl…
Nan la file Nan bwat dyalòg seleksyon ki parèt la, ale nan {pkg_root}/fpga/proj/ps-test-va601-ava.tcl. Script sa a pral jenere dyagram blòk la, egzekite etap konstriksyon yo pou kreye imaj aparèy la, epi ekspòte XSA platfòm lan. file (ps-test-va601-ava.vitis/ps-test-va601-ava.xsa) pou itilize nan Vitis/PetaLinux. Anplis konfigirasyon CIPS IP ki nesesè pou pèmèt konpatibilite platfòm ak kat ADM-VA601 la, script la ranpli paramèt QSPI yo davans pou travay ak modil ADM-VA601-FL3 la, ki ekipe ak

Memwa konfigirasyon Avalanche QSPI. Script ki bay pou jenere pwojè a (ps-test-va601-ava.tcl) fè aksyon sa yo, ki dekri tou anba a pou ekzekisyon manyèl pa itilizatè a:

  1. Kouri Vivado, epi ouvri pwojè a
  2. Chwazi "Mòd Demaraj"
  3. Chwazi "QSPI" kòm yon Demaraj/Depo
  4. Chwazi "Doub Paralèl" kòm Mòd QSPI
  5. Chwazi "x4" kòm Mòd Done
  6. Antre "80" pou Frekans Referans Revèy QSPI ki Mande a (MHz)

Frekans Entèfas MRAM QSPI (MHz) = Frekans Revèy Referans QSPI (MHz)/2ALPHA-DATA -ADM-VA601 -Lojisyèl -Twous-Devlopman-fig (4)

Modifye Chofè QSPI ak PLM (Platform Loader and Manager) ki deja egziste
Pou aktive PLM Versal ACAP la (Platform Loader and Manager, oubyen First Stag(e Bootloader) pou detekte epi opere memwa konfigirasyon Avalanche QSPI a, yon firmwèr PLM pèsonalize nesesè. Firmwèr sa a dwe gen ladan l chofè bare-metal ki patch ak nouvo kòd sous pou konpozan Avalanche la. Pou reyalize sa, nou pral kreye yon platfòm Vitis lè l sèvi avèk platfòm pyès ki nan konpitè ki te ekspòte nan etap anvan an (.xsa). Platfòm sa a pral genyen sèlman Platform Loader and Manager (PLM) la epi li ka kreye apati yon modèl nan Vitis.

Nan Linux, ouvri yon shell bash epi egzekite make:
sous $(XILINX_LOC)/Vivado/$(XILINX_TOOLS_VERSION)/settings64.sh{pkg_root}/sw/vitis:$ fè

Nòt:
fè rejenerasyon .xsa a file sèlman nan dosye rasin lan. Si platfòm pyès ki nan konpitè Vivado a te mete ajou, egzekite make nan dosye rasin lan oswa nan dosye Vivado a anvan. Asire w ke script konfigirasyon anviwònman an byen soti, answit egzekite: export XILINX_TOOLS_VERSION=2022.2

Sa ap kreye yon nouvo firmwèr PLM epi mete patch pou chofè bare-metal yo nan BSP a. Pou plis enfòmasyon sou kijan pou kreye PLM nan, vizite lyen sa a: https://xilinx.github.io/Embedded-DesignTutorials/docs/2021.2/build/html/docs/Introduction/Versal-EDT/docs/A-creating-plm.html

Itilizatè a ka kreye pwojè PLM sa a manyèlman lè l sèvi avèk koòdone grafik Vitis la oswa lè l egzekite kòmand sa a nan konsole XSCT la. view (aksesib tou nan GUI a): app create -name ${app_name} -hw ${xsa_path} -proc versal_cips_0_pspmc_0_psv_pmc_0-os standalone -template “versal PLM”

Ki kote:
non_aplikasyon = ps-test-va601-ava-plm
xsa_path = chemen pou .xsa file (nòmalman anba {pkg_root}/fpga/proj/prj_name/prj_name.vitis)

Chofè metal yo ki patchye yo nan files xloader.c ak xloader.h, kote ID Avalanche yo ajoute nan kòd sous chofè a. Chanjman sa yo endike nan figi ki anba yo:ALPHA-DATA -ADM-VA601 -Lojisyèl -Twous-Devlopman-fig (5)ALPHA-DATA -ADM-VA601 -Lojisyèl -Twous-Devlopman-fig (6)

Kreye imaj Petalinux la
Pakè a bay script pou kreye yon imaj PetaLinux apati platfòm pyès ki nan konpitè Vivado a, jan sa konn abitye fèt. Sepandan, gen lòt etap ki nesesè pou imaj PetaLinux la fonksyone ak memwa konfigirasyon Avalanche QSPI a:

  • Defini patisyon memwa konfigirasyon QSPI yo.
  • Mizajou U-Boot (segondè bootloader) pou enkli ID aparèy Avalanche la.
  • Mizajou kernel Linux la pou enkli ID aparèy Avalanche la.
  • Ranplase PLM PetaLinux te pwodui a ak PLM modifye ki te kreye nan Vitis nan etap anvan an.

Pou jenere imaj Petalinux la apati platfòm pyès ki nan konpitè ki te pwodui deja a (.xsa) ak PLM ki te patche a (plm.elf), ouvri yon shell bash nan Linux epi egzekite make apati chemen espesifye a: {pkg_root}/sw/petalinux:$ make

Nòt:
Remake byen ke make pral rejenere .xsa ak .elf yo. files sèlman lè yo kouri depi dosye rasin pake a. Si yo fè mizajou sou platfòm pyès ki nan konpitè Vivado a oswa Vitis PLM, kouri make depi rasin lan oswa dosye respektif yo an premye. Asire w ke script konfigirasyon anviwònman an soti nan sous la, answit kouri: export XILINX_TOOLS_VERSION=2022.2

Etap pou kreye imaj Petalinux la (manyèlman)

  1. Jwenn anviwònman Petalinux la kòm sous: sous $(PETALINUX)/$(XILINX_TOOLS_VERSION)/settings.sh
  2. Kreye pwojè Petalinux la avèk paramèt BSP estanda pou Versal: petalinux-create -t ​​project –template versal -n $(PRJ_DIR)
  3. Chanje paramèt BSP yo pou platfòm pèsonalize nou an: petalinux-config –get-hw-description=$(XSA_ORIG) –silentconfig
  4. Aplike pyebwa aparèy espesifik la pou ADM-VA601 la:
    cp pkg_root/sw/petalinux/device-tree/system-user.dtsi pwojè-espesifikasyon/meta-user/recip
    es-bsp/device-tree/files/systèm-user.dtsi
  5. Aplike patch Avalanche yo sou U-boot la:
    cp patchs/u-boot/*.bbappend spesifikasyon-pwojè/meta-itilizatè/resèt-bsp/u-boot/u-boot-xlnx _%.bbappend
    cp patchs/u-boot/*.patch spesifikasyon-pwojè/meta-itilizatè/resèt-bsp/u-boot/files/ava_u-bo ot_2022.2.patch
  6. Aplike patch Avalanche yo nan Kernel Linux la:
    cp patchs/kernel/*.bbappend spesifikasyon-pwojè/meta-itilizatè/resèt-kernel/linux/linux-xln x_%.bbappend
    cp patches/kernel/*.patch spesifikasyon-pwojè/meta-itilizatè/resèt-kernel/linux/linux-xlnx/a
    va_kernel_2022.2_p1.patch
    cp patches/kernel/*.patch spesifikasyon-pwojè/meta-itilizatè/resèt-kernel/linux/linux-xlnx/a
    va_kernel_2022.2_p2.patch
  7. Bati imaj Petalinux la: petalinux-build –> bati imaj Petalinux la
  8. Mete BOOT.BIN nan pake imaj Petalinux la avèk PLM ki te mete ajou a: petalinux-package –boot –u-boot –plm $(ELF_ORIG) –force

Pwogramasyon ak demaraj nan memwa konfigirasyon QSPI a

  1. Kopye imaj PetaLinux ki te bay la files nan yon kat SD. Men sa ki annapre yo:
    • BOOT.BIN
    • imaj.ub
    • bòt.scr
  2. Mete kat mikwo-SD a nan priz uSD a.ALPHA-DATA -ADM-VA601 -Lojisyèl -Twous-Devlopman-fig (7)
  3. Mete ADM-VA600-FL3 la nan pati anwo VA601 la (imaj la sèvi kòm reprezantasyon, modil FL3 la ka diferan).ALPHA-DATA -ADM-VA601 -Lojisyèl -Twous-Devlopman-fig (8)
  4. Konekte kab konvètisè USB-Seri a nan pò UART ki sou RTM lan.ALPHA-DATA -ADM-VA601 -Lojisyèl -Twous-Devlopman-fig (9)
  5. Mete pozisyon SW2 a nan mòd demaraj microSD la.
    Chanjman Mòd SW2 [4:1]: OFF, OFF, OFF, ONALPHA-DATA -ADM-VA601 -Lojisyèl -Twous-Devlopman-fig (10)
  6. Louvri yon tèminal sou pò USB-Seri a avèk konfigirasyon sa a: 115200bps, 8bits, Pa gen parite, 1bit Stop, Kontwòl Flow OFF
  7. Limen ADM-VA601 la. U-Boot ak Kernel la ap chaje:
    Kòmand verifikasyon Uboot: sf probe 0 0 0 Detay aparèy Avalance yo ap parèt. Kòmand verifikasyon Kernel: patisyon memwa konfigirasyon mtdinfo yo ap parèt.
  8. Kopi a files nan kat SD a nan memwa lè l sèvi avèk kòmand sa yo.
    cd /kouri/medya/mmcblk0p1
    flashcp BOOT.BIN /dev/mtd0
    imaj flashcp.ub /dev/mtd1
    flashcp boot.scr /dev/mtd2
  9. Etenn ADM-VA601 la.
  10. Aktive mòd demaraj QSPI a lè w chanje pozisyon switch SW2 yo: Switch Mòd SW2 [4:1]–>ON, ON, OFF, ON
  11. Limen ADM-VA601 la epi sistèm nan ta dwe demarre apati memwa a.ALPHA-DATA -ADM-VA601 -Lojisyèl -Twous-Devlopman-fig (11)

Kontakte

FAQ

  • K: Ki zouti lojisyèl ki nesesè pou Twous Devlopman Lojisyèl ADM-VA601 la?
    • A: Vivado 2022.2 ak PetaLinux 2022.2 yo obligatwa pou pwojè imaj FPGA ak Linux yo, respektivman.
  • K: Èske mwen ka modifye pwojè Vivado a apre jenerasyon an?
    • A: Wi, ou ka modifye pwojè Vivado a lè w sèvi ak koòdone grafik Vivado a.

Dokiman / Resous

Twous Devlopman Lojisyèl ALPHA DATA ADM-VA601 [pdfGid Itilizatè
Twous Devlopman Lojisyèl ADM-VA601, ADM-VA601, Twous Devlopman Lojisyèl, Twous Devlopman

Referans

Kite yon kòmantè

Adrès imel ou p ap pibliye. Jaden obligatwa yo make *