資料介紹
描述
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](https://file.elecfans.com/web2/M00/77/6A/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](https://file.elecfans.com/web2/M00/76/D8/poYBAGNh-R6AFej7AAE4_IJuhik649.png)
為 ZynqberryZero 的嵌入式 Linux 映像配置系統硬件,以在 ZynqberryZero 的 QSPI 閃存和 SD 卡上的設備樹中查找引導二進制文件。
在Subsystem AUTO Hardware settings > Advanced bootable images storage Settings下,將映像存儲介質更改為用于引導映像設置的主閃存,并將映像存儲介質更改為用于dtb 映像設置的主 sd。
![pYYBAGNh-SGAeJt3AABg2150_qs838.png](https://file.elecfans.com/web2/M00/77/6A/pYYBAGNh-SGAeJt3AABg2150_qs838.png)
為了在功能方面與 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](https://file.elecfans.com/web2/M00/76/D8/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/
由于某種原因,ZynqberryZero 示例設計中缺少 TE 音頻編解碼器內核模塊,因此我從我的主要 Zynqberry PetaLinux 項目中復制了它。
![pYYBAGNh-SiAEk8cAABJxn4l-2c938.png](https://file.elecfans.com/web2/M00/77/6A/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](https://file.elecfans.com/web2/M00/76/D8/poYBAGNh-SuAa7JSAABLnctAmuQ473.png)
最后,將 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](https://file.elecfans.com/web2/M00/76/D8/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](https://file.elecfans.com/web2/M00/77/6A/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](https://file.elecfans.com/web2/M00/77/6B/pYYBAGNh-T2AcvJMAALCL_qtpRQ336.png)
使用 ctrl+B 重建平臺。
接下來通過選擇New > Application Project...創建一個新的應用程序項目
![poYBAGNh-USAUfB6AACQhH8EVyI065.png](https://file.elecfans.com/web2/M00/76/D9/poYBAGNh-USAUfB6AACQhH8EVyI065.png)
為項目指定所需的名稱,選擇為其創建新系統項目的選項。選擇 ZynqberryZero 自定義平臺項目作為其基礎,并以 C 語言中的 Zynq 的 ARM-core 0 處理器為目標。最后,為其選擇 Zynq FSBL 應用程序模板。
![pYYBAGNh-UaAHWmwAACVRcexuVM589.png](https://file.elecfans.com/web2/M00/77/6B/pYYBAGNh-UaAHWmwAACVRcexuVM589.png)
打開 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](https://file.elecfans.com/web2/M00/76/D9/poYBAGNh-UyAGJpVAAPRE6zPhPE368.png)
閃存 QSPI
創建用于編程的 FSBL 后,插入沒有 SD 卡的 ZynqberryZero:
![pYYBAGNh-WyAD3pcAAmgh84TaBQ967.png](https://file.elecfans.com/web2/M00/77/6B/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](https://file.elecfans.com/web2/M00/77/6B/pYYBAGNh-XCAEeAzAAHxaABWhHQ733.png)
等待控制臺讀出閃存操作成功。
![poYBAGNh-XiAe6YZAANigxVnxYs307.png](https://file.elecfans.com/web2/M00/76/D9/poYBAGNh-XiAe6YZAANigxVnxYs307.png)
啟動 ZynqberryZero
從您的主機 PC 上拔下 ZynqberryZero 并將準備好的 SD 卡插入 SD 卡插槽。以 115200 的波特率打開您選擇的串行終端應用程序。
![pYYBAGNh-Y2ADVDHAAhy_FAccqg561.png](https://file.elecfans.com/web2/M00/77/6B/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](https://file.elecfans.com/web2/M00/76/D9/poYBAGNh-Z6AE6hIAAPRtNOaD9Q650.png)
如您所見,讓 PetaLinux 在 Zynqberry 和 ZynqberryZero 板上運行可能有點棘手,因為它們不能直接從 SD 卡啟動。但仍然是我最喜歡的小型 FPGA 開發板之一!
- 為ZynqberryZero編寫嵌入式C應用程序
- 視頻教程-嵌入式Linux開發基礎-嵌入式
- 嵌入式Linux路線
- 嵌入式Linux系統移植(Linux內核配置)
- 嵌入式Linux network
- 【嵌入式Linux(基礎篇)】從標準Linux到嵌入式Linux + 嵌入式Linux知識架構
- 嵌入式linux和物聯網,嵌入式Linux或RTOS:用于物聯網
- 《嵌入式LINUX基礎教程》中文 第2版 (2 of 3) 0次下載
- 嵌入式LINUX系統內核和內核模塊調試
- 嵌入式Linux應用程序例程
- 嵌入式LINUX開發基礎知識 261次下載
- 基于Linux的嵌入式LCD設計
- 基于Linux的嵌入式應用淺析
- 嵌入式Linux和嵌入式Linux開發環境說明
- 嵌入式linux學習
- 嵌入式Linux開發的三種方式 1018次閱讀
- 嵌入式軟件與生態系統:為嵌入式開發者提供必要的組件 722次閱讀
- 簡化SBC的嵌入式Linux軟件開發 1170次閱讀
- 基于嵌入式Linux內核的ARM9運行實現方式介紹 1573次閱讀
- 基于Yocto Project的定制嵌入式Linux產品設計淺析 1w次閱讀
- 如何在嵌入式Linux中截屏 6109次閱讀
- 關于嵌入式Linux在PMP消費類電子產品上的應用探討淺析 1037次閱讀
- 關于嵌入式系統的特點和Linux內核的實時應用分析 1142次閱讀
- 什么是嵌入式Linux內核調試技術?嵌入式開發又面臨著哪些問題? 1220次閱讀
- 基于PXA255開發板外圍字符設備的嵌入式Linux字符設備驅動設計與應用 1199次閱讀
- 關于Linux嵌入式操作系統的優勢特征詳解 5690次閱讀
- 嵌入式C實現延時程序的不同變量的區別 幾種Linux嵌入式開發環境的簡單介紹 1674次閱讀
- 嵌入式Linux的學習方法解析 3235次閱讀
- 基于嵌入式Linux的家居監控系統設計 2118次閱讀
- 基于Linux的嵌入式實時操作系統的研究 2355次閱讀
下載排行
本周
- 1山景DSP芯片AP8248A2數據手冊
- 1.06 MB | 532次下載 | 免費
- 2RK3399完整板原理圖(支持平板,盒子VR)
- 3.28 MB | 339次下載 | 免費
- 3TC358743XBG評估板參考手冊
- 1.36 MB | 330次下載 | 免費
- 4DFM軟件使用教程
- 0.84 MB | 295次下載 | 免費
- 5元宇宙深度解析—未來的未來-風口還是泡沫
- 6.40 MB | 227次下載 | 免費
- 6迪文DGUS開發指南
- 31.67 MB | 194次下載 | 免費
- 7元宇宙底層硬件系列報告
- 13.42 MB | 182次下載 | 免費
- 8FP5207XR-G1中文應用手冊
- 1.09 MB | 178次下載 | 免費
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 2555集成電路應用800例(新編版)
- 0.00 MB | 33566次下載 | 免費
- 3接口電路圖大全
- 未知 | 30323次下載 | 免費
- 4開關電源設計實例指南
- 未知 | 21549次下載 | 免費
- 5電氣工程師手冊免費下載(新編第二版pdf電子書)
- 0.00 MB | 15349次下載 | 免費
- 6數字電路基礎pdf(下載)
- 未知 | 13750次下載 | 免費
- 7電子制作實例集錦 下載
- 未知 | 8113次下載 | 免費
- 8《LED驅動電路設計》 溫德爾著
- 0.00 MB | 6656次下載 | 免費
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費
- 2protel99se軟件下載(可英文版轉中文版)
- 78.1 MB | 537798次下載 | 免費
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420027次下載 | 免費
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費
- 6電路仿真軟件multisim 10.0免費下載
- 340992 | 191187次下載 | 免費
- 7十天學會AVR單片機與C語言視頻教程 下載
- 158M | 183279次下載 | 免費
- 8proe5.0野火版下載(中文版免費下載)
- 未知 | 138040次下載 | 免費
評論