USB1通过HUB后接鼠标,接入使用正常,拔出鼠标就报错重启

Viewed 15

问题描述


USB1直接接鼠标使用拔插都正常。通过HUB扩展后接入使用正常,拔出鼠标就报错重启。不拔鼠标直接拔出扩展器也不会重启。固件是k230_canmv_01studio_defconfig,通过make rtsmart-menuconfig关闭desc dma支持后编译的,报错如下
Interface Descriptor: bLength
: 0x09 bDescriptorType: 0x04 bInterfaceNum
ber: 0x00 bAlternateSetting: 0x00 bNumEndpoints: 0x01 bInterfaceClass: 0x03 bInterfaceSubClass: 0x01 bInterfaceProtocol: 0x02 iInterface: 0x00
HID mouse started on /dev/input/event0
report_id=0 has_id=0 x=8 y=9 buttons=8 wheel=10 absolute=0

[E/USB] dwc2_hc_handle_tt_c
lear
Unhandled Exception 7:Store/AMO Access Fault

============ CRASH REPORT ===================
Exception 7: Store/AMO Access Fault
scause = 0x0000000000000007
stval = 0x0000000000000000 (fault address)
sepc = 0x00000000001e7404 (pro
gram counter)
ra = 0x00000000001e7492 (return address)
sp = 0x0000000000654f70
frame = 0x0000000000495b18 (trap frame on stack)
fp/s0 = 0x00000000009d00c0
mode = SUPERVISOR (SPP=1)
sepc : in kernel text [0x20000 - 0x478cd0]
stval : NULL pointer dereference

=====================

--------------Dump Registers-----------------
Function Registers:
ra(x1) = 0x00000000001e7492()
user_sp(x2) = 0x0000000000654f70()

gp(x3) = 0x0000000000486588()
tp(x4) = 0x00000000deadbeef()

Temporary Registers:
t0(x5) = 0x0000000000000120()
t1(x6) = 0x00000000deadbeef()
t2(x7) = 0x00000000deadbeef()
t3(x28) = 0x00000000deadbeef()
t4(x29
) = 0x00000000deadbeef()
t5(x30) = 0x00000000deadbeef()
t6(x31) = 0x00000000deadbeef()
Saved Registers:
s0/fp(x8) = 0x00000000009d00c0()
s1(x9) = 0x0000000000009041()
s2(x18) = 0x000000000064d528()
s3(x19) = 0x0000000000000002()
s4(x20) = 0x
0000000000551318()
s5(x21) = 0x000000000056b3c0()
s6(x22) = 0x8000000200046022()
s7(x23) = 0x0000000000000008()
s8(x24) = 0x0000000000000023()
s9(x25) = 0x000000000057f3c0()
s10(x26) = 0x000000000056b3e8()
s11(
x27) = 0xffffffffffffffed()
Function Arguments Registers:
a0(x10) = 0x8000000200046022()
a1(x11) = 0x0000000000000000()
a2(x12) = 0x0000000000644718()
a3(x13) = 0xfffffffffffff65e()
a4(x14) = 0x000000000056b3e8()
a5(x15) = 0x0000000000000002()

a6(x16) = 0x000000000063d818()
a7(x17) = 0x00000000deadbeef()

sstatus = 0x8000000200046120
Supervisor Interrupt Disabled
Last Time Supervisor Interrupt Enabled
Last Privilege is Supervisor Mode
Permit to Access User Page
Not Permit to Read Executable-only Page
satp = 0x8000000000000544
Current Page Table(Physical) = 0x0000000000544
000
Current ASID = 0x0000000000000000
Mode = Page-based 39-bit Virtual Addressing Mode
-----------------Dump OK---------------------
------------- Thread Info -------------------
name : sys workq
status : 0x03
stack_addr : 0x0000000000650040
stack_size : 0x5000 (20480)
stack_top : 0x0000000000655040
stack_used
: 0x528 (1320) = 6% of 20480 (fill=0x23)
------------- Code Around sepc --------------
0x001e73f4: 6cd1
0x001e73f6: 9cd6
0x001e73f8: 5db5
0x001e73fa: 0c13 0230
0x001e73fc: 0230
0x001e73fe: 4ba1
0x001e7400: a89d
0x001e7402: 4581

0x001e7404: 8023 0185
0x001e7
406: 0185
0x001e7408: 80a3 0175
0x001e740a: 0175
0x001e740c: 0123 0090
0x001e740e: 0090
0x001e7410: 80a1
0x001e7412: 81a3 0095
0x001e7414: 0095
------------- Frame Pointer Backtrace -------
#0 pc = 0x00000000001e7404
#1 ra = 0x0000000000
000000 (fp was 0x00000000009d00c0) [INVALID]
-- ra out of text range, likely corrupted. stop
------------- addr2line command --------------
riscv64-unknown-linux-musl-addr2line -e rtthr
ead.elf -a -f 0x1e7404 0x0
------------- Stack Memory Dump -------------
sp = 0x0000000000654f70
0x0000000000654f30: 0x00000000deadbeef
0x0000000000654f38: 0x00000000deadbeef
0
x0000000000654f40: 0x000000000064d6e8
0x0000000000654f48: 0x0000000000216862 <- kernel text
0x0000000000654f50: 0x00000000deadbeef
0x0000000000654f
58: 0x0000000000000002
0x0000000000654f60: 0x0000000000637ad0
0x0000000000654f68: 0x0000000000215706 <- kernel text

0x0000000000654f70: 0x000000000064d6e8
0x0000000000654f78: 0x00000000deadbeef
0x0000000000654f80: 0x000000000056b3c0
0x0000000000654f88: 0x00000000
0056b3f8
0x0000000000654f90: 0x00000000001e73c4 <- kernel text
0x0000000000654f98: 0x000000000064d580
0x0000000000654fa0: 0xffffffffffffffff
0x
0000000000654fa8: 0x8000000200046022
0x0000000000654fb0: 0xfffffffffffffffe
0x0000000000654fb8: 0x000000007ffffffe
0x0000000000654fc0: 0x00000000006
4d528
0x0000000000654fc8: 0x000000000064d510
0x0000000000654fd0: 0x000000000064d500
0x0000000000654fd8: 0x0000000000
256f84 <- kernel text
0x0000000000654fe0: 0x00000000deadbeef
0x0000000000654fe8: 0x00000000deadbeef
0x0000000000654ff0: 0x00000000deadbeef
0x00
00000000654ff8: 0x00000000deadbeef
0x0000000000655000: 0x00000000deadbeef
0x0000000000655008: 0x00000000deadbeef
0x0000000000655010: 0x00000000deadb
eef
0x0000000000655018: 0x00000000deadbeef
0x0000000000655020: 0x00000000deadbeef
0x0000000000655028: 0x00000000deadbeef
------------- All Thread S
tacks -------------
THREAD STACK_ADDR SIZE USED% STATUS
usbh_rtl8152_rx 0x009cf080 4096 38%
@preload
0x009ab880 131072 3%
@preload 0x00986e80 131072 3%
@preload 0x00962480 13
1072 3%
@preload 0x0093d8c0 131072 3%
@preload 0x00918b40 131072 3%
@preload 0x008f4540
131072 3%
@preload 0x008cfd80 131072 3%
@preload 0x008a2440 131072 3%
@preload 0x0087da40
131072 3%
@preload 0x00857580 131072 3%
cmd_thread 0x0084cc40 20480 12%
xmit_thread 0x00845040 20480 6%
sdio_irq
0x0083adc0 10240 21%
usbh_hub0 0x0082e880 4096 49%
dwc2_lo_prio_bh 0x00826e00
20480 6%
dwc2_hi_prio_bh 0x0081f280 20480 6%
dwc2 0x0080dac0 20480 6%
@preload 0x007ec1
c0 131072 1%
@preload 0x007c1c00 131072 3%
mtp 0x007b9700 20480 6%

mtp_inty 0x006eff00 20480 9%
tshell 0x006d3340 81920 2%
thermal_detect_threa 0x006cbbc0 10240 1
3%
auto_load_thread 0x006c6940 10240 12%
mcm_task 0x006bbdc0 8192 15%
usage_thread 0x00693b00 8192 16%
wdt_feed1 0x0066fb00 3072 42%
gpio_irq_to_user 0x0065fe40 20480 6%
gpio_debounce 0x006582c0 20480 6%
sys workq 0x00650040 20480 6%

mmcsd_detect 0x0062fad0 32768 9%
wlan 0x0064c4c0 4096 31%
tcpip 0x00647040 10240 14%

etx 0x006163c0 10240 13%
erx 0x00610f78 10240 13%
tsystem
0x005af600 16384 7%
tidle0 0x005b6000 16384 6%
timer 0x005bcdc0 16384 7%
Total: 39 thread
s
--------------Thread list--------------
current thread: sys workq
PID CMD thread pri status sp stack size max used left tick error



 kernel               usbh_rt

l8152_rx 15 suspend 0x00000538 0x00001000 38% 0x00000009 -09
kernel cmd_thread 6 suspend 0x00000558 0x00005000 1
2% 0x00000004 -09
kernel xmit_thread 7 suspend 0x00000528 0x00005000 06% 0x0000000a -09
kernel sdio_irq 4 suspend 0x00
0004f8 0x00002800 21% 0x0000000e -09
kernel usbh_hub0 14 suspend 0x000005b8 0x00001000 49% 0x00000004 -09
kerne
l dwc2_lo_prio_bh 1 suspend 0x000004f8 0x00005000 06% 0x0000000a 000
kernel dwc2_hi_prio_bh 0 suspend 0x0
00004f8 0x00005000 06% 0x00000007 000
kernel dwc2 16 suspend 0x000004f8 0x00005000 06% 0x0000000a 000
kern
el mtp 16 suspend 0x000004d8 0x00005000 06% 0x0000000a -09
kernel mtp_inty 16 suspend 0x
000007a8 0x00005000 09% 0x0000000a -09
kernel tshell 20 suspend 0x000006e8 0x00014000 02% 0x0000000a 000
ker
nel thermal_detect_threa 29 ready 0x000004d8 0x00002800 13% 0x0000000a -02
kernel auto_load_thread 29 ready 0
x000004c8 0x00002800 12% 0x0000000a -02
kernel mcm_task 1 suspend 0x000004e8 0x00002000 15% 0x00000005 -09
ke
rnel usage_thread 30 ready 0x00000518 0x00002000 16% 0x0000000a -02
kernel wd
t_feed1 25 suspend 0x000004e8 0x00000c00 42% 0x000000c8 -09
kernel gpio_irq_to_user 16 suspend 0x000004f8 0x00005000
06% 0x0000000a 000
kernel gpio_debounce 15 suspend 0x000004f8 0x00005000 06% 0x0000000a 000
kernel sys workq 17 running
0x000004f8 0x00005000 06% 0x00000009 000
kernel mmcsd_detect 22 suspend 0x00000548 0x00008000 09% 0x0000000f -09

kernel wlan 15 suspend 0x000004f8 0x00001000 31% 0x0000000a 000
kernel tcpip 10 suspend 0x00000578 0x00002800 14%
0x00000014 -09
kernel etx 12 suspend 0x00000538 0x00002800 13% 0x00000010 -09
kernel erx 12 suspend 0x000005
58 0x00002800 13% 0x00000010 -09
kernel tsystem 30 suspend 0x000004f8 0x00004000 07% 0x00000020 -09
kernel
tidle0 31 ready 0x00000438 0x00004000 06% 0x0000000a 000
kernel timer 4 suspend 0x00000
4d8 0x00004000 07% 0x00000009 -09
1 @preload @preload 3 suspend 0x00000900 0x00020000 03% 0x00000027 000
1 @preload
@preload 3 suspend 0x00000900 0x00020000 03% 0x00000020 000
1 @preload @preload 3 suspend 0x0000
0900 0x00020000 03% 0x000000c8 000
1 @preload @preload 3 suspend 0x00000900 0x00020000 03% 0x00000087 000
1 @preloa
d @preload 3 suspend 0x00000900 0x00020000 03% 0x0000000b 000
1 @preload @preload 4 suspend 0x00000900 0x00020000 03% 0x0000
00a7 000
1 @preload @preload 4 suspend 0x00000900 0x00020000 03% 0x00000092 000
1 @preload @preload
4 suspend 0x00000900 0x00020000 03% 0x000000c8 000
1 @preload @preload 4 suspend 0x00000900 0x00020000 03% 0x000
000c8 000
1 @preload @preload 3 suspend 0x00000960 0x00020000 03% 0x00000099 000
1 @preload @preload 20 suspend 0x00000960 0x0
0020000 01% 0x000000c8 000
1 @preload @preload 25 ready 0x00000428 0x00020000 03% 0x00000084 000
--------------Backtr
ace--------------
riscv64-unknown-linux-musl-addr2line -e rtthread.elf -a -f 00000000001e7400

硬件板卡


01核心板

软件版本


应该是1.8

0 Answers