衡阳派盒市场营销有限公司

電子發燒友App

硬聲App

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示
電子發燒友網>電子資料下載>電子資料>為ZynqberryZero生成嵌入式Linux映像

為ZynqberryZero生成嵌入式Linux映像

2022-11-02 | zip | 0.69 MB | 次下載 | 免費

資料介紹

描述

Trenz Electronic 的 Zynqberry 系列板是有趣的小型 Xilinx 基于 Zynq 的 FPGA 開發板,采用來自其微控制器對應部件 Raspberry Pi 板的流行外形。正如您從名稱中猜到的那樣,ZynqberryZero 采用了 Raspberry Pi Zero 的外形尺寸。雖然本月早些時候我已經介紹了如何為ZynqberryZero創建硬件設計裸機應用程序,但在沒有嵌入式 Linux 映像的情況下,這并不是 ZynqberryZero 和 Raspberry Pi Zero 之間真正的蘋果對蘋果的比較。在 ZynqberryZero 上運行。

ZynqberryZero 擁有與嵌入式 Linux 映像相同的硬件外設,以利用包括 mico-USB OTG 端口、mini-HDMI 端口、MIPI/CSI 攝像頭連接器和 40 針 GPIO 以及用于 SPI、I2C 的標準 Raspberry Pi 引出線、GPIO、5V電源和接地。

?

值得注意的是,雖然 Raspberry Pi Zero 的基本 Raspbian 映像是基于 Debian 的,但 PetaLinux 工具集會生成使用 RPM(Red hat Package Manager)的輕量級 Red Hat 映像。因此,如果您嘗試在 ZynqberryZero 上遷移/復制任何 Raspberry Pi Zero 項目,請記住這一點。

創建 PetaLinux 項目

首先,從命令行獲取環境中的 PetaLinux 工具:

~$ source /tools/Xilinx/PetaLinux/2019.2/settings.sh

然后將目錄更改為您希望 PetaLinux 項目所在的文件夾。我個人喜歡將 PetaLinux 項目放在我為開發板創建硬件設計的 Vivado 項目的頂級目錄中。所以在我的在這種情況下,我的 ZynqberryZero 的 Vivado 項目位于我的主文件夾中的 zynqberry_zero_prj 中:

~$ cd ./zynqberry_zero_prj/
pYYBAGNh-RuAba-aAABSyIjRgAs779.png
?

接下來使用以下命令創建 PetaLinux 項目。為類型標志傳遞項目,為模板標志傳遞zynq。但是,請隨意傳遞項目名稱的所需名稱。

~/zynqberry_zero_prj$ petalinux-create --type project --template zynq --name zynqberry_zero_os

將目錄更改為最后一個命令創建的項目目錄:

~/zynqberry_zero_prj$ cd ./zynqberry_zero_os/

導入硬件設計

在新的 PetaLinux 項目中需要做的第一件事是導入從 Vivado 導出的適當硬件平臺,用于目標 FPGA 開發板。

在這種情況下,這將是在我之前的項目文章的最后一步中導出的硬件平臺,該文章介紹了如何為位于 Vivado 項目頂層目錄中的 ZynqberryZero 生成基本硬件設計,我還創建了 PetaLinux 項目在。

~/zynqberry_zero_prj/zynqberry_zero_os/$ petalinux-config --get-hw-description ../

導入硬件平臺后,系統硬件配置編輯器會自動啟動:

poYBAGNh-R6AFej7AAE4_IJuhik649.png
?

為 ZynqberryZero 的嵌入式 Linux 映像配置系統硬件,以在 ZynqberryZero 的 QSPI 閃存和 SD 卡上的設備樹中查找引導二進制文件。

Subsystem AUTO Hardware settings > Advanced bootable images storage Settings下,將映像存儲介質更改為用于引導映像設置的主閃存,并將映像存儲介質更改為用于dtb 映像設置的主 sd

?
?
?
pYYBAGNh-SGAeJt3AABg2150_qs838.png
?
1 / 2
?

為了在功能方面與 Raspberry Pi Zero 更加匹配,我選擇將根文件系統類型從 initramfs 更改為擴展 (EXT)。

The initramfs filesystem is writeable, but not persistent. Thus any changes are lost at each reboot because it is simply a complete set of directories as a normal root filesystem that is compressed into a single cpio archive loaded by the kernel at boot. The extended filesystem is the traditional filesystem type most think of. In this case it is ext4 in PetaLinux.

Change the root filesystem type from INITRAMFS to EXT. And uncheck the option for TFTP boot if you don't plan to boot your ZynqberryZero over a network connection.

poYBAGNh-SWAY7-kAABuyO1NuHs216.png
?

Exit and save the system hardware configuration editor.

Linux Kernel

Next configure kernel in the PetaLinux project by launching the configuration editor:

~/zynqberry_zero_prj/zynqberry_zero_os/$ petalinux-config -c kernel

Use the search function in the kernel configuration editor by pressing the / key at any time. Verify/modify the kernel to configure the following kernel modules:

CONFIG_MII=y
CONFIG_XILINX_GMII2RGMII=y
CONFIG_USB_USBNET=y
CONFIG_USB_NET_AX8817X=y
CONFIG_USB_NET_AX88179_178A=y
CONFIG_USB_NET_CDCETHER=y
# CONFIG_USB_NET_CDC_EEM is not set
CONFIG_USB_NET_CDC_NCM=y
# CONFIG_USB_NET_HUAWEI_CDC_NCM is not set
# CONFIG_USB_NET_CDC_MBIM is not set
# CONFIG_USB_NET_DM9601 is not set
# CONFIG_USB_NET_SR9700 is not set
# CONFIG_USB_NET_SR9800 is not set
# CONFIG_USB_NET_SMSC75XX is not set
CONFIG_USB_NET_SMSC95XX=y
# CONFIG_USB_NET_GL620A is not set
CONFIG_USB_NET_NET1080=y
# CONFIG_USB_NET_PLUSB is not set
# CONFIG_USB_NET_MCS7830 is not set
# CONFIG_USB_NET_RNDIS_HOST is not set
CONFIG_USB_NET_CDC_SUBSET_ENABLE=y
CONFIG_USB_NET_CDC_SUBSET=y
# CONFIG_USB_ALI_M5632 is not set
# CONFIG_USB_AN2720 is not set
CONFIG_USB_BELKIN=y
CONFIG_USB_ARMLINUX=y
# CONFIG_USB_EPSON2888 is not set
# CONFIG_USB_KC2190 is not set
CONFIG_USB_NET_ZAURUS=y
# CONFIG_USB_NET_CX82310_ETH is not set
# CONFIG_USB_NET_KALMIA is not set
# CONFIG_USB_NET_QMI_WWAN is not set
# CONFIG_USB_NET_INT51X1 is not set
# CONFIG_USB_SIERRA_NET is not set
# CONFIG_USB_VL600 is not set
# CONFIG_USB_NET_CH9200 is not set
CONFIG_FB_SIMPLE=y
# CONFIG_FRAMEBUFFER_CONSOLE is not set
CONFIG_SND_SIMPLE_CARD_UTILS=y
CONFIG_SND_SIMPLE_CARD=y
CONFIG_USBIP_CORE=y
# CONFIG_USBIP_VHCI_HCD is not set
# CONFIG_USBIP_HOST is not set
# CONFIG_USBIP_VUDC is not set
# CONFIG_USBIP_DEBUG is not set

這啟用了以太網控制器/USB 集線器芯片 LAN9514 的內核驅動程序。退出并保存內核的系統硬件配置編輯器。

根文件系統

通過在 PetaLinux 中啟動相應的配置編輯器來配置根文件系統:

~/zynqberry_zero_prj/zynqberry_zero_os/$ petalinux-config -c rootfs

啟用以下文件系統包(同樣,您可以隨時按 / 鍵使用內核配置編輯器中的搜索功能來準確查找每個包在菜單中的位置):

i2c-tools
alsa-plugins
alsa-lib-dev
libasound
alsa-conf-base
alsa-conf
alsa-utils
alsa-utils-aplay
busybox-httpd

接下來,為 ZynqberryZero 添加自定義應用程序:

~/zynqberry_zero_prj/zynqberry_zero_os$ petalinux-create -t apps --name fbgrab --enable
~/zynqberry_zero_prj/zynqberry_zero_os$ petalinux-create -t apps --name ffmpeg --enable
~/zynqberry_zero_prj/zynqberry_zero_os$ petalinux-create -t apps --name i2cpick --enable
~/zynqberry_zero_prj/zynqberry_zero_os$ petalinux-create -t apps --name rpicam --enable
~/zynqberry_zero_prj/zynqberry_zero_os$ petalinux-create -t apps --name startup --enable
~/zynqberry_zero_prj/zynqberry_zero_os$ petalinux-create -t apps --name webfwu --enable

Trenz 示例設計中提供了這些自定義應用程序的源文件,因此只需將它們復制過來:

從 Trenz 示例設計(這只是 bitbake 文件)中刪除 PetaLinux 在 fbgrab 目錄中生成的所有內容以及/zbzerodemo1/os/petalinux/project-spec/meta-user/recipes-apps/fbgrab內容的副本。

同時刪除由 PetaLinux 在 ffmpeg 目錄中生成的所有內容,并Trenz 示例設計(包含源文件的 ffmpeg 文件夾和位烘焙文件)。

對于 i2cpick、rpicam、startup 和 webfwu,從 Trenz 示例設計 ( /zbzerodemo1/os/petalinux/project-spec/meta-user/recipes-apps//files ) 復制它們各自文件目錄的內容) 到 PetaLinux 項目中的文件目錄 ( /zynqberry_zero_prj/zynqberry_zero_os/project-spec/meta-user/recipes-apps//files )

由于某種原因,ZynqberryZero 示例設計中缺少 TE 音頻編解碼器內核模塊,因此我從我的主要 Zynqberry PetaLinux 項目中復制了它。

pYYBAGNh-SiAEk8cAABJxn4l-2c938.png
?

并將以下行添加到/zynqberry_zero_prj/zynqberry_zero_os/project-spec/meta-user/conf中的user-rootfsconfig中,以便根文件系統配置編輯器獲取它,以便我可以返回并在模塊下啟用它(運行 petalinux-config - c rootfs 再次)。

CONFIG_te-audio-codec
?
?
?
poYBAGNh-SuAa7JSAABLnctAmuQ473.png
?
1 / 3 ?啟用用戶添加的應用程序。
?

最后,將 Trenz 示例設計 ( /zbzerodemo1/os/petalinux/project-spec/meta-user/recipes-core ) 中的 recipes-core recipe 文件夾復制到 PetaLinux 項目中的 meta-user 文件夾:/zynqberry_zero_prj/zynqberry_zero_os/項目規范/元用戶/。

poYBAGNh-TGAbd15AABYsbQnqaM918.png
?

這個秘籍包含基本的 TCP/IP 網絡初始化腳本和配置文件,它們是在 Linux 映像中配置網絡接口的高級工具。ZynqberryZero 的以太網控制器/USB 集線器芯片 LAN9514 允許它通過 microUSB 轉以太網適配器連接到網絡,例如:

因此,您會注意到網絡接口在配方中的接口文件中被建立為以太網端口 (eth0)。

設備樹

為了讓內核能夠查看系統中可用的硬件,需要將適當的節點添加到與Vivado 中的模塊設計相關的設備樹中。

將以下設備樹節點添加到/ zynqberry_zero_prj/zynqberry_zero_os/project-spec/meta-user/recipes-bsp/device-tree/files中的system-user.dtsi

/include/ "system-conf.dtsi" 
/{
};

/{
    #address-cells = <1>;
    #size-cells = <1>;
  
    reserved-memory {
        #address-cells = <1>;
        #size-cells = <1>;
        ranges;
		
        hdmi_fb_reserved_region@1FC00000 {
            compatible = "removed-dma-pool";
            no-map;
            reg = <0x1FC00000 0x400000>;
        }; 
    };
  
    hdmi_fb: framebuffer@0x1FC00000 {           
        compatible = "simple-framebuffer";
        
        reg = <0x1FC00000 (1280 * 720 * 4)>;    
        width = <1280>;                         
        height = <720>;                       
        stride = <(1280 * 4)>;                 
        format = "a8b8g8r8";
        status = "okay";
    };
 
    vcc_3V3: fixedregulator@0 {
        compatible = "regulator-fixed";
        regulator-name = "vccaux-supply";
        regulator-min-microvolt = <3300000>;
        regulator-max-microvolt = <3300000>;
        regulator-always-on;
    };
};

&qspi {
    #address-cells = <1>;
    #size-cells = <0>;
    status = "okay";
    flash0: flash@0 {
        compatible = "jedec,spi-nor";
        reg = <0x0>;
        #address-cells = <1>;
        #size-cells = <1>;
        spi-max-frequency = <50000000>;
        partition@0x00000000 {
            label = "boot";
            reg = <0x00000000 0x00500000>;
        };
        partition@0x00500000 {
            label = "bootenv";
            reg = <0x00500000 0x00020000>;
        };
        partition@0x00520000 {
            label = "kernel";
            reg = <0x00520000 0x00a80000>;
        };
        partition@0x00fa0000 {
            label = "spare";
            reg = <0x00fa0000 0x00000000>;
        };
    };
};

&video_out_axi_vdma_0 {
	status = "disabled";	
};

&video_in_axi_vdma_1 {
	status = "disabled";
};

&gpio0 {
    interrupt-controller;
    #interrupt-cells = <2>;
};
  
/* I2C1 */  
&i2c1 {
	#address-cells = <1>;
	#size-cells = <0>;

	i2cmux: i2cmux@70  {
		compatible = "nxp,pca9540";
		#address-cells = <1>;
		#size-cells = <0>;
		reg = <0x70>;

		ID_I2C@0 {
			#address-cells = <1>;
			#size-cells = <0>;
			reg = <0>;
		};
		CSI_I2C@1 {
			#address-cells = <1>;
			#size-cells = <0>;
			reg = <1>;
		};
	};

};

/* USB */  
/{
    usb_phy0: usb_phy@0 {
        compatible = "ulpi-phy";
        #phy-cells = <0>;
        reg = <0xe0002000 0x1000>;
        view-port = <0x0170>;
        drv-vbus;
    };
};
  
&usb0 {
    usb-phy = <&usb_phy0>;
};

您可能已經注意到,我沒有使用Trenz的示例設計中提供的system- user.dtsi...

我在 Vivado 中創建基礎硬件設計時提到過,兩個 AXI Video DMA IP 模塊在模塊設計中都被命名為axi_vdma_0,這導致 Vivado 嘗試將它們映射到 DDR 中的相同地址空間。在示例設計中提供的設備樹中,同樣的錯誤出現在視頻輸入和視頻輸出的視頻 DMA 塊的兩個節點的標題為axi_vdma_0。這會阻止 PetaLinux 項目成功構建,因此我再次將節點中的視頻更改為名為axi_vdma_1 ( &video_in_axi_vdma_1 ),因此它現在與硬件平臺中的硬件節點名稱匹配,并且嵌入式 Linux 映像不會嘗試使用相同的視頻視頻輸入和視頻輸出的 DMA 節點。

由于我使用的是 512MB 版本,因此我還刪除了 128MB 版本的 ZynqberryZero 的一堆無關注釋和所有硬件配置。

構建 PetaLinux 項目

為 ZynqberryZero 配置和定制項目后,構建 PetaLinux 項目:

~/zynqberry_zero_prj/zynqberry_zero_os/$ petalinux-build

通過在前面的步驟中進行的適當修改,此時應該會成功。

生成引導二進制文件

成功構建 PetaLinux 項目后,您將看到所有輸出文件,例如內核映像、根文件系統、Zynq FSBL ELF 文件等都輸出到 PetaLinux 的/zynqberry_zero_prj/zynqberry_zero_os/images/linux目錄中項目。唯一不存在的是啟動二進制文件,它是使用以下命令手動生成的:

~/zynqberry_zero_prj/zynqberry_zero_os$ petalinux-package --boot --fsbl ./images/linux/zynq_fsbl.elf --fpga ./images/linux/system.bit --u-boot

由于您可以根據配置 Linux 映像和硬件的方式將不同的東西打包到引導二進制文件中,這就是為什么它不會在 PetaLinux 項目構建中自動生成的原因。在這種情況下,我將 Zynq FSBL、FPGA 比特流和 U-BOOT 包含在啟動二進制文件中。

加載 SD 卡

準備一張 MircoSD 卡(至少 8GB,10 類),用 500MB 大小的 FAT32 分區進行分區,并在其前面留出 4MB 可用空間。然后將 SD 卡的其余部分設為 EXT4 分區:

pYYBAGNh-TWAf4kLAAA_G6shLQw338.png
?

此分區方案符合 PetaLinux 用戶指南 ( UG1144 )。FAT32 分區是內核映像和設備樹文件所在的位置,而 EXT4 分區是根文件系統所在的位置。

對 SD 卡進行分區后,將每個分區適當地掛載到主機系統上的某個點:

~$ sudo mount /dev/sdc1 /media/BOOT
~$ sudo mount /dev/sdc2 /media/rootfs

將內核映像和設備樹文件復制到第一個 (FAT32) 分區:

~$ sudo cp ./zynqberry_zero_prj/zynqberry_zero_os/images/linux/image.ub /media/BOOT/
~$ sudo cp ./zynqberry_zero_prj/zynqberry_zero_os/images/linux/system.dtb /media/BOOT/

并將根文件系統解壓縮到第二個(EXT4)分區:

~$ sudo tar xvf ./zynqberry_zero_prj/zynqberry_zero_os/images/linux/rootfs.tar.gz -C /media/rootfs/

運行同步命令以確保文件傳輸已經完全完成(你不能總是相信僅僅因為命令行被返回給你,傳輸實際上已經完成——我已經學會了這個艱難的方式):

~$ sync

最后卸載每個分區以從主機 PC 中彈出 SD 卡:

~$ sudo umount /media/BOOT/
~$ sudo umount /media/rootfs/

在 Vitis 中創建 QSPI 引導應用程序

CLG225 封裝中的 Xilinx Zynq 器件,例如同時用于 Zynqberry 和 ZynqberryZero 的器件,不支持直接從 SD 卡啟動。因此,您必須從 QSPI 執行主引導 (Zynq FSBL)。因此,需要將引導二進制文件 (BOOT.BIN) 編程到 ZynqberryZero 的 QSPI 閃存中,因為它包含 Zynq FSBL。

為了將引導二進制映像放到 ZynqberryZero 的 QSPI 上,我們需要一個不同的 FSBL 來從 JTAG 引導 Zynq 的 ARM 內核以進行編程。為此,我們將在 Vitis 中創建一個 FSBL 嵌入式應用程序。我正在使用我在上一個項目帖子中為 ZynqberryZero 創建的相同 Vitis 工作區

在為 FSBL 創建嵌入式應用程序之前,BSP(板級支持包)需要添加 Xilinx FAT 文件系統 (FFS) 庫 xilffs。從 Vitis 的資源管理器窗口中打開platform.spr。在 ps7_cortex9_0 上的 Standalone下選擇Board Support Package , Modify BSP Settings...按鈕將出現在右側的窗口中。

在為板級支持包設置彈出的窗口的概述選項卡中,您將看到可以在 BSP 中啟用的庫列表。選中xilffs旁邊的框,然后單擊OK。

pYYBAGNh-T2AcvJMAALCL_qtpRQ336.png
?

使用 ctrl+B 重建平臺。

接下來通過選擇New > Application Project...創建一個新的應用程序項目

poYBAGNh-USAUfB6AACQhH8EVyI065.png
?

為項目指定所需的名稱,選擇為其創建新系統項目的選項。選擇 ZynqberryZero 自定義平臺項目作為其基礎,并以 C 語言中的 Zynq 的 ARM-core 0 處理器為目標。最后,為其選擇 Zynq FSBL 應用程序模板。

?
?
?
pYYBAGNh-UaAHWmwAACVRcexuVM589.png
?
1 / 4 ?命名應用程序并選擇創建新系統項目的選項。
?

打開 main.c 并從第 286 行開始進行以下修改:

/*
 * Print the FSBL Banner
 */
fsbl_printf(DEBUG_GENERAL,"\n\rXilinx First Stage Boot Loader \n\r");
fsbl_printf(DEBUG_GENERAL,"Release %d.%d %s-%s\r\n", SDK_RELEASE_YEAR, SDK_RELEASE_QUARTER,__DATE__,__TIME__);

xil_printf("\r\n--------------------------------------------------------------------------------\r\n");
xil_printf("Xilinx Zynq First Stage Boot Loader to write QSPI Flash (TE modified) \n\r");
xil_printf("Release %d.%d %s-%s\r\n", SDK_RELEASE_YEAR, SDK_RELEASE_QUARTER, __DATE__,__TIME__);
#ifdef XPAR_PS7_DDR_0_S_AXI_BASEADDR

/*
 * DDR Read/write test 
 */
//	Status = DDRInitCheck();
//	if (Status == XST_FAILURE) {
//		fsbl_printf(DEBUG_GENERAL,"DDR_INIT_FAIL \r\n");
//		/* Error Handling here */
//		OutputStatus(DDR_INIT_FAIL);
//		/*
//		 * Calling FsblHookFallback instead of Fallback
//		 * since, devcfg driver is not yet initialized
//		 */
//		FsblHookFallback();
//	}

然后從第 382 行開始添加 JTAG 引導模式掩碼:

/*
 * Read bootmode register
 */
BootModeRegister = Xil_In32(BOOT_MODE_REG);
BootModeRegister &= BOOT_MODES_MASK;
BootModeRegister = JTAG_MODE;

這些編輯只是禁用 DDR 讀/寫測試,因為它不是必需的,并將引導模式掩碼更改為 JTAG 引導模式。

保存 main.c 并構建應用程序項目。

poYBAGNh-UyAGJpVAAPRE6zPhPE368.png
?

閃存 QSPI

創建用于編程的 FSBL 后,插入沒有 SD 卡的 ZynqberryZero:

pYYBAGNh-WyAD3pcAAmgh84TaBQ967.png
?

在 Explorer 窗口中右鍵單擊 FSBL 應用程序項目名稱,然后選擇Program Flash

在彈出的對閃存進行編程的窗口中,瀏覽到/zynqberry_zero_prj/zynqberry_zero_os/images/linux/中的 BOOT.BIN以獲取Image File和 JTAG FSBL ELF 文件: /zynqberry_zero_prj/vitis_??workspace/qspi_flash_app/Debug/ qspi_flash_app.elf對于FSBL 文件

選中復選框以在閃爍后單擊程序進行驗證。

?
?
?
pYYBAGNh-XCAEeAzAAHxaABWhHQ733.png
?
1 / 2
?

等待控制臺讀出閃存操作成功。

poYBAGNh-XiAe6YZAANigxVnxYs307.png
?

啟動 ZynqberryZero

從您的主機 PC 上拔下 ZynqberryZero 并將準備好的 SD 卡插入 SD 卡插槽。以 115200 的波特率打開您選擇的串行終端應用程序。

pYYBAGNh-Y2ADVDHAAhy_FAccqg561.png
?

插入 ZynqberryZero 并使用串行終端應用程序連接到其 UART。由于 PetaLinux 項目已配置為在SD 卡。

由于在 u-boot 引導加載程序期間引導會失敗,它會自動啟動到 u-boot 終端,在這種情況下,命令行中的 Zynq> 表示:

Zynq>

使用以下兩個命令定義 u-boot 中的命令以從 SD 卡加載內核映像和設備樹文件:

Zynq> setenv cp_kernel2ram 'fatload mmc 0 ${netstart} ${kernel_img}'
Zynq> setenv cp_dtb2ram 'fatload mmc 0 ${dtbnetstart} ${dtb_img}'

設置默認啟動命令以運行從 SD 卡加載內核映像和設備樹文件的命令

Zynq> setenv default_bootcmd 'run cp_kernel2ram && run cp_dtb2ram && bootm ${netstart} - ${dtbnetstart}'

然后設置引導參數以指定根文件系統在 SD 卡上的設備節點和根文件系統的類型:

Zynq> setenv bootargs 'console=ttyPS0,115200 earlyprintk root=/dev/mmcblk0p2 rootfstype=ext4 ru rootwait'

最后,保存新的u-boot環境。這會將新命令寫入引導二進制文件所在的 QSPI 閃存:

Zynq> saveenv

并啟動 ZynqberryZero:

Zynq> boot

此時,您將看到正常的啟動順序開始并最終將您帶到登錄。除非在 PetaLinux 項目中另外修改,否則用戶名和密碼都是root :

poYBAGNh-Z6AE6hIAAPRtNOaD9Q650.png
?

如您所見,讓 PetaLinux 在 Zynqberry 和 ZynqberryZero 板上運行可能有點棘手,因為它們不能直接從 SD 卡啟動。但仍然是我最喜歡的小型 FPGA 開發板之一!


下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評論

查看更多

下載排行

本周

  1. 1山景DSP芯片AP8248A2數據手冊
  2. 1.06 MB  |  532次下載  |  免費
  3. 2RK3399完整板原理圖(支持平板,盒子VR)
  4. 3.28 MB  |  339次下載  |  免費
  5. 3TC358743XBG評估板參考手冊
  6. 1.36 MB  |  330次下載  |  免費
  7. 4DFM軟件使用教程
  8. 0.84 MB  |  295次下載  |  免費
  9. 5元宇宙深度解析—未來的未來-風口還是泡沫
  10. 6.40 MB  |  227次下載  |  免費
  11. 6迪文DGUS開發指南
  12. 31.67 MB  |  194次下載  |  免費
  13. 7元宇宙底層硬件系列報告
  14. 13.42 MB  |  182次下載  |  免費
  15. 8FP5207XR-G1中文應用手冊
  16. 1.09 MB  |  178次下載  |  免費

本月

  1. 1OrCAD10.5下載OrCAD10.5中文版軟件
  2. 0.00 MB  |  234315次下載  |  免費
  3. 2555集成電路應用800例(新編版)
  4. 0.00 MB  |  33566次下載  |  免費
  5. 3接口電路圖大全
  6. 未知  |  30323次下載  |  免費
  7. 4開關電源設計實例指南
  8. 未知  |  21549次下載  |  免費
  9. 5電氣工程師手冊免費下載(新編第二版pdf電子書)
  10. 0.00 MB  |  15349次下載  |  免費
  11. 6數字電路基礎pdf(下載)
  12. 未知  |  13750次下載  |  免費
  13. 7電子制作實例集錦 下載
  14. 未知  |  8113次下載  |  免費
  15. 8《LED驅動電路設計》 溫德爾著
  16. 0.00 MB  |  6656次下載  |  免費

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935054次下載  |  免費
  3. 2protel99se軟件下載(可英文版轉中文版)
  4. 78.1 MB  |  537798次下載  |  免費
  5. 3MATLAB 7.1 下載 (含軟件介紹)
  6. 未知  |  420027次下載  |  免費
  7. 4OrCAD10.5下載OrCAD10.5中文版軟件
  8. 0.00 MB  |  234315次下載  |  免費
  9. 5Altium DXP2002下載入口
  10. 未知  |  233046次下載  |  免費
  11. 6電路仿真軟件multisim 10.0免費下載
  12. 340992  |  191187次下載  |  免費
  13. 7十天學會AVR單片機與C語言視頻教程 下載
  14. 158M  |  183279次下載  |  免費
  15. 8proe5.0野火版下載(中文版免費下載)
  16. 未知  |  138040次下載  |  免費
百家乐蓝盾在线现| 百家乐怎么赢对子| 南雄市| 百家乐强弱走势图| 大世界百家乐官网的玩法技巧和规则 | 大发888娱乐场解码器| 聚众玩百家乐官网的玩法技巧和规则| 湄潭县| 大发888娱乐城下载英皇国际| 澳门百家乐破解方法| 金矿百家乐官网的玩法技巧和规则| 百家乐官网乐城皇冠| 大发888免费送| 澳门百家乐破解方法| 全景网百家乐官网的玩法技巧和规则 | 网上百家乐娱乐场开户注册| 有24天星名的罗盘| 百家乐官网赌博游戏| 开阳县| 大发888客户端下| 百家乐和| 做生意怎么看风水| 乐天堂百家乐官网娱乐场| 百家乐官网玩法秘诀| bet365高尔夫娱乐场| 免费百家乐过滤| 百家乐gamble| 百家乐长龙有几个| 百家乐官网强弱走势图| 百家乐官网如何打公式| 皇冠网小说网站网址| 大发888游戏平台稳定大发888| 女优百家乐的玩法技巧和规则| 博网百家乐现金网| 澳门赌百家乐官网的玩法技巧和规则 | 皇马百家乐官网的玩法技巧和规则| 网上百家乐官网赢钱公式| 云安县| 海立方百利宫娱乐城| 大发888非法吗| 全讯网娱乐|