Gumstix Programming

I’ve been considering purchasing a gumstix computer( netstix 200xm-cf, or waysmall 400mhz). I know many teams have used gumsitxs on their robots, and I’m curious how you’ve programmed them?

I don’t have access to a linux computer :frowning: , and I have never done any linux programming :o , but I have done lots of Windows and embedded programming. I would appreciate any linux programming resources, or code for gumstixs, but more than anything I would like any comments on gumsitx, or any other systems you’ve used.

I know someone will ask so I’ll say now. I plan to use the gumstix in a position tracking system, and poisably connect a web cam to replace the $&%#$^ CUMCam. I also want to be able to save a record of all inputs, motor outputs, and any other data I can so I can replay a match virtually to help identify problems.

EDIT: After looking through the gumstix models I’m leaning towards a Waysmall due to the serial ports.
Thanks,
Eric Haskins

Good idea man… I’ve seen gumstix for quite some time, must say it IS pretty well developed. But programming it will be quite challenging… not sure how helpful the samples/SDKs are.
Yes something with a serial port helps so that u can integrate easily with ur robot controller. Then perhaps with a CF card you can log data into it.
At 400 mhz, vision algorithms should work pretty decently (if they are optimised) but maybe not in full resolution and colour :wink: With only USB 1.1, you’re pretty limited to only 1 camera (due to bandwidth available) so stereoscopic vision may be out of reach here.

the camera that is used for the CMUCam is actually pretty good. It is just the board that comes with it that is crap. There was one team that had used a gumstix to chase the balls around in a “suitcase” bot. The guy modified it to directly connect to the camera without the board.

I think you are reffering to Eldarion from Team 81.

Is it just me or is the documentation on the gumstix virtually nonexistent? I can’t find any decent information on how to program it.

That’s my problem! I looked through their “SDK”, but it had almost no information on the actual programming. :confused: I was hoping someone had experience with gumstix/Linux programming.

I havent looked into it. Aint it just a sbc running linux. So you should be able to use C, C++, Perl, Python, etc. They have a dev wiki and SDK. Not sure how much info you are looking for.

Wiki: http://docwiki.gumstix.org/Main_Page

One of the big problems i’m having is figuring out how to program a linux compuer from windows. :ahh: I have look into flash drive sized versions of linux, but I only have a laptop and I can’t get them to boot :confused: . I think it is a hardware incompatibility.

I havn’t done any linux programming so I was hoping someone had some good resources for linux programming, but gumstix specific is better.

Neither have I looked into it. But you got to figure a way to output console text to the serial port, coz you got no screen. And you could use GCC to write your software.

Is it possible to use GCC/or other compilier on windows?

I need to start by saying that I have no experience with the Gumstick processor… however, I do have Linux and Linux-in-windowns programing (we use GCC for our secondary processor).

First, check out Cygwin, you can run many command-line linux applications in windows using this. It is essentially, a linux terminal you can run in windows.
Cygwin

My guess is that the Gumstick is programed with (or can be) with the standard GNU GCC C compiler. This along with the correct flash utility and Cygwin you should be able to do what you want.

If you still want to run Linux on your laptop, try a “Live” CD. I suggest Ubuntu or Knoppix

Hope this helps!

Thanks, I have started a Cygwin install, but I don’t have a gumstix yet. :frowning: Hopefully this will work.

Thanks for your help everybody! :slight_smile: :slight_smile:
Eric Haskins

first of all hi everybody here… first poster am i
Im using the gumstix and i can assure you wont regret getting one, at least just for fun.

For the cross compiler dont bother with windows and stuff… its more a prob than a solution… so… do a dual partition on that disk and install a fedora or the taste you want, (ubuntu requires more tuning but will do ok and after tuning it will last more and is more easy to use)
Yes there is no or little docs about gumstix… but the documentation itself isnt in the gumstix itself… you need the pinouts etc and some more tips.
You have for robotics… robostix (atmega 128 datasheet, you dont need more)
the gumstix itself is a bundled intel chip (again other datasheet) the rest of the stuff you dont have was already coded by a guy who in other words saved my project… he is Dave Hylands and always open for answering questions and there is a growing numbers of people on this. Forums arent that active, get a gmail account and sign to the newsletter (gmail because its easier to use)
And there is a LOT of code written already (most by Dave) which just rocks in simplicity and ease of use.
Believe me after some familiarization with linux you will go with no probs
hope this helps
cheers

I have used the Gumstix platform running Windows CE 5. If you do that you can actually develop fairly complex realtime control applications using the .NET Compact Framework. Check out the DrumStix Project for details on how to get CE up and running on the Gumstix.

If you pair the Gumstix running CE with a Robostix board you can create some pretty cool robot control systems.

What does it cost to get a gumstix running Windows CE?

I have used the Gumstix Connex 400xm - 400MHz XScale and 16MB of flash, which looks like it’s going for $129 now. You also need a “tweener” board which gives you a serial port as well as access to the JTAG lines. You will need an ARM JTAG programmer - you can build one yourself or buy one like this.

As far as software goes, you will need Microsoft Platform Builder (there is a free 120-day trial) and Visual Studio 2005 (for .NET CF development).

That will get you to where you can flash the Drumstix bootloader onto the Gumstix and begin building CE OS images. As long as your OS image includes the .NET CF runtime you can connect to the Gumstix with VS2005 and download applications.

I see… so you’re running of .NET framework? Wonder if there is any support for non .NET like VB/VC6 …

There is support in both Platform Builder and Visual Studio 2005 for developing native code. VS2005 supports native code development in C++ and this support will be greatly enhanced with VS2005 SP1.

There was a legacy product called eMbedded VB that allowed for VB6-like development for PocketPC, but support for that was dropped with the introduction of PocketPC 2003 and VB.NET with the .NET CF.

Thanks for showing me Drumstix. I have one question, do you know if VS.net 2003 would work? I only have the express editions of 2005, and since I’m on a limited budget for this I don’t want to go spend $500 on VS 2005.

I’m wondering why you would want to run CE when there is a perfectly good linux kernel that comes standard with these things.

I’ve decided to do all of my linux-for-robotics development in a scripting language. I haven’t decided yet (Python, Perl, Ruby) because I simply haven’t had the time to look into it. Robots typically follow a command structure which is constantly changing. It seems logical to use an easily changeable script to manage this, rather than cross compiling each time you want to change something.

As good as it this is, you will probably be able to get better efficiency from a compiled C program. Gumstix uses an intel chip so the standard GCC should be fine.

Keep us updated on your project.