我正在使用MYIR Z形旋转板MYS-7Z020。随附的8G SD卡上有正在运行的系统,USB端口正在此处工作。 SD卡有两个分区,第一个分区FAT32,带有boot.bin,devicetree,bitstream,内核映像,第二个分区ext3 / 4 rootfs ubuntu。 我在2019.1版中创建了一个Vivado项目,示例项目随CD一起提供在开发板上。 我必须更正Zynq-7000 IP内核中的引脚: 未设置用于USB重置的MIO 51。 我已将IO设置与随附的原理图进行了比较,从而正确地确定了其他配置。
我生成比特流,并导出包含比特流的硬件。 然后,我使用以下命令制作我的BOOT.bin和image.ub
petalinux-create --type project --template zynq --name <PROJECT_NAME>
cd <PROJECT_NAME>
petalinux-config--get-hw-description=<PATH-TO-HDF/DSA-DIRECTORY>
petalinux-config -c u-boot -defconfig zynq_z_turn_defconfig
petalinux-build
cd images/linux
petalinux-package --boot --fsbl zynq_fsbl.elf --fpga system.bit --u-boot
我尝试了有无petalinux-config -c u-boot -defconfig zynq_z_turn_defconfig
如果我将文件BOOT.bin和image.ub放在我自己的SD卡上都正在引导,内核启动,ram rootfs将被加载并且我具有可以通过UART端口访问的常规Linux命令行。 / p>
我目前遇到的问题是USB端口无法与我的petalinux项目一起使用。
我尝试使用提供的8G SD卡
我用生成的system.dtb(/images/linux/system.dtb)替换了devicetree.dtb。
结果是USB无法正常工作。
我的猜测是petalinux中的devicetree代做错了。
我还尝试将petalinx-config
中的设置从initramfs更改为sdcard,并将BOOT.bin和image.ub放在交付的SD卡的第一个分区上,因此将使用交付的ubuntu rootfs,没有结果。
我还尝试将<Project_folder>/project-spec/meta-user/recipes-bsp/devicetree/files/system-user.dtsi
中的system-user.dtsi编辑为
/ {
};
&usb0 {
status = "okay";
dr_mode = "host";
phy_type = "ulpi";
};
并使用新system.dtb
重试了所有内容 终端中的 lsusb
给了我unable to initialize libusb: -99
在基本的交付系统上,我得到了预期的结果:
Bus 001 Device 002: ID 05e3:0749 Genesys Logic, Inc.
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
我按照本指南检查内核配置: https://xilinx-wiki.atlassian.net/wiki/spaces/A/pages/18842272/Zynq+Linux+USB+Device+Driver 但一切都已正确设置(我需要主机模式) 我在这里遇到的问题是我不知道将“设备树”代码放在这里的位置,对此什么也没说。我在system-user.dtsi中尝试过,但没有将其编译。
我认为这是一个简单的问题,但是我不知道该怎么办。
答案 0 :(得分:0)
简单解决方案:
将<Project_folder>/project-spec/meta-user/recipes-bsp/devicetree/files/system-user.dtsi
编辑为
/include/ "system-conf.dtsi"
/ {
usb_phy0: usb_phy@0 {
compatible = "ulpi-phy";
#phy-cells = <0>;
reg = <0xe0002000 0x1000>;
view-port = <0x170>;
drv-vbus;
};
};
&usb0 {
status = "okay";
dr_mode = "host";
phy_type = "ulpi";
usb-phy = <&usb_phy0>;
};
与Xilinx Wiki上的建议略有不同:https://xilinx-wiki.atlassian.net/wiki/spaces/A/pages/18842272/Zynq+Linux+USB+Device+Driver 因此,我使用了此Wiki链接并遵循了Solution并整理了我需要的内容。 https://forums.xilinx.com/t5/Embedded-Linux/Petalinux-2015-2-1-usb-not-working/td-p/654349