โลโก้ ALPHA-DATA

ชุดพัฒนาซอฟต์แวร์ ALPHA DATA ADM-VA601

ALPHA-DATA -ADM-VA601 -ซอฟต์แวร์ -ชุดพัฒนาผลิตภัณฑ์

การแนะนำ

บันทึกการใช้งานนี้ให้คำแนะนำเกี่ยวกับการสร้าง แก้ไข และปรับใช้อิมเมจ Versal ACAP สำหรับ ADM-VA601 รวมถึงฟีเจอร์ที่จำเป็นทั้งหมดสำหรับการเขียนโปรแกรมและการบูตจากหน่วยความจำกำหนดค่า QSPI P-SRAM (MRAM) ระดับอวกาศของ Avalanche แพ็คเกจนี้ประกอบด้วยส่วนประกอบซอฟต์แวร์ที่จำเป็นทั้งหมดสำหรับการสร้างอิมเมจนี้

ข้อกำหนดด้านฮาร์ดแวร์

  • ชุด ADK-VA601
  • บอร์ดลูก ADM-VA601-FL3 พร้อม Avalanche QSPI P-SRAM™ (MRAM)
  • แบ็คเพลน VITA46
  • พีซีโฮสต์ที่มี Vitis Unified IDE 2022.2 ติดตั้งอยู่
  • เครื่องอ่านการ์ด Micro SD และการ์ด Micro SD
  • สาย USB-Serial พร้อมขั้วต่อ DSUB9

เครื่องมือซอฟต์แวร์

โครงการ FPGA ต้องใช้ Vivado 2022.2 ที่ทำงานบน Windows หรือ Linux ดู https://www.xilinx.com/support/documentation-navigation/design-hubs/dh0013-vivado-installation-and-licensing-hub.html สำหรับรายละเอียดเพิ่มเติมเกี่ยวกับระบบปฏิบัติการที่รองรับ การสร้างอิมเมจ Linux ที่สามารถบูตได้ต้องใช้ PetaLinux 2022.2 และระบบปฏิบัติการ Linux ที่เข้ากันได้ ดู https://docs.xilinx.com/r/en-US/ug1144-PetaLinux-tools-reference-guide/Overview สำหรับรายละเอียดเพิ่มเติมเกี่ยวกับระบบปฏิบัติการที่รองรับ

โครงสร้างแพ็คเกจ

ALPHA-DATA -ADM-VA601 -ซอฟต์แวร์ -ชุดพัฒนา-รูปที่ (1)

การสร้างแพลตฟอร์มฮาร์ดแวร์ใน Vivado
โครงการ Vivado ประกอบด้วยการออกแบบบล็อกที่ประกอบด้วย IP ของ CIPS และ NoC ซึ่งเป็นองค์ประกอบพื้นฐานที่ช่วยให้ระบบประมวลผล (PS) สามารถรันแอปพลิเคชันได้ การกำหนดค่า NoC ช่วยให้สามารถเข้าถึงอุปกรณ์ต่อพ่วง PS, PL และหน่วยความจำ DDR4 SDRAM ทำให้ PetaLinux สามารถทำงานภายในพื้นที่หน่วยความจำของตัวเองได้

ในการสร้างโครงการ Vivado คุณสามารถใช้ Makefiles รวมอยู่ในแพ็กเกจ โดยสมมติว่าใช้ระบบปฏิบัติการบน Linux เปิด bash shell ใน Linux และป้อนคำสั่งต่อไปนี้:
ส่งออก XILINX_TOOLS_VERSION=2022.2
แหล่งที่มา $(XILINX_LOC)/Vivado/$(XILINX_TOOLS_VERSION)/settings64.sh
{pkg_root}/fpga/proj:$ ทำ

บันทึก:
หรืออีกวิธีหนึ่ง หากคุณรัน make จากโฟลเดอร์รูทของแพ็กเกจ ผลิตภัณฑ์เอาท์พุตอื่นๆ ทั้งหมดสำหรับ Vitis และ Petalinux จะถูกสร้างขึ้นหลังจาก .xsa file ได้มาแล้ว

คุณสามารถแก้ไขโปรเจ็กต์ Vivado ที่สร้างขึ้นได้ในภายหลังโดยเปิดใน GUI ของ Vivado ด้านล่างนี้เป็นตัวอย่างampของแผนผังบล็อกตามที่ปรากฏใน IPI ของ Vivado:ALPHA-DATA -ADM-VA601 -ซอฟต์แวร์ -ชุดพัฒนา-รูปที่ (3)

คุณสามารถสร้างโปรเจ็กต์ได้โดยการรันสคริปต์ใน GUI ของ Vivado เช่นกัน โดยเปิด Vivado แล้วเลือกตัวเลือกต่อไปนี้จากเมนูหลัก:
เครื่องมือ -> เรียกใช้สคริปต์ Tcl…
ใน file ในกล่องโต้ตอบการเลือกที่ปรากฏขึ้น ให้ไปที่ {pkg_root}/fpga/proj/ps-test-va601-ava.tcl สคริปต์นี้จะสร้างไดอะแกรมบล็อก ดำเนินการตามขั้นตอนการสร้างเพื่อสร้างอิมเมจอุปกรณ์ และส่งออก XSA ของแพลตฟอร์ม file (ps-test-va601-ava.vitis/ps-test-va601-ava.xsa) สำหรับใช้ใน Vitis/PetaLinux นอกเหนือจากการกำหนดค่า IP ของ CIPS ที่จำเป็นต่อการเปิดใช้งานความเข้ากันได้ของแพลตฟอร์มกับบอร์ด ADM-VA601 แล้ว สคริปต์ยังเติมค่าการตั้งค่า QSPI ไว้ล่วงหน้าเพื่อทำงานร่วมกับโมดูล ADM-VA601-FL3 ซึ่งติดตั้งไว้ด้วย

หน่วยความจำการกำหนดค่า Avalanche QSPI สคริปต์ที่ให้มาสำหรับการสร้างโปรเจ็กต์ (ps-test-va601-ava.tcl) จะดำเนินการดังต่อไปนี้ ซึ่งได้อธิบายไว้ด้านล่างเพื่อให้ผู้ใช้ดำเนินการด้วยตนเอง:

  1. เรียกใช้ Vivado และเปิดโครงการ
  2. เลือก “โหมดการบูต”
  3. เลือก “QSPI” เป็นการบูต/จัดเก็บข้อมูล
  4. เลือก “Dual Parallel” เป็นโหมด QSPI
  5. เลือก “x4” เป็นโหมดข้อมูล
  6. ป้อน “80” สำหรับความถี่สัญญาณนาฬิกาอ้างอิง QSPI ที่ร้องขอ (MHz)

ความถี่อินเทอร์เฟซ MRAM QSPI (MHz) = ความถี่สัญญาณนาฬิกาอ้างอิง QSPI (MHz)/2ALPHA-DATA -ADM-VA601 -ซอฟต์แวร์ -ชุดพัฒนา-รูปที่ (4)

การแก้ไขไดรเวอร์ QSPI และ PLM (ตัวโหลดและตัวจัดการแพลตฟอร์ม) ที่มีอยู่
เพื่อเปิดใช้งาน PLM ของ Versal ACAP (Platform Loader and Manager หรือ First Stage Bootloader) เพื่อตรวจจับและใช้งานหน่วยความจำการกำหนดค่า Avalanche QSPI จำเป็นต้องใช้เฟิร์มแวร์ PLM แบบกำหนดเอง เฟิร์มแวร์นี้ต้องมีไดรเวอร์แบบ bare-metal ที่แพตช์ด้วยซอร์สโค้ดใหม่สำหรับคอมโพเนนต์ Avalanche เพื่อให้บรรลุสิ่งนี้ เราจะสร้างแพลตฟอร์ม Vitis โดยใช้แพลตฟอร์มฮาร์ดแวร์ที่ส่งออกในขั้นตอนก่อนหน้า (.xsa) แพลตฟอร์มนี้จะมีเพียง Platform Loader and Manager (PLM) เท่านั้น และสามารถสร้างจากเทมเพลตใน Vitis ได้

ใน Linux ให้เปิดเชลล์ bash และรัน make:
แหล่งที่มา $(XILINX_LOC)/Vivado/$(XILINX_TOOLS_VERSION)/settings64.sh{pkg_root}/sw/vitis:$ สร้าง

บันทึก:
make สร้างไฟล์ .xsa ขึ้นมาใหม่ file เฉพาะจากโฟลเดอร์รูทเท่านั้น หากแพลตฟอร์มฮาร์ดแวร์ Vivado ได้รับการอัปเดตแล้ว ให้เรียกใช้ make จากโฟลเดอร์รูทหรือ Vivado ก่อน ตรวจสอบให้แน่ใจว่าสคริปต์การตั้งค่าสภาพแวดล้อมมีซอร์สโค้ด จากนั้นเรียกใช้: export XILINX_TOOLS_VERSION=2022.2

การดำเนินการนี้จะสร้างเฟิร์มแวร์ PLM ใหม่และแพตช์ไดรเวอร์แบบ bare-metal ใน BSP สำหรับข้อมูลเพิ่มเติมเกี่ยวกับวิธีสร้าง PLM โปรดไปที่ลิงก์นี้: https://xilinx.github.io/Embedded-DesignTutorials/docs/2021.2/build/html/docs/Introduction/Versal-EDT/docs/A-creating-plm.html

ผู้ใช้สามารถสร้างโครงการ PLM นี้ด้วยตนเองโดยใช้ Vitis GUI หรือโดยการรันคำสั่งต่อไปนี้ในคอนโซล XSCT view (เข้าถึงได้ใน GUI ด้วย): app create -name ${app_name} -hw ${xsa_path} -proc versal_cips_0_pspmc_0_psv_pmc_0-os standalone -template “versal PLM”

ที่ไหน:
ชื่อแอป = ps-test-va601-ava-plm
xsa_path = เส้นทางไปยัง .xsa file (ปกติจะอยู่ภายใต้ {pkg_root}/fpga/proj/prj_name/prj_name.vitis)

ไดร์เวอร์แบบเปลือยโลหะที่ถูกแพตช์นั้นอยู่ใน files xloader.c และ xloader.h โดยที่ ID ของ Avalanche จะถูกเพิ่มลงในซอร์สโค้ดของไดรเวอร์ การเปลี่ยนแปลงเหล่านี้แสดงอยู่ในรูปภาพด้านล่าง:ALPHA-DATA -ADM-VA601 -ซอฟต์แวร์ -ชุดพัฒนา-รูปที่ (5)ALPHA-DATA -ADM-VA601 -ซอฟต์แวร์ -ชุดพัฒนา-รูปที่ (6)

การสร้างอิมเมจ Petalinux
แพ็กเกจนี้มีสคริปต์สำหรับสร้างอิมเมจ PetaLinux จากแพลตฟอร์มฮาร์ดแวร์ Vivado ตามปกติ อย่างไรก็ตาม จำเป็นต้องมีขั้นตอนเพิ่มเติมเพื่อให้อิมเมจ PetaLinux ทำงานร่วมกับหน่วยความจำการกำหนดค่า Avalanche QSPI ได้:

  • กำหนดพาร์ติชันหน่วยความจำการกำหนดค่า QSPI
  • อัปเดต U-Boot (บูตโหลดเดอร์รอง) เพื่อรวม ID อุปกรณ์ Avalanche
  • อัปเดตเคอร์เนล Linux เพื่อรวม ID อุปกรณ์ Avalanche
  • แทนที่ PLM ที่สร้างโดย PetaLinux ด้วย PLM ที่ปรับเปลี่ยนแล้วซึ่งสร้างใน Vitis ในขั้นตอนก่อนหน้า

ในการสร้างอิมเมจ Petalinux โดยใช้แพลตฟอร์มฮาร์ดแวร์ที่สร้างไว้ก่อนหน้านี้ (.xsa) และ PLM ที่แก้ไขแล้ว (plm.elf) ให้เปิดเชลล์ bash ใน Linux และรัน make จากเส้นทางที่ระบุ: {pkg_root}/sw/petalinux:$ make

บันทึก:
โปรดทราบว่า make จะสร้าง .xsa และ .elf ขึ้นมาใหม่ files เฉพาะเมื่อเรียกใช้จากโฟลเดอร์รูทของแพ็กเกจ หากมีการอัปเดตแพลตฟอร์มฮาร์ดแวร์ Vivado หรือ Vitis PLM ให้เรียกใช้ make จากรูทหรือโฟลเดอร์ที่เกี่ยวข้องก่อน ตรวจสอบให้แน่ใจว่าสคริปต์การตั้งค่าสภาพแวดล้อมมีแหล่งที่มา จากนั้นเรียกใช้: export XILINX_TOOLS_VERSION=2022.2

ขั้นตอนการสร้างอิมเมจ Petalinux (ด้วยตนเอง)

  1. แหล่งที่มาของสภาพแวดล้อม Petalinux: source $(PETALINUX)/$(XILINX_TOOLS_VERSION)/settings.sh
  2. สร้างโครงการ Petalinux ด้วยการตั้งค่า BSP มาตรฐานสำหรับ Versal: petalinux-create -t ​​project –template versal -n $(PRJ_DIR)
  3. เปลี่ยนการตั้งค่า BSP สำหรับแพลตฟอร์มที่กำหนดเองของเรา: petalinux-config –get-hw-description=$(XSA_ORIG) –silentconfig
  4. ใช้อุปกรณ์เฉพาะสำหรับ ADM-VA601:
    cp pkg_root/sw/petalinux/device-tree/system-user.dtsi โปรเจ็กต์-spec/meta-user/recip
    es-bsp/อุปกรณ์ต้นไม้/files/system-user.dtsi
  5. ใช้แพทช์ของ Avalanche กับ U-boot:
    แพตช์ cp/u-boot/*.bbappend โปรเจ็กต์-spec/meta-user/recipes-bsp/u-boot/u-boot-xlnx _%.bbappend
    แพทช์ cp/u-boot/*.patch โปรเจ็กต์-spec/meta-user/recipes-bsp/u-boot/files/ava_u-bo ot_2022.2.patch
  6. ใช้แพทช์ของ Avalanche กับเคอร์เนล Linux:
    แพตช์ cp/เคอร์เนล/*.bbappend โปรเจ็กต์-spec/meta-user/recipes-kernel/linux/linux-xln x_%.bbappend
    แพทช์ cp/เคอร์เนล/*.patch โปรเจ็กต์-spec/meta-user/recipes-kernel/linux/linux-xlnx/a
    แพทช์ va_kernel_2022.2_p1
    แพทช์ cp/เคอร์เนล/*.patch โปรเจ็กต์-spec/meta-user/recipes-kernel/linux/linux-xlnx/a
    แพทช์ va_kernel_2022.2_p2
  7. สร้างอิมเมจ Petalinux: petalinux-build –> สร้างอิมเมจ Petalinux
  8. แพ็กเกจ BOOT.BIN ในอิมเมจ Petalinux พร้อม PLM ที่แก้ไขแล้ว: petalinux-package –boot –u-boot –plm $(ELF_ORIG) –force

การเขียนโปรแกรมและการบูตจากหน่วยความจำการกำหนดค่า QSPI

  1. คัดลอกภาพ PetaLinux ที่ให้มา fileลงในการ์ด SD มีดังต่อไปนี้:
    • บูต.บิน
    • รูปภาพ.ub
    • บูต.scr
  2. ใส่ micro-SD เข้าไปในซ็อกเก็ต uSDALPHA-DATA -ADM-VA601 -ซอฟต์แวร์ -ชุดพัฒนา-รูปที่ (7)
  3. ใส่ ADM-VA600-FL3 เข้าไปในด้านบนของ VA601 (ภาพใช้เพื่อการแสดง โมดูล FL3 อาจแตกต่างกัน)ALPHA-DATA -ADM-VA601 -ซอฟต์แวร์ -ชุดพัฒนา-รูปที่ (8)
  4. เชื่อมต่อสายแปลง USB-Serial เข้ากับพอร์ต UART บน RTMALPHA-DATA -ADM-VA601 -ซอฟต์แวร์ -ชุดพัฒนา-รูปที่ (9)
  5. ตั้งค่าตำแหน่ง SW2 ในโหมดบูต microSD
    สวิตช์โหมด SW2 [4:1]: ปิด, ปิด, ปิด, เปิดALPHA-DATA -ADM-VA601 -ซอฟต์แวร์ -ชุดพัฒนา-รูปที่ (10)
  6. เปิดเทอร์มินัลบนพอร์ต USB-Serial ด้วยการกำหนดค่าต่อไปนี้: 115200bps, 8 บิต, ไม่มีพาริตี้, หยุด 1 บิต, ปิดการควบคุมการไหล
  7. เปิด ADM-VA601 U-Boot และ Kernel จะโหลด:
    คำสั่งตรวจสอบ Uboot: sf probe 0 0 0 จะแสดงรายละเอียดอุปกรณ์ Avalance คำสั่งตรวจสอบเคอร์เนล: จะแสดงพาร์ติชันหน่วยความจำการกำหนดค่า mtdinfo
  8. คัดลอก files ในการ์ด SD สู่หน่วยความจำโดยใช้คำสั่งต่อไปนี้
    ซีดี /รัน/สื่อ/mmcblk0p1
    flashcp BOOT.BIN /dev/mtd0
    รูปภาพ flashcp.ub /dev/mtd1
    บูต flashcp.scr /dev/mtd2
  9. ปิดเครื่อง ADM-VA601
  10. เปิดใช้งานโหมดการบูต QSPI โดยการเปลี่ยนตำแหน่งสวิตช์ SW2: สวิตช์โหมด SW2 [4:1]–>เปิด, เปิด, ปิด, เปิด
  11. เปิด ADM-VA601 และระบบจะบูตจากหน่วยความจำALPHA-DATA -ADM-VA601 -ซอฟต์แวร์ -ชุดพัฒนา-รูปที่ (11)

ติดต่อ

  • ที่อยู่: Suite L4A, 160 Dundee Street,
  • เอดินบะระ EH11 1DQ สหราชอาณาจักร
  • โทรศัพท์: +44 131 558 2600
  • แฟกซ์: +44 131 558 2700
  • อีเมล: sales@alpha-data.com
  • Webเว็บไซต์: http://www.alpha-data.com
  • ที่อยู่: 10822 West Toller Drive, Suite 250
  • ลิตเทิลตัน, โคโลราโด 80127
  • โทรศัพท์ : (303) 954 8768
  • แฟกซ์: (866) 820 9956 – โทรฟรี
  • อีเมล: sales@alpha-data.com
  • Webเว็บไซต์: http://www.alpha-data.com

คำถามที่พบบ่อย

  • ถาม: เครื่องมือซอฟต์แวร์ใดบ้างที่จำเป็นสำหรับชุดพัฒนาซอฟต์แวร์ ADM-VA601?
    • ตอบ: ต้องใช้ Vivado 2022.2 และ PetaLinux 2022.2 สำหรับโปรเจ็กต์อิมเมจ FPGA และ Linux ตามลำดับ
  • ถาม: ฉันสามารถปรับเปลี่ยนโครงการ Vivado หลังจากสร้างแล้วได้หรือไม่
    • ตอบ: ใช่ โปรเจ็กต์ Vivado สามารถปรับเปลี่ยนได้โดยใช้ GUI ของ Vivado

เอกสาร / แหล่งข้อมูล

ชุดพัฒนาซอฟต์แวร์ ALPHA DATA ADM-VA601 [พีดีเอฟ] คู่มือการใช้งาน
ชุดพัฒนาซอฟต์แวร์ ADM-VA601, ADM-VA601, ชุดพัฒนาซอฟต์แวร์, ชุดพัฒนา

อ้างอิง

ฝากความคิดเห็น

ที่อยู่อีเมลของคุณจะไม่ถูกเผยแพร่ ช่องที่ต้องกรอกข้อมูลมีเครื่องหมาย *