We've been asked a few times about the actual process of modifying SRV-1 source code, so here's a quickstart guide ...
1. Assuming you are using Windows, you need to first install the GNUARM 3.4.3 toolchain, which is provided on our website as 3 consecutive install programs that are found at the bottom of
http://www.surveyor.com/srvdownload/ - gnuarm-install1.exe (17MB)
- gnuarm-install2.exe (23MB)
- gnuarm-install3.exe (2MB)
After the last installer runs, do a search on your computer for "cygwin1.dll" and delete all but the most recent version (should be 1.4MB). For whatever reason, multiple instances of cygwin1.dll seem to get installed sometimes
2. The 3rd installer should have created an icon for LPC2xxx-gcc-newlib_v2.3.0.0, which is the shell that's used to run the gnuarm tools. If for some reason, that icon wasn't created, you'll need to make one yourself, with the shortcut defined as
Target: "C:\Program Files\Infrabed\evboards\LPC2xxx-gcc-newlib-v2_3_0_0\bin\cygwin\bash.exe" build_environment.sh
Start in: "C:\Program Files\Infrabed\evboards\LPC2xxx-gcc-newlib-v2_3_0_0\bin\"
3. Create a directory such as "C:\srv1", then download and unzip the srv-1 source code (e.g.
http://www.surveyor.com/srvdownload/srv-053007.zip ) into that directory. You'll find some .c and .h source code files, along with a makefile and other stuff.
4. Start LPC2xxx-gcc-newlib_v2.3.0.0. You should get a DOS-like shell. Change directory to \srv1, and try typing "make". This should compile everything and create srv1.hex, which will be your SRV-1 download image. If everything goes right (and lots of folks have been able to get this to work), you should be able to load srv1.hex onto the robot using lpc21isp.exe, which is conveniently located in the same directory with the source code. The syntax for lpc21isp is
> lpc21isp -hex srv1.hex com4 112400 14746
(substitute your radio's actual com port for com4)
5. There's also some information on using the gnuarm toolchain here -
http://www.surveyor.com/srvdownload/LPC2106_QuickStart.pdf We really encourage folks to work with, modify and extend the source code. It's published under the GNU GPL license, so the code is free to use and modify, though you need to make your changes available to others so that they can take advantage of everyone's effort in extending code.