Experiments with DS203 oscilloscope15.sep 2011
     I have recently purchased DS203 quad oscilloscope. It is a very small portable oscilloscope that looks more like a mobile phone or mp4 player. On forums on internet you can find many reviews that consider this device more as a toy than a oscilloscope. The interesting thing on this device is, that it's source code is open.

     All source files including the FPGA code you can find on seeed-studio's github. If you want to start experimenting in extending the functions of original firmware, you can download whole project here (You only need to append "/zipball/master" to the project link and the github server will make a zip archive for you to download).
The project files on seeed-studio's github are designed to be opened in IAR Workbench Studio. Unfortunatelly this application is not free and you can download only 30 day trial period version. Some programmers tried to build the project with GCC toolchan. I found these: dsonano by Tormod Volden on code.google.com and dsoquad by tmbinc. I didn't succeed building (on Win32) the first one, nor the second, so it took me a while to figure out how to produce a .hex file that could be uploaded onto DS203 device.
There are two problems: For the third task, inside the dsonano google code there is a iar2gas script that converts the IAR asm file into a format that GCC can compile. For the Windows users I recommend downloading some Win32 port of linux SED command and running command "sed -f iar2gas.sed < source.s", because the batch file wont allow you to use some special characters that are used in the iar2gas script, but you can avoid this problem by using "-f" flag and specifing a file that contain all the commands (iar2gas.sed)
Next step was rewriting the makefile into batch file, because I didn't want to use any linux support layer on my machine.
I decided to start working with the tmbinc's port (V2.51), I put there missing files from Tormot Volden's port and tried to build it. Finally my first .hex file was born. After uploading into the DS203 device it freezed and keeped beeping. I found out that the cause is calling the strcpy function. After fixing this problem (writing my own strcpy function) the application was running well. This problem was fixed by setting appropriate linker flags.

Download the latest version of Win32 GCC port of DSO QUAD 2.51 here (17.9.2011).
Custom oscilloscope firmware (in development stage) available on github

Here are some examples to download (don't forget to edit the makefile.bat to set the path to your toolchain) :