Petalinux系列——5. Petalinux添加USB支持

要内核支持USB设备,首先要在内核中使能USB相关选项,然后要在设备树中添加USB设备,然后就可以使用板卡上的USB接口读取优盘或者是UVC摄像头了。

  • 配置内核

由于USB相关内核配置较多,因此不使用menuconfig在图形界面中逐个配置,直接在kernel config文件中改动
在project-spec/meta-user/recipes-kernel/linux/linux-xlnx/*.cfg中添加

CONFIG_MEDIA_USB_SUPPORT=y
CONFIG_USB_VIDEO_CLASS=y
CONFIG_USB_VIDEO_CLASS_INPUT_EVDEV=y
CONFIG_USB_GSPCA=m
CONFIG_V4L_PLATFORM_DRIVERS=y
CONFIG_VIDEO_ADV7604=y
CONFIG_USB_HID=y
CONFIG_USB_OHCI_LITTLE_ENDIAN=y
CONFIG_USB_SUPPORT=y
CONFIG_USB_COMMON=y
CONFIG_USB_ARCH_HAS_HCD=y
CONFIG_USB=y
CONFIG_USB_ANNOUNCE_NEW_DEVICES=y
CONFIG_USB_DEFAULT_PERSIST=y
CONFIG_USB_EHCI_HCD=y
CONFIG_USB_EHCI_ROOT_HUB_TT=y
CONFIG_USB_EHCI_PCI=y
CONFIG_USB_EHCI_HCD_PLATFORM=y
CONFIG_USB_ACM=m
CONFIG_USB_PRINTER=m
CONFIG_USB_WDM=m
CONFIG_USB_TMC=m
CONFIG_USB_STORAGE=y
CONFIG_USB_CHIPIDEA=y
CONFIG_USB_CHIPIDEA_OF=y
CONFIG_USB_CHIPIDEA_PCI=y
CONFIG_USB_CHIPIDEA_HOST=y
CONFIG_USB_PHY=y
CONFIG_NOP_USB_XCEIV=y
CONFIG_AM335X_CONTROL_USB=y
CONFIG_AM335X_PHY_USB=y
CONFIG_USB_GPIO_VBUS=y
CONFIG_USB_ULPI=y
CONFIG_USB_ULPI_VIEWPORT=y

如果没有project-spec/meta-user/recipes-kernel/linux/linux-xlnx/*.cfg文件,可以使用

$ petalinux-config -c kernel

随便修改一个选项就可以生成kernel config文件。

  • 配置设备树

project-spec/meta-user/recipes-bsp/device-tree/files/system-user.dtsi中添加

/{
 usb_phy0: usb_phy@0 {
  compatible = "ulpi-phy";
  #phy-cells = <0>;
  reg = <0xe0002000 0x1000>;
  view-port = <0x0170>;
  drv-vbus;
 };
};
&usb0 {
 dr_mode = "host";
 usb-phy = <&usb_phy0>;
};
  • 编译工程
$ petalinux-build
  • 5
    点赞
  • 39
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
更换 PetaLinuxzynqmp.dtsi 文件需要以下步骤: 1. 编辑新的 zynqmp.dtsi 文件。可以在 PetaLinux 工程目录下执行以下命令来获取原始的 zynqmp.dtsi 文件: ``` petalinux-config -c kernel ``` 在 kernel 配置菜单中选择 Device Tree ,然后选择 View DTS Source File 选项。将生成的文件保存到本地。 2. 将编辑好的 zynqmp.dtsi 文件复制到 PetaLinux 工程目录下,例如 $PETALINUX_PROJECT_DIR/project-spec/meta-user/recipes-bsp/device-tree/files/。 3. 更新 PetaLinux 工程的配置,以包含新的 zynqmp.dtsi 文件。在 PetaLinux 工程目录下执行以下命令: ``` petalinux-config ``` 在 PetaLinux 配置菜单中选择 Device Tree ,然后选择 User Overlays 选项。将新的 zynqmp.dtsi 文件添加到用户重叠列表中。 4. 重新生成 PetaLinux 工程的设备树文件。在 PetaLinux 工程目录下执行以下命令: ``` petalinux-build -c device-tree ``` 5. 重新生成 PetaLinux 工程的镜像文件。在 PetaLinux 工程目录下执行以下命令: ``` petalinux-build ``` 或者只重新生成镜像文件而不重新构建整个工程: ``` petalinux-package --boot --fsbl image/linux/zynqmp_fsbl.elf --fpga images/linux/your_fpga.bit --u-boot --force ``` 其中,your_fpga.bit 替换为您实际使用的 FPGA 位流文件名。 6. 在目标设备上刷写新生成的 PetaLinux 镜像文件。 如果一切顺利,您的 PetaLinux 工程现在应该已经使用了新的 zynqmp.dtsi 文件。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值