Цитата(Vitaliy_ARM @ Sep 6 2010, 23:24)

Внизу кода, после функции main, прописан обработчик прерывания USB.
Если речь о USBIRQ_IRQHandler, то в коде не видно ни указателя, ни прямого вызова. Так что его никто не догадается вызвать. И соответственно все прерывания от USB будут недоступны.
Цитата
Если я не ошибаюсь, все настройки прерываний и прочего делают функции, зашитые в область памяти USB драйвера.
Частично ошибаетесь. Пользовательская программа (обычно в cstartup.c) имеет свои вектора IRQ, начиная с адреса 0x40. Так вот, если вектор USB-прерывания пользовательской проги не настроен на USBIRQ_IRQHandler, то работать USB не будет.
Цитата
Хотя usb загрузчик работает без проблем.
Он работает на собственном векторе прерываний, бутовом.
Хм.. У USB оказывается 2 вектора. И возможно оба их нужно инициализировать .
Хотя возможно ещё кое-что. Если работать на бутовом ремапе, то наверное можно как-то работать на бутовых прерываниях (если они это умеют).
ЗЫ. lpc13xx.usb.pdf ещё не прочитал. Где-то мог и ошибиться.