一些FreeRTOS系统的usb命令使用方法

在全志R128开发过程中总结一些RTOS系统的usb命令使用方法,以下命令在所有RTOS平台(MELIS/FREERTOS)都可以使用

通过menuconfig打开usb模块功能

RTOS通过usb命令集成了测试用例。通过如下命令即可显示支持的功能:

//输入如下命令
msh />usb

Usage:
        usb hci {-i|-r} []
        usb udc {-i|-r} []
        usb phy_range {-s|-g} {} []
        usb ed_test {} {}
        usb debug {}
        usb uvc_test

        - - - - - - - - - - - - - - - - - - - - -
Meaning:
        -i:insmod, -r:rmmod, -s:set, -g:get

        port     : [0-0],port number
        phyrange : [0x0-0x1f],phy range
        status   : [0-disable,1-enable],hci debug status
        type     : [test_j_state/test_k_state/test_se0_nak/test_pack]--hci & otg
                   [test_not_operating/test_force_enable/test_mask]--hci only

        ==>> More information refer to spec <<==

HCI功能测试

命令形式:usb hci {-i|-r} []

  • 加载hci驱动(以USB1为例)
usb hci -i 1
  • 卸载hci驱动(以USB1为例)
usb hci -r 1

UDC功能测试

命令形式:usb udc {-i|-r} []

  • 加载udc驱动(以USB0为例)
usb udc -i 0
  • 卸载udc驱动(以USB0为例)
usb udc -r 0

UVC功能测试

命令形式:usb uvc_test

  • 启动uvs功能测试
usb uvc_test

phy range参数调整

命令形式:usb phy_range {-s|-g} {} []

  • 读取phy range参数(以USB0为例)
usb phy_range -g 0
…
OTG0 phy range
phy_range = 0xa07, details:
bit[12] = 0x0, mode iref-1 vref-0
bit[11:9] = 0x5, rise time(all usb)
bit[8:6] = 0x0, rise time(current usb)
bit[5:4] = 0x0, pre-emphasis
bit[3:0] = 0x7, resistance

USB0较为特殊,host和device的参数是分开调整的,注意打印,例如上述例子中,“OTG0 phy range”表示目前处于device模式,显示的是device端的phy range。

phy_range就是目前的值,调整参数可以在此基础上进行调整,具体含义参考上面打印中的提示。

  • 设置phy range参数(以USB0为例)
usb phy_range -s 0 0xa08
…
OTG0 phy range
phy_range config in vref mode success!

同理,“OTG0 phy range”表示目前处于device模式,设置的是device端的phy range。

ed test测试模式设置

命令形式:usb ed_test {} {}

  • 设置ed_test测试模式(以USB1为例)
usb ed_test 1 test_j_state

usb debug功能启停

命令形式:usb debug {}

  • 打开debug模式
usb debug 1
  • 关闭debug模式
usb debug 0

你可能感兴趣的:(全志-量产方法&问题,全志R128,全志-XR806,嵌入式,全志,RTOS,USB,FREERTOS)