esp-iot-solution icon indicating copy to clipboard operation
esp-iot-solution copied to clipboard

examples/usb/host/usb_camera_mic_spk (AEGHB-690)

Open SindenDev opened this issue 1 year ago • 1 comments

Answers checklist.

  • [X] I have read the documentation ESP-IDF Programming Guide and the issue is not addressed there.
  • [X] I have updated my IDF branch (master or release) to the latest version and checked that the issue is present there.
  • [X] I have searched the issue tracker for a similar issue and not found a similar issue.

IDF version.

esp-idf-v5.2.2

Espressif SoC revision.

ESP32-S3

Operating System used.

Windows

How did you build your project?

Command line with Make

If you are using Windows, please specify command line type.

None

Development Kit.

ESP-S3-DevKitC-1-WROOM -1

Power Supply used.

USB

What is the expected behavior?

希望能够通过http获取视像头图像

What is the actual behavior?

获取不到图像

Steps to reproduce.

  1. 烧程序后稍后就报错

Debug Logs.

-solution\examples\usb\host\usb_camera_mic_spk\build\usb_camera_mic_spk.elf
--- WARNING: GDB cannot open serial ports accessed as COMx
--- Using \\.\COM5 instead...
--- esp-idf-monitor 1.4.0 on \\.\COM5 2000000 ---
--- Quit: Ctrl+] | Menu: Ctrl+T | Help: Ctrl+T followed by Ctrl+H ---
I (27) boot: ESP-IDF v5.2.2-dirty 2nd stage bootloader
I (27) boot: compile time Jun 15 2024 16:04:57
I (27) boot: Multicore bootloader
I (27) boot: chip revision: v0.2
I (27) boot.esp32s3: Boot SPI Speed : 80MHz
I (27) boot.esp32s3: SPI Mode       : DIO
I (28) boot.esp32s3: SPI Flash Size : 16MB
I (28) boot: Enabling RNG early entropy source...
I (28) boot: Partition Table:
I (28) boot: ## Label            Usage          Type ST Offset   Length
I (29) boot:  0 nvs              WiFi data        01 02 00009000 00006000
I (29) boot:  1 phy_init         RF data          01 01 0000f000 00001000
I (30) boot:  2 factory          factory app      00 00 00010000 00100000
I (30) boot: End of partition table
I (30) esp_image: segment 0: paddr=00010020 vaddr=3c0a0020 size=2f5c4h (193988) map
I (66) esp_image: segment 1: paddr=0003f5ec vaddr=3fc9ac00 size=00a2ch (  2604) load
I (67) esp_image: segment 2: paddr=00040020 vaddr=42000020 size=97da4h (621988) map
I (179) esp_image: segment 3: paddr=000d7dcc vaddr=3fc9b62c size=0401ch ( 16412) load
I (182) esp_image: segment 4: paddr=000dbdf0 vaddr=40374000 size=16b30h ( 92976) load
I (212) boot: Loaded app from partition at offset 0x10000
I (212) boot: Disabling RNG early entropy source...
I (213) cpu_start: Multicore app
V (213) mmap: after coalescing, 1 regions are left
D (213) cpu_start: Pro cpu up
D (214) cpu_start: Starting app cpu, entry point is 0x403755a0
0x403755a0: call_start_cpu1 at D:/Espressif/frameworks/esp-idf-v5.2.2/components/esp_system/port/cpu_start.c:183

D (0) cpu_start: App cpu up
V CACHE_ERR: illegal error intr clr & ena mask is: 0x3f
V CACHE_ERR: core 1 access error intr clr & ena mask is: 0x1f
D (222) clk: RTC_SLOW_CLK calibration value: 3735232
V CACHE_ERR: illegal error intr clr & ena mask is: 0x3f
V CACHE_ERR: core 0 access error intr clr & ena mask is: 0x1f
I (223) cpu_start: Pro cpu start user code
I (223) cpu_start: cpu freq: 160000000 Hz
I (224) cpu_start: Application information:
I (224) cpu_start: Project name:     usb_camera_mic_spk
I (224) cpu_start: App version:      1
I (224) cpu_start: Compile time:     Jun 15 2024 16:04:49
I (225) cpu_start: ELF file SHA256:  aacdb6832...
I (225) cpu_start: ESP-IDF:          v5.2.2-dirty
I (225) cpu_start: Min chip rev:     v0.0
I (225) cpu_start: Max chip rev:     v0.99 
I (226) cpu_start: Chip rev:         v0.2
V (226) memory_layout: reserved range is 0x3c0cf5a4 - 0x3c0cf5cc
D (226) memory_layout: Checking 6 reserved memory ranges:
D (227) memory_layout: Reserved memory range 0x3fc84000 - 0x3fc9ac00
D (227) memory_layout: Reserved memory range 0x3fc9ac00 - 0x3fca31f8
D (227) memory_layout: Reserved memory range 0x3fceee34 - 0x3fcf0000
D (228) memory_layout: Reserved memory range 0x40374000 - 0x4038ac00
0x40374000: _WindowOverflow4 at D:/Espressif/frameworks/esp-idf-v5.2.2/components/xtensa/xtensa_vectors.S:2027

D (228) memory_layout: Reserved memory range 0x600fe000 - 0x600fe010
D (228) memory_layout: Reserved memory range 0x600fffe8 - 0x60100000
D (229) memory_layout: Building list of available memory regions:
V (229) memory_layout: Examining memory region 0x3fc88000 - 0x3fc90000
V (230) memory_layout: Region 0x3fc88000 - 0x3fc90000 inside of reserved 0x3fc84000 - 0x3fc9ac00
V (230) memory_layout: Examining memory region 0x3fc90000 - 0x3fca0000
V (230) memory_layout: Start of region 0x3fc90000 - 0x3fca0000 overlaps reserved 0x3fc84000 - 0x3fc9ac00
V (231) memory_layout: Region 0x3fc9ac00 - 0x3fca0000 inside of reserved 0x3fc9ac00 - 0x3fca31f8
V (232) memory_layout: Examining memory region 0x3fca0000 - 0x3fcb0000
V (232) memory_layout: Start of region 0x3fca0000 - 0x3fcb0000 overlaps reserved 0x3fc9ac00 - 0x3fca31f8
D (232) memory_layout: Available memory region 0x3fca31f8 - 0x3fcb0000
V (233) memory_layout: Examining memory region 0x3fcb0000 - 0x3fcc0000
D (233) memory_layout: Available memory region 0x3fcb0000 - 0x3fcc0000
V (234) memory_layout: Examining memory region 0x3fcc0000 - 0x3fcd0000
D (234) memory_layout: Available memory region 0x3fcc0000 - 0x3fcd0000
V (234) memory_layout: Examining memory region 0x3fcd0000 - 0x3fce0000
D (235) memory_layout: Available memory region 0x3fcd0000 - 0x3fce0000
V (235) memory_layout: Examining memory region 0x3fce0000 - 0x3fce9710
D (236) memory_layout: Available memory region 0x3fce0000 - 0x3fce9710
V (236) memory_layout: Examining memory region 0x3fce9710 - 0x3fcf0000
V (236) memory_layout: End of region 0x3fce9710 - 0x3fcf0000 overlaps reserved 0x3fceee34 - 0x3fcf0000
D (237) memory_layout: Available memory region 0x3fce9710 - 0x3fceee34
V (237) memory_layout: Examining memory region 0x3fcf0000 - 0x3fcf8000
D (238) memory_layout: Available memory region 0x3fcf0000 - 0x3fcf8000
V (238) memory_layout: Examining memory region 0x600fe000 - 0x60100000
V (238) memory_layout: Start of region 0x600fe000 - 0x60100000 overlaps reserved 0x600fe000 - 0x600fe010
V (239) memory_layout: End of region 0x600fe010 - 0x60100000 overlaps reserved 0x600fffe8 - 0x60100000
D (239) memory_layout: Available memory region 0x600fe010 - 0x600fffe8
I (240) heap_init: Initializing. RAM available for dynamic allocation:
D (240) heap_init: New heap initialised at 0x3fca31f8
I (241) heap_init: At 3FCA31F8 len 00046518 (281 KiB): RAM
I (241) heap_init: At 3FCE9710 len 00005724 (21 KiB): RAM
D (241) heap_init: New heap initialised at 0x3fcf0000
I (242) heap_init: At 3FCF0000 len 00008000 (32 KiB): DRAM
D (242) heap_init: New heap initialised at 0x600fe010
I (242) heap_init: At 600FE010 len 00001FD8 (7 KiB): RTCRAM
V (243) intr_alloc: esp_intr_alloc_intrstatus (cpu 0): checking args
V (243) intr_alloc: esp_intr_alloc_intrstatus (cpu 0): Args okay. Resulting flags 0x40E
D (244) intr_alloc: Connected src 39 to int 2 (cpu 0)
V (244) memspi: raw_chip_id: 18405E

V (244) memspi: chip_id: 5E4018

V (244) memspi: raw_chip_id: 18405E

V (244) memspi: chip_id: 5E4018

D (245) spi_flash: trying chip: issi
D (245) spi_flash: trying chip: gd
D (245) spi_flash: trying chip: mxic
D (245) spi_flash: trying chip: winbond
D (245) spi_flash: trying chip: boya
D (246) spi_flash: trying chip: th
D (246) spi_flash: trying chip: mxic (opi)
D (246) spi_flash: trying chip: generic
I (246) spi_flash: detected chip: generic
I (246) spi_flash: flash io: dio
D (247) cpu_start: calling init function: 0x4207a47c
0x4207a47c: _GLOBAL__sub_I__ZN17__eh_globals_init7_S_initE at /builds/idf/crosstool-NG/.build/HOST-x86_64-w64-mingw32/xtensa-esp-elf/src/gcc/libstdc++-v3/libsupc++/eh_globals.cc:162

D (247) cpu_start: calling init function: 0x420202dc
0x420202dc: s_set_default_wifi_log_level at D:/Espressif/frameworks/esp-idf-v5.2.2/components/esp_wifi/src/wifi_init.c:85

D (247) cpu_start: calling init function: 0x4201801c
0x4201801c: esp_ipc_init at D:/Espressif/frameworks/esp-idf-v5.2.2/components/esp_system/esp_ipc.c:114

D (248) cpu_start: calling init function: 0x4037cdcc
0x4037cdcc: enable_timer_group0_for_calibration at D:/Espressif/frameworks/esp-idf-v5.2.2/components/esp_hw_support/port/esp32s3/rtc_time.c:199

D (248) cpu_start: calling init function: 0x42002a00
0x42002a00: esp_app_format_init_elf_sha256 at D:/Espressif/frameworks/esp-idf-v5.2.2/components/esp_app_format/esp_app_desc.c:68

D (248) cpu_start: calling init function: 0x42007fa0 on core: 0
0x42007fa0: __esp_system_init_fn_esp_timer_startup_init at D:/Espressif/frameworks/esp-idf-v5.2.2/components/esp_timer/src/esp_timer.c:578

V (249) intr_alloc: esp_intr_alloc_intrstatus (cpu 0): checking args
V (249) intr_alloc: esp_intr_alloc_intrstatus (cpu 0): Args okay. Resulting flags 0xC02
D (249) intr_alloc: Connected src 59 to int 3 (cpu 0)
D (250) cpu_start: calling init function: 0x42005888 on core: 0
0x42005888: __esp_system_init_fn_esp_sleep_startup_init at D:/Espressif/frameworks/esp-idf-v5.2.2/components/esp_hw_support/sleep_gpio.c:189

I (250) sleep: Configure to isolate all GPIO pins in sleep state
I (251) sleep: Enable automatic switching of GPIO sleep configuration
D (251) cpu_start: calling init function: 0x42003b64 on core: 0
0x42003b64: __esp_system_init_fn_init_components0 at D:/Espressif/frameworks/esp-idf-v5.2.2/components/esp_system/startup.c:493

V (251) intr_alloc: esp_intr_alloc_intrstatus (cpu 0): checking args
V (251) intr_alloc: esp_intr_alloc_intrstatus (cpu 0): Args okay. Resulting flags 0x40E
D (252) intr_alloc: Connected src 79 to int 9 (cpu 0)
D (252) app_start: Starting scheduler on CPU0
V (253) intr_alloc: esp_intr_alloc_intrstatus (cpu 0): checking args
V (253) intr_alloc: esp_intr_alloc_intrstatus (cpu 0): Args okay. Resulting flags 0x402
D (253) intr_alloc: Connected src 57 to int 12 (cpu 0)
V (253) intr_alloc: esp_intr_alloc_intrstatus (cpu 1): checking args
V (253) intr_alloc: esp_intr_alloc_intrstatus (cpu 1): Args okay. Resulting flags 0x40E
I (253)D (254) intr_alloc: Connected src 80 to int 2 (cpu 1)
D (254) app_start: Starting scheduler on CPU1
V (254) intr_alloc: esp_intr_alloc_intrstatus (cpu 1): checking args
V (255) intr_alloc: esp_intr_alloc_intrstatus (cpu 1): Args okay. Resulting flags 0x402
 main_task: StaD (255) intr_alloc: Connected src 58 to int 3 (cpu 1)
rted on CPU0
D (256) heap_init: New heap initialised at 0x3fce9710
V (256) intr_alloc: esp_intr_alloc_intrstatus (cpu 0): checking args
V (256) intr_alloc: esp_intr_alloc_intrstatus (cpu 0): Args okay. Resulting flags 0xE
D (257) intr_alloc: Connected src 52 to int 13 (cpu 0)
I (257) main_task: Calling app_main()
I (258) uvc_mic_spk_demo: ESP32 Chip ID: 0
I (258) uvc_mic_spk_demo: This is ESP32-S3 chip with 2 CPU cores, WiFi/BLE
I (258) uvc_mic_spk_demo: Silicon revision: 2
I (259) uvc_mic_spk_demo: Flash size: 16 MB external
I (259) uvc_mic_spk_demo: This chip supports 2.4GHz WiFi
I (259) uvc_mic_spk_demo: This chip supports Bluetooth LE
I (287) pp: pp rom version: e7ae62f
I (288) net80211: net80211 rom version: e7ae62f
I (289) wifi:wifi driver task: 3fcad320, prio:23, stack:6656, core=0
I (297) wifi:wifi firmware version: 3e0076f
I (298) wifi:wifi certification version: v7.0
I (298) wifi:config NVS flash: enabled
I (298) wifi:config nano formating: disabled
I (298) wifi:Init data frame dynamic rx buffer num: 32
I (299) wifi:Init static rx mgmt buffer num: 5
I (299) wifi:Init management short buffer num: 32
I (299) wifi:Init dynamic tx buffer num: 32
I (300) wifi:Init static tx FG buffer num: 2
I (300) wifi:Init static rx buffer size: 1600
I (300) wifi:Init static rx buffer num: 10
I (300) wifi:Init dynamic rx buffer num: 32
I (301) wifi_init: rx ba win: 6
I (302) wifi_init: tcpip mbox: 32
I (302) wifi_init: udp mbox: 6
I (302) wifi_init: tcp mbox: 6
I (302) wifi_init: tcp tx win: 5760
I (302) wifi_init: tcp rx win: 5760
I (303) wifi_init: tcp mss: 1440
I (303) wifi_init: WiFi IRAM OP enabled
I (303) wifi_init: WiFi RX IRAM OP enabled
I (308) camera wifi: wifi_init_softap finished.SSID:ESP32S3-UVC password:
I (309) phy_init: phy_version 670,b7bc9b9,Apr 30 2024,10:54:13
I (351) wifi:mode : softAP (dc:da:0c:11:f5:29)
I (352) wifi:Total power save buffer number: 16
I (353) wifi:Init max length of beacon: 752/752
I (353) wifi:Init max length of beacon: 752/752
I (354) camera_httpd: Starting web server on port: '80'
I (355) esp_netif_lwip: DHCP server started on interface WIFI_AP_DEF with IP: 192.168.4.1
I (359) camera_httpd: Starting stream server on port: '81'
I (362) USB_STREAM: UVC Streaming Config Succeed, Version: 1.3.2
I (362) USB_STREAM: USB streaming callback register succeed
I (362) USB_STREAM: Pre-alloc ctrl urb succeed, size = 1024
I (363) USB_STREAM: USB stream task start
I (393) USB_STREAM: USB Streaming Start Succeed
I (393) USB_STREAM: Waiting USB Device Connection
I (643) USB_STREAM: line 151 HCD_PORT_EVENT_CONNECTION
I (644) USB_STREAM: Action: ACTION_DEVICE_CONNECT
I (694) USB_STREAM: Resetting Port
I (754) USB_STREAM: Setting Port FIFO, 1
I (754) USB_STREAM: USB Speed: full-speed
I (755) USB_STREAM: ENUM Stage START, Succeed
I (756) USB_STREAM: ENUM Stage GET_SHORT_DEV_DESC, Succeed
I (758) USB_STREAM: Default pipe endpoint MPS update to 64
I (758) USB_STREAM: ENUM Stage CHECK_SHORT_DEV_DESC, Succeed
I (760) USB_STREAM: ENUM Stage SET_ADDR, Succeed
I (771) USB_STREAM: ENUM Stage CHECK_ADDR, Succeed
I (772) USB_STREAM: ENUM Stage GET_FULL_DEV_DESC, Succeed
*** Device descriptor ***
bcdUSB 2.00
bDeviceClass 0xef
bDeviceSubClass 0x2
bDeviceProtocol 0x1
bMaxPacketSize0 64
idVendor 0x534d
idProduct 0x2109
bNumConfigurations 1
I (775) USB_STREAM: ENUM Stage CHECK_FULL_DEV_DESC, Succeed
I (776) USB_STREAM: ENUM Stage GET_SHORT_CONFIG_DESC, Succeed
I (777) USB_STREAM: ENUM Stage CHECK_SHORT_CONFIG_DESC, Succeed
I (778) USB_STREAM: ENUM Stage GET_FULL_CONFIG_DESC, Succeed
*** Configuration descriptor ***
wTotalLength 355
bNumInterfaces 5
bConfigurationValue 1
*** Interface Association Descriptor: Video ***
        *** Interface descriptor ***
        bInterfaceNumber 0
        bAlternateSetting 0
        bNumEndpoints 0
        bInterfaceClass 0xe (Video)
        bInterfaceSubClass 0x1
        *** Interface descriptor ***
        bInterfaceNumber 1
        bAlternateSetting 0
        bNumEndpoints 0
        bInterfaceClass 0xe (Video)
        bInterfaceSubClass 0x2
        *** Class-specific VS Interface Descriptor ***
        bNumFormats 1
        *** VS Format MJPEG Descriptor ***
        bFormatIndex 0x1
        bNumFrameDescriptors 1
        bDefaultFrameIndex 1
        *** VS MJPEG Frame Descriptor ***
        bFrameIndex 0x1
        wWidth 640
        wHeigh 480
        dwMinFrameInterval 42666501
        dwMaxFrameInterval 85333248
        dwFrameIntervalStep 102400000
E (5789) task_wdt: Task watchdog got triggered. The following tasks/users did not reset the watchdog in time:
E (5789) task_wdt:  - IDLE1 (CPU 1)
E (5789) task_wdt: Tasks currently running:
E (5789) task_wdt: CPU 0: IDLE0
E (5789) task_wdt: CPU 1: usb_proc
E (5789) task_wdt: Print CPU 1 backtrace


Backtrace: 0x40379ED6:0x3FC9D5B0 0x403788D1:0x3FC9D5D0 0x400559DD:0x3FCE2B60 0x4037ED9F:0x3FCE2B70 0x4037E3E7:0x3FCE2B90 0x4038518E:0x3FCE2BD0 0x42097BD0:0x3FCE2BF0 0x42097D26:0x3FCE2C20 0x403850ED:0x3FCE2C50 0x4200DACD:0x3FCE2CA0 0x4200EA58:0x3FCE2DD0 0x4200F379:0x3FCE2E00 0x4037E9F9:0x3FCE2E50   
0x40379ed6: esp_crosscore_isr at D:/Espressif/frameworks/esp-idf-v5.2.2/components/esp_system/crosscore_int.c:103
0x403788d1: _xt_lowint1 at D:/Espressif/frameworks/esp-idf-v5.2.2/components/xtensa/xtensa_vectors.S:1240
0x400559dd: _xtos_set_intlevel in ROM
0x4037ed9f: vPortClearInterruptMaskFromISR at D:/Espressif/frameworks/esp-idf-v5.2.2/components/freertos/FreeRTOS-Kernel/portable/xtensa/include/freertos/portmacro.h:564
 (inlined by) vPortExitCritical at D:/Espressif/frameworks/esp-idf-v5.2.2/components/freertos/FreeRTOS-Kernel/portable/xtensa/port.c:504
0x4037e3e7: xQueueGenericSend at D:/Espressif/frameworks/esp-idf-v5.2.2/components/freertos/FreeRTOS-Kernel/queue.c:1056
0x4038518e: esp_log_impl_unlock at D:/Espressif/frameworks/esp-idf-v5.2.2/components/log/log_freertos.c:56
0x42097bd0: s_log_level_get_and_unlock at D:/Espressif/frameworks/esp-idf-v5.2.2/components/log/log.c:174
0x42097d26: esp_log_writev at D:/Espressif/frameworks/esp-idf-v5.2.2/components/log/log.c:207
0x403850ed: esp_log_write at D:/Espressif/frameworks/esp-idf-v5.2.2/components/log/log.c:222
0x4200dacd: _update_config_from_descriptor at E:/Work/github.com/esp-iot-solution/components/usb/usb_stream/usb_stream.c:1431 (discriminator 1)
0x4200ea58: _uvc_uac_device_enum at E:/Work/github.com/esp-iot-solution/components/usb/usb_stream/usb_stream.c:3114
0x4200f379: _usb_processing_task at E:/Work/github.com/esp-iot-solution/components/usb/usb_stream/usb_stream.c:3361
0x4037e9f9: vPortTaskWrapper at D:/Espressif/frameworks/esp-idf-v5.2.2/components/freertos/FreeRTOS-Kernel/portable/xtensa/port.c:134

More Information.

No response

SindenDev avatar Jun 15 '24 08:06 SindenDev

@SindenDev 这里使用的 USB 摄像头 Fullspeed 模式固件,有以下问题:

        dwMinFrameInterval 42666501
        dwMaxFrameInterval 85333248
        dwFrameIntervalStep 102400000

102400000 > 85333248, dwFrameIntervalStep 应该小于 dwMaxFrameInterval 才对。请修改摄像头固件,或者换摄像头

leeebo avatar Jun 17 '24 09:06 leeebo