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

原创
2023/10/16 13:54
阅读数 40

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

通过menuconfig打开usb模块功能

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

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

Usage:
        usb hci {-i|-r} [<port>]
        usb udc {-i|-r} [<port>]
        usb phy_range {-s|-g} {<port>} [<phyrange>]
        usb ed_test {<port>} {<type>}
        usb debug {<status>}
        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} [<port>]

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

UDC功能测试

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

  • 加载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} {<port>} [<phyrange>]

  • 读取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 {<port>} {<type>}

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

usb debug功能启停

命令形式:usb debug {<status>}

  • 打开debug模式
usb debug 1
  • 关闭debug模式
usb debug 0
展开阅读全文
加载中
点击引领话题📣 发布并加入讨论🔥
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部