Csak PIC32-re és USB HS device-t. Kész könyvtárat használtam, annak legfölső rétegében lévő állapotautomatát újraírtam. Mindezt C-ben. De host-ot még soha. Nem volt rá szükségem.
Ugyanakkor van olyan tapasztalatom, hogy újabb fordító - gcc egyébként - lefordítja ugyan a kódot, de az USB nem működik, de minden más igen. Viszont épp az USB az, amit kész libként használtam fel, és aligha vágyom pár ezer sor átnézésére úgy, hogy olyan rafinált hibát találjak meg, ami fordító verziótól függően korábban működött, most meg nem. Persze van olyan is, hogy korábban
#define NULL 0
később
#define NULL (void *) 0
lett, ha jól emlékszem. Workaround: a régi fordítóval fordítok továbbra is. :(