Цитата(sergey sva @ Dec 23 2008, 17:25)

объясните пожалуйста как это работает :
#define P_EP(n) ((USB_EP_EVENT & (1 << (n))) ? USB_EndPoint##n : NULL)
что такой #define знаю, а вот в первый раз увидел, знак вопроса и вот такую конструкцию :
USB_EndPoint##n : что означает ## и :
? : ; это тернарный оператор. Своими словами объяснять не буду, проще любую книгу по С открыть.
## это для текстовой прекомпиляции, позволяет из левой и правой части, составить единый текстовый символ для компилятора.
Цитата(sergey sva @ Dec 23 2008, 17:25)

И как это будет работать pUDP->UDP_GLBSTATE &= ~AT91C_UDP_FADDEN; вот этот знак ~
~ побитовая инверсия
Цитата(sergey sva @ Dec 23 2008, 17:25)

Еще не совсем понимаю как вызывается функция ,которая имеет модификатор _inline.
функция с этим модификатором помещается по адресу в флэш, а когда она будет выполнятся ?
и как узнать где она располагается ? Вопросы простые, но если не затруднит объясните пожалуйста.
Тела Inline функций вставляются в места вызова этих функций.
ИМХО все вопросы к арму не имеют никакого отношения. Чистый С.
Прежде чем приступать к написанию кода не важно под какую платформу, лучше почитайте какую-нибудь книгу по Сям.
Других вариантов нет.