gnusb on Windows: Software and Tools

Hardware Design

Eagle Light

-> to design/modify the gnusb hardware

The EAGLE Layout Editor is an easy to use, yet powerful tool for designing printed circuit boards (PCBs). The name EAGLE is an acronym, which stands for Easily Applicable Graphical Layout Editor

Gnusb Firmware - The AVR Toolchain

WinAVR

-> code and compile the gnusb firmware

WinAVR (pronounced "whenever") is a suite of executable, open source software development tools for the Atmel AVR series of RISC microprocessors hosted on the Windows platform. It includes the GNU GCC compiler for C and C++.

To upload your code to the AVR you'll mostly use the gnusboot command line tool which comes in the gnusb-binaries folder

Host Driver

In order to compile your own host applications - custom externals for Max/MSP, command line tools, etc.. - you'll need the following tools:

MingW & MSYS

Minimalist GNU for Windows - MinGW: A collection of freely available and freely distributable Windows specific header files and import libraries combined with GNU toolsets that allow one to produce native Windows programs that do not rely on any 3rd-party C runtime DLLs.

libusb

Libusb-win32 is a port of the USB library libusb to the Windows operating systems (Win98SE, WinME, Win2k, WinXP). The library allows user space applications to access any USB device on Windows in a generic way without writing any line of kernel driver code.

tips from http://gnuradio.org/trac/wiki/MingwInstallMain

modify makefile for windows USBFLAGS = -I/mingw/include USBLIBS = -L/mingw/lib -lusb EXE_SUFFIX = .exe

Instead of MinGW and MSYS you could also try Cygwin, a Linux-like environment for Windows

Download the Cygwin Installer from: http://www.cygwin.com/

Install at least:

When I clicked on "gcc: C compiler upgrade helper", the appropriate mingw packages where selected as well Use the "Cygwin" Shortcut to start the Unix-like shell You can use the "mount" command to map a Windows path to a more readable POSIX path, like this (pretending my name is Hans): mount -f -b "C:/Documents and Settings/Hans/Desktop" "/home/Hans/desktop"