Микроконтроллер поддерживает USB HS/FS.
Внешний резонатор 12МГц, частота от USBpll. Ядро 300МГц. Питание 3.3В.
При подключении к компьютеру приходит suspend, resume, suspend и отлуп от Windows.
Видно, что приходит сброс управляющего канала и SOFы.
Со стороны контроллера это выглядит так:
CODE
udd_attach
- Full speed
- udd_ctrl_interrupt - нет прерывания
suspend
- Full speed
- udd_ctrl_interrupt - нет прерывания
resume
- High speed
- udd_ctrl_interrupt - нет прерывания
- reset ctrl ep0
пропуск нескольких SOF
- High speed
- udd_ctrl_interrupt - нет прерывания
- reset ctrl ep0
пропуск нескольких SOF
- High speed
- udd_ctrl_interrupt - нет прерывания
- reset ctrl ep0
пропуск нескольких SOF
- High speed
- udd_ctrl_interrupt - нет прерывания
- reset ctrl ep0
пропуск нескольких SOF
- Full speed
- udd_ctrl_interrupt - нет прерывания
suspend
Насколько я понимаю, поскольку ниразу небыло прерывания ep0, то контроллер не сообщил компьютеру ни VID, ни PID, ни BULK.
Т.е. надо искать ошибку не в описаниях mass storage и BULK, а в обработчике прерываний USB?
В режиме Full speed - всё также, только вместо High speed - Full speed
Причём на SAMS4 - всё работало, но у SAMS70 - другой драйвер из-за HS.
Подскажите в каком направлении копать.