色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

電子發燒友App

硬聲App

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

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

3天內不再提示
創作
電子發燒友網>電子資料下載>電子資料>使用PetaLinux 2019.2的Zynqberry Pi操作系統

使用PetaLinux 2019.2的Zynqberry Pi操作系統

2023-06-19 | zip | 0.00 MB | 次下載 | 免費

資料介紹

描述

Zynqberry 一直是我最喜歡的開發板之一,到目前為止,我覺得我主要只是花時間將我的基礎設計更新到最新版本的 Xilinx IDE,然后才再次擺脫它。幸運的是,這一次我對版本 2019.2 的更新非常順利,以至于我的小 Zynqberry 已經準備好種植自己的小項目花園(對不起,我無法抗拒可怕的雙關語)。

我的第一個想法自然是如何開始移植我以前的 Raspberry Pi 項目,因為 Zynqberry 被設計為 Raspberry Pi FPGA 的替代品。我在之前的項目中創建的 Zynqberry 基礎設計涵蓋了使用 Zynqberry 板上所有外設所需的硬件框架。通過與 Raspberry Pi 等效的硬件設計,這使得主要區別在于 Zynqberry 上的嵌入式 Linux 映像。

為了使 Zynqberry 上的操作系統與常見的 Raspberry Pi 映像(如 Raspbian)更加模棱兩可,安裝 Python 及其功能(如軟件包安裝程序 pip)是我的第一步。

pYYBAGOIOreABsojAACEKbYG_aw962.png
Yocto 中提供的 Python3 bitbake 配方。
?

構建 PetaLinux 環境的 Yocto 框架包含 bitbake 配方,允許幾乎所有標準 Linux 庫包含在構建中。

要將庫添加到您的構建中,請將行“CONFIG_”添加到位于/project-spec/meta-user/conf/目錄中的user-rootfsconfig文件。

# System tools
CONFIG_gsl
CONFIG_nano
CONFIG_cmake

# Python3
CONFIG_python3
CONFIG_python3-pip
CONFIG_python3-cffi
CONFIG_python3-numpy
CONFIG_python3-shell
CONFIG_python3-pyserial
CONFIG_python3-threading
CONFIG_python3-multiprocessing

我選擇添加 Python3 包,因為我的大多數 Raspberry Pi 項目都基于依賴于 Python3 的 Adafruit 的 CircuitPython。我注意到我在 Raspberry Pi 上使用的其他一些常用庫/工具是 cmake(用于構建和打包軟件的開源工具集)、GSL(GNU 科學庫)和 nano(文本編輯器)。

將庫添加到項目后,通過運行根文件系統的配置編輯器在映像中啟用它們:

petalinux-config -c rootfs

然后在用戶包下,選擇每個庫并使用“Y”鍵啟用它們。

pYYBAGOIOrmABK37AABYL-Ke6W8824.png
啟用嵌入式 Linux 映像中的庫。
?

由于包管理器(如 Python 的 pip)會在安裝指定包時自動解決任何缺失的依賴項,因此需要互聯網連接。要啟用以太網端口并使其在 Linux 用戶空間中可用,需要編輯內核并創建基本 TCP/IP 網絡初始化腳本和配置文件的核心配方。

要編輯內核,請運行內核配置編輯器:

petalinux-config -c kernel

使用以下選項配置內核:

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

為基本 TCP/IP 網絡初始化腳本和配置文件的核心配方創建目錄:

mkdir project path>/project-spec/meta-user/recipes-core/init-ifupdown/init-ifupdown-1.0

創建接口文件,

cat ./interfaces

并向其中添加以下內容:

auto lo
iface lo inet loopback
## Static IP example
#auto eth0
#iface eth0 inet static
#        address 192.168.1.190
#        netmask 255.255.255.0
#        network 192.168.1.0
#        gateway 192.168.1.1
## DHCP Example
auto eth0
iface eth0 inet dhcp

然后在/project-spec/meta-user/recipes-core/init-ifupdown目錄中為 init-ifupdown 包創建名為init-ifupdown_1.0.bbappend的 bitbake 文件,并將以下行添加到它:

FILESEXTRAPATHS_prepend := "${THISDIR}/init-ifupdown-1.0:"

內核需要通過設備樹指定給它的以太網硬件的鉤子。在/project-spec/meta-user/recipes-bsp/device-tree/files/目錄中編輯用戶可配置的設備樹源文件 system-user.dtsi 。以下是 Zynqberry 上所有外圍設備的最全面的設備樹:

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

    aliases{
        eth0 = &usb0;    
    };

};

/ {
    #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;
            // 512M (M modules)
            reg = <0x1FC00000 0x400000>;
            // 128M (R modules)
            //reg = <0x7C00000 0x400000>;
            };
        camera_fb_reserved_region@1FC00000 {
            compatible = "removed-dma-pool";
            no-map;
            // 512M (M modules)
            reg = <0x1FC00000 0x400000>;
            // 128M (R modules)    
            //reg = <0x7800000 0x400000>;
        };
    };

    hdmi_fb: framebuffer@0x1FC00000 {           // HDMI out
        compatible = "simple-framebuffer";
        // 512M (M modules)
        reg = <0x1FC00000 (1280 * 720 * 4)>;    // 720p
        // 128M (R modules)
        //reg = <0x7C00000 (1280 * 720 * 4)>;   // 720p
        width = <1280>;                         // 720p
        height = <720>;                         // 720p
        stride = <(1280 * 4)>;                  // 720p
        format = "a8b8g8r8";
        status = "okay";
    };

    camera_fb: framebuffer@0x1FC00000 {         // CAMERA in
        compatible = "simple-framebuffer";
        // 512M (M modules)
        reg = <0x1FC00000 (1280 * 720 * 4)>;    // 720p
        // 128M (R modules)
        //reg = <0x7800000 (1280 * 720 * 4)>;   // 720p
        width = <1280>;                         // 720p
        height = <720>;                         // 720p
        stride = <(1280 * 4)>;                  // 720p
        format = "a8b8g8r8";
    };

    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>;
        };
    };
};

/*
* We need to disable Linux VDMA driver as VDMA
* already configured in FSBL
*/
&video_in_axi_vdma_0 {
    status = "disabled";
};

&video_out_axi_vdma_0 {
    status = "disabled";
};

&video_out_v_tc_0 {
    //xilinx-vtc: probe of 43c20000.v_tc failed with error -2
    status = "disabled";
};

&gpio0 {
    interrupt-controller;
    #interrupt-cells = <2>;
};

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

        i2c1@0 {
            #address-cells = <1>;
            #size-cells = <0>;
            reg = <0>;

            id_eeprom@50 {
                compatible = "atmel,24c32";
                reg = <0x50>;
            };
        };

        i2c1@1 {    // Display Interface Connector
            #address-cells = <1>;    
            #size-cells = <0>;
            reg = <1>;
        };

        i2c1@2 {    // HDMI Interface Connector
            #address-cells = <1>;
            #size-cells = <0>;
            reg = <2>;
        };

        i2c1@3 {    // Camera Interface Connector
            #address-cells = <1>;
            #size-cells = <0>;
            reg = <3>;
        };
    };
};

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

&usb0 {
    usb-phy = <&usb_phy0>;
};

/*
* Sound configuration
*/
/{
    // Custom driver based on spdif-transmitter
    te_audio: dummy_codec_te {
        compatible = "te,te-audio";
        #sound-dai-cells = <0>;
    };

    // Simple Audio Card from AXI_I2S and custom XADC audio input and
    // PWM audio output cores
    sound {
        compatible = "simple-audio-card";
        simple-audio-card,name = "TE0726-PWM-Audio";
        simple-audio-card,format = "i2s";
        simple-audio-card,widgets =
        "Microphone", "In Jack",
        "Line", "Line In Jack",
        "Line", "Line Out Jack",
        "Headphone", "Out Jack";
        simple-audio-card,routing =
        "Out Jack", "te-out",
        "te-in", "In Jack";

        simple-audio-card,cpu {
            sound-dai = <&audio_axi_i2s_adi_0>;
        };

        simple-audio-card,codec {
            sound-dai = <&te_audio>;
        };
    };
};

&audio_axi_i2s_adi_0 {
    compatible = "adi,axi-i2s-1.00.a";
    reg = <0x43c00000 0x1000>;
    clocks = <&clkc 15>, <&clkc 18>; // FCLK_CLK0, FCLK_CLK3
    clock-names = "axi", "ref";
    dmas = <&dmac_s 0 &dmac_s 1>;
    dma-names = "tx", "rx";
    #sound-dai-cells = <0>;
};

/*
* We need to disable Linux XADC driver to use XADC for audio recording
*/
&adc {
    status = "disabled";
};

Zynqberry 板上的 Zynq 芯片無法直接訪問以太網端口。四個 USB 端口和以太網端口實際上連接到 USB PHY 集線器,該集線器連接到 Zynq 芯片的 USB0 MIO 端口。這就是以太網設備 eth0 綁定到設備樹中 USB0 節點的原因。

此時,保存并關閉所有文件,然后構建項目。

petalinux-build

打包啟動映像并使用 Vitis 將其編程到 Zynqberry 的 QSPI 閃存中。然后將內核、設備樹 blob 和根文件系統復制到 SD 卡。(我已經在我的上一篇 Zynqberry 項目帖子中介紹了這些步驟

啟動 Zynqberry 并使用默認用戶名“root”和默認密碼“root”登錄(除非您選擇在系統配置編輯器中更改它)。您可以將 Zynqberry 的以太網端口直接插入路由器,或者使用 PC 上的互聯網共享。我選擇了后一個選項,因為我的路由器不在我無法訪問的修道院位置。由于 Ubuntu 在我計算機上的虛擬機中運行,因此我也將這部分切換回 Mac 端。

通過 USB-C 轉以太網橋適配器,我將其配置為 Zynqberry 和我的 MacBook 之間的迷你路由器。為此,我通過為 LAN 網橋提供與我在 Zynqberry 上配置接口文件相同的網絡和子網掩碼上的不同 IP 地址。

旁注:不要將路由器的網關地址添加到 LAN 網橋配置中,這將與您的計算機與路由器的連接發生沖突。

pYYBAGOIOryAVXRuAAOCC2BeA44711.png
USB LAN 配置充當我的 MacBook 和 Zynqberry 之間的路由器。
?

然后我啟用了 LAN 網橋的 Internet 共享:

poYBAGOIOsCAEbn_AAP-GJ_4Ij8955.png
在系統偏好設置的共享選項卡下,啟用使用 USB LAN 連接的互聯網共享。
?

為了測試 MacBook 和 Zynqberry 之間的初始連接,我打開了一個終端窗口并將我的路由器通過 DHCP 分配給 Zynqberry 的 IP 地址 ping 通:

pYYBAGOIOs6AEkUZAAZaWVIr454035.png
左邊是OS X終端,右邊是Zynqberry的串口終端。
?

然后我通過安裝一個基本的 Adafruit 庫來測試互聯網連接:

pip3 install adafruit-blinka

請繼續關注我的下一個項目,內容包括如何在 Zynqberry 上安裝 Adafruit 的 CircuitPython!

pYYBAGOIOtOAA91UAAb5vupRGJQ182.png
?

?


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

評論

查看更多

下載排行

本周

  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次下載  |  免費
主站蜘蛛池模板: 6 10young俄罗斯| 嫩B人妻精品一区二区三区| 国产偷国产偷亚州清高APP| 丰满艳妇亲伦| 国产欧美日韩视频怡春院 | 欧美最猛黑人AAAAA片| 欧美特级特黄AAAAA片| 色偷偷av男人的天堂| 亚洲高清视频免费| 张津瑜的9分58秒7段免费| 60岁老年熟妇在线无码| 爱穿丝袜的麻麻3d漫画免费| 国产精品…在线观看| 久久AV国产麻豆HD真实乱| 男人叼女人| 亚洲不卡一卡2卡三卡4卡5卡| 中国人泡妞www免费| 吃奶摸下的羞羞漫画| 精品国产自在自线官方| 全黄h全肉细节文在线观看| 亚洲精品乱码久久久久久v| AV色蜜桃一区二区三区| 国产亚洲精品精华液| 暖暖日本大全免费观看| 小草观看免费高清视频| 5g在视影讯天天5g免费观看| 国产亚洲精品久久久闺蜜| 女人高潮特级毛片| 亚洲区视频在线观看| 大香伊蕉在人线国产97| 毛片视频大全| 亚洲视频第二页| 国产精品看高国产精品不卡| 沦为公交两奶头春药高潮迭起| 我与旗袍老师疯狂床震| a毛片基地免费全部视频| 久久精选视频| 亚洲中文字幕AV在天堂| 国产午夜小视频| 午夜在线视频国产极品片| jiz中国zz|