Skip to main content
doejohn667
Visitor II
February 18, 2014
Question

USB interface association descriptor

  • February 18, 2014
  • 1 reply
  • 832 views
Posted on February 18, 2014 at 09:39

Hello,

I have made a 'two-in-one' device using an USB interface association descriptor: a generic HID, and a streaming audio device. Everything is working as expected, but the device is unstable. When fetching data from both interfaces in a loop, after a while (sometimes seconds, sometimes minutes or hours) it will crash (hard fault).

I have already checked the obvious (NVIC interrupt priorities, disabling all but the essential interrupts). Are there any places where I should add additional mutexes because of the use of USB IAD?

USB firmware library is v3.3.0.

Thanks!
    This topic has been closed for replies.

    1 reply

    chen
    Associate II
    February 18, 2014
    Posted on February 18, 2014 at 10:12

    Hi

    There is a hard fault register in the ARM core. Please look in the ARM core 'Generic Users Guide' (available from ARM) for details of the register and the bit field meanings.

    A common cause of Hard Faults is stack corruption eg stack too small. Some OS or debuggers have facilities to check stack high tides.