Edit online

配置附加功能

Read time: 7 minute(s)

除了提供基本的显示功能,USB Display 设备还能提供 USB HID TP / USB Audio / USB MSC 等附加功能。附加功能都是独立可选的,可以根据产品形态灵活组合。

USB Display 利用 CherryUSB 组合了一个 USB 复合设备,从而可以作为提供多个功能的组合设备。其中 Interface 0 是基本的 Display 功能,其他每一个 Interface 对应一个独立的功能。

配置 USB HID TP

如需在 USB Display 产品中附带触摸功能,则需要在 USB 复合设备中增加 HID Touch 功能。详细配置步骤如下所示:
  1. 确保正确配置 TP(触摸屏)参数,并且 TP 可在本地正常使用。

    关于 TP 的详细配置说明,可查看 CTP 移植指南

  2. 在 SDK 根目录,执行下列命令,进入 menuconfig 的功能配置界面:
    scons menuconfig
  3. 使能 CherryUSB 中 HID TP 类型的 Device Class 驱动,并且使能对应实例模板。
    > Local packages options
       > Third-party packages options
           [*] CherryUSB: tiny and portable USB host/device stack for embedded system with USB IP  --->
               [*]   Enable usb device mode  --->
                   [*]   Enable usb hid device  --->
                       Use hid template (touch)  --->
                       Hid Touch Parameter  --->
  4. 使能 Display 类型的 Device Class 驱动,并且在 Composite Device 中使能相应配置:
    > Local packages options
       > Third-party packages options
           [*] CherryUSB: tiny and portable USB host/device stack for embedded system with USB IP  --->
               [*]   Enable usb device mode  --->
                   [*]   Enable usb hid device  --->
                   [*]   Enable usb display device  --->
                   [*]   Enable composite device  --->
                       [*]   Use Composite template
                          Composite Parameter  --->
                             [*] USBDEV_DISP_COMPOSITE
                             [*] USBDEV_TOUCH_COMPOSITE

配置 USB Audio (UAC)

如需在 USB Display 产品中附带音频功能,则需要在 USB 复合设备中增加 UAC 功能。详细配置步骤如下所示:
  1. 确保正确配置 TP(触摸屏)参数,并且 TP 可在本地正常使用。

    关于 TP 的详细配置说明,可查看 CTP 移植指南

  2. 在 SDK 根目录,执行下列命令,进入 menuconfig 的功能配置界面:
    scons menuconfig
  3. 使能 CherryUSB 中 HID TP 类型的 Device Class 驱动,并且使能对应实例模板。
    > Local packages options
       > Third-party packages options
           [*] CherryUSB: tiny and portable USB host/device stack for embedded system with USB IP  --->
               [*]   Enable usb device mode  --->
                   [*]   Enable usb hid device  --->
                       Use hid template (touch)  --->
                       Hid Touch Parameter  --->
  4. 使能 Display 类型的 Device Class 驱动:
    > Local packages options
       > Third-party packages options
           [*] CherryUSB: tiny and portable USB host/device stack for embedded system with USB IP  --->
               [*]   Enable usb device mode  --->
                   [*]   Enable usb hid device  --->
                   [*]   Enable usb display device  --->
  5. Enable composite device 中使能下列配置,添加一个 DISPLAY + TP HID 的 USB 复合设备:
    > Local packages options
       > Third-party packages options
           [*] CherryUSB: tiny and portable USB host/device stack for embedded system with USB IP  --->
               [*]   Enable usb device mode  --->
                   [*]   Enable usb hid device  --->
                   [*]   Enable usb display device  --->
                   [*]   Enable composite device  --->
                        Composite Parameter  --->
                           [*] USBDEV_DISP_COMPOSITE
                           [*] USBDEV_TOUCH_COMPOSITE
  6. 配置完成后,可按照以下方式在不同操作系统中使用 UAC 功能:
    • 对于 Windows 系统,在 PC 设备的扬声器下拉菜单中,选择扬声器(ArtInChip USB Device)



    • 对于 Linux 系统:
      1. 在电脑桌面上,找到音量图标 后,点击鼠标右键。

      2. 在弹出的菜单栏中,选择 ArtInChip USB Device

配置 USB MSC (U 盘)

如果 USB Display 产品需要附带 U 盘安装功能,需要在 USB 复合设备中增加一个 MSC 功能。

在增加 MSC 功能后,当设备插入 PC 设备时:
  • 如果 PC 没有安装驱动,设备会自动模拟出一个 U 盘,存储 PC 驱动安装包。

  • 当用户安装完驱动程序后, U 盘又会自动消失。

关于驱动的安装流程,可查看 安装驱动

MSC 功能详细配置流程如下:
  1. 在 SDK 根目录,执行下列命令,进入 menuconfig 的功能配置界面:
    scons menuconfig
  2. 配置 /rodata 分区。
    > Application options  --->
        [*] Using File System Image 0  --->
           Select File System Type (FATFS)  --->
           (packages/third-party/cherryusb/tools/aic_usbdisplay/) Data Directory
           (rodata.fatfs) Image Name
           [*]   auto calcuate image size
    MSC 功能的核心是将本地存储分区 /rodata 挂载成 USB MSC 设备,因此必须优先配置 /rodata 分区。
    1. 参数描述
    参数 描述
    Using File System Image 0 配置文件系统镜像格式。
    Select File System Type 选择分区格式,如选择 FATFS,则系统显示 Select File System Type (FATFS)
    (packages/third-party/cherryusb/tools/aic_usbdisplay/) Data Directory 打包的文件夹,示例目录为 (packages/third-party/cherryusb/tools/aic_usbdisplay/) Data Directory,用于存放驱动安装包文件。
    (rodata.fatfs) Image Name 映像名为 rodata.fatfs
    auto calcuate image size 自动计算镜像尺寸。
  3. 在 menuconfig 中使能 CherryUSB 中 Audio 类型的 Device Class 驱动,并且使能对应实例模板:
    > Local packages options
       > Third-party packages options
           [*] CherryUSB: tiny and portable USB host/device stack for embedded system with USB IP  --->
               [*]   Enable usb device mode  --->
                   [*]   Enable usb msc device  --->
                       Use ram or storage template (msc storage)  --->
                       MSC Storage Parameter  --->
                          [*] USBDEV_MSC_THREAD
                          [*] USBD_MSC_STORAGE_USING_HOTPLUG
                          (/rodata) MSC_STORAGE_PATH
                          (204800) USBDEV_MSC_MAX_BUFSIZE
    2. 参数描述
    参数 描述
    (/rodata) MSC_STORAGE_PATH 设置 USB MSC 挂载分区为 /rodata
  4. 使能 Display 类型的 Device Class 驱动,并且在 Composite Device 中使能相应配置。
    > Local packages options
       > Third-party packages options
           [*] CherryUSB: tiny and portable USB host/device stack for embedded system with USB IP  --->
               [*]   Enable usb device mode  --->
                   [*]   Dynamic registration mode  --->
                       [*]   Use AIC USB Display dynamic registration
                   [*]   Enable usb hid device  --->
                   [*]   Enable usb msc device  --->
                   [*]   Enable usb audio device  --->
                   [*]   Enable usb display device  --->
                   -*-   Enable composite device  --->

    MSC 需要动态的添加和删除,因此复合设备的配置方法略有不同。如上所示,添加了一个 DISPLAY + TP HID + UAC + MSC 的 USB 复合设备,且 MSC 会根据驱动安装情况动态出现。