I need to write my own USB driver (in C) for a Garmin GPS 18 device. I am using the USBwiz chipset from GHI Electronics which uses the ISP1160 host controller. I have Garmin's complete USB interface protocol documentation. I also found a Linux USB driver for the GPS 18 that somebody wrote. So it seems I have everything I need to get the job done but I've never done this before so when I sit down at my desk my head starts spinning as I don't know where to start. I am desperately in need of some methodology advice from somebody who has done this kind of task before! Can somebody please give me the first couple of steps to this process to get the ball rolling? The USBwiz is interfaced to a PIC18F458 micro and I am using MPLAB C18 C compiler.