Log in

View Full Version : Gumstix Programming


EHaskins
01-10-2006, 22:20
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 :( , 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

yongkimleng
01-10-2006, 23:53
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 :( , 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 ;) 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.

X-Istence
02-10-2006, 05:32
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.

chris31
02-10-2006, 08:22
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.

Adam Y.
02-10-2006, 08:56
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.

EHaskins
02-10-2006, 10:47
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.

chris31
02-10-2006, 11:31
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

EHaskins
02-10-2006, 11:42
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.

yongkimleng
02-10-2006, 12:32
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.

EHaskins
02-10-2006, 13:18
Is it possible to use GCC/or other compilier on windows?

Mike Shaul
02-10-2006, 13:25
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 (http://www.cygwin.com/)

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 (http://www.ubuntu.com/) or Knoppix (http://www.knoppix.com/)

Hope this helps!

EHaskins
02-10-2006, 13:45
Thanks, I have started a Cygwin install, but I don't have a gumstix yet. :( Hopefully this will work.

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

rsosa
05-10-2006, 12:21
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

fowlerm
12-10-2006, 23:50
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 (http://www.gotdotnet.com/Workspaces/Workspace.aspx?id=df0ed5bb-f1b0-437b-b8cf-0fd690d3a547) 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.

EHaskins
13-10-2006, 11:07
What does it cost to get a gumstix running Windows CE?

fowlerm
16-10-2006, 14:28
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 (http://www.sparkfun.com/commerce/product_info.php?products_id=275).

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.

yongkimleng
16-10-2006, 23:48
I see.. so you're running of .NET framework? Wonder if there is any support for non .NET like VB/VC6 ...

fowlerm
17-10-2006, 10:24
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 (http://www.microsoft.com/downloads/details.aspx?familyid=f663bf48-31ee-4cbe-aac5-0affd5fb27dd&displaylang=en) 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.

EHaskins
17-10-2006, 17:52
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.

Tom Bottiglieri
17-10-2006, 19:06
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.

EHaskins
17-10-2006, 22:52
I have used .NET a lot, and I don't even have a Linux machine! If I'm going to spend $200-$500 on a gumstix I want to know I can use it.

fowlerm
18-10-2006, 10:07
I have one question, do you know if VS.net 2003 would work?
VS2003 will work, but only for developing managed applications and you will only be able to target .NET CF 1. There is a VS2003 add-in called Windows CE Utilities that you need to install to be able to connect directly to the CE device for debugging.

If you need to develop native apps you can download eMbedded VC++ (http://download.microsoft.com/download/a/7/3/a735c7fb-dcbd-429f-9090-d09b3b15d3fa/evc4sp4.exe), which is free.

Edit: I forgot - doesn't VS2005 Standard come in the FIRST KoP?

fowlerm
18-10-2006, 10:50
I'm wondering why you would want to run CE when there is a perfectly good linux kernel that comes standard with these things.
The biggest reason is that it provides a powerful and stable OS (not to say that Linux isn't) that many developers would be more familiar with. CE shares many of the same SDK features as Win32, and the .NET CF makes it even easier to transition from desktop to embedded development.

It seems logical to use an easily changeable script to manage this, rather than cross compiling each time you want to change something.
This isn't really an issue since .NET can dynamically load assemblies. Also there are many scripting languages that will work with the .NET CF. As soon as the .NET CF includes the System.Reflection.Emit namespace I will be doing most of my robotics development using IronPython (Python for the .NET CLR).

As good as it this is, you will probably be able to get better efficiency from a compiled C program.
This is true, but there are many things that you can do to speed up your applications. The biggest issue is memory consumption (because of the JIT compiler), but with good coding this can be minimized. For a comparison of execution speed of the .NET CF 2 vs. native code on the PXA255 CPU this (http://blog.opennetcf.org/ctacke/binary/JITtedCodeSpeed.htm) is a great article. Also, the .NET CF can invoke native methods from managed code, so you always have the option of mixing managed and native code to speed things up.

lupjohn
18-10-2006, 15:52
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 :( , 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

Eric and all;
Microsoft has intro'd their robotics suite which drew dubious comments in previous threads. However I have read the interviews in several pubs and actually downloaded the August edition to play with. It would seem to me if this product is successful then the gumstix/winCE/VS2005( or facimile of the same) environment could be in the future of at least FRC. I would not be supprised if the DVD of the Robotic Studio ends up in the KOP for 2007. First's close ties with MIT would predict that some sort of global robotics software environment will eventually become part of the KOP of the near future. LRU.

fowlerm
23-10-2006, 15:47
It would seem to me if this product is successful then the gumstix/winCE/VS2005( or facimile of the same) environment could be in the future of at least FRC. I would not be supprised if the DVD of the Robotic Studio ends up in the KOP for 2007.
I don't think this will happen any time soon. MSRS doesn't have runtime support for Windows CE yet, so you would need to have Windows XP Embedded (and a 32-bit PC) running on your robot, which isn't practical at all.

If we were to get any of the new Microsoft development technology to play with next year I would think that it would be the .NET Micro Framework, but this is unlikely. The IFI RC would require different hardware and I don't think Microchip would be too receptive to moving away from their microcontroller line.

Max2007
28-11-2006, 16:44
All,

Totally new to the world of robotics, but have been doing some reading and the gumstix looks like a good starting place , as its a new chip. Most of the pre-built bots I seem are all based around PIC chips, which seem very old now.

Looking at this thread it seems some people have been able to get the gumstix working with .NET, which for me is good news as that my background. Would be could if someone could PM or post an idiot guide to how to do this and what stix they bought. As the idea of linux is one I would like to avoid

Thanks in advance

M

gobeavs
01-12-2006, 01:46
If I'm familiar with linux (gui and command line), is a gumstix easy to get running? Or is there some setup that needs to be done or any kind of learning curve?

fowlerm
02-12-2006, 14:22
If I'm familiar with linux (gui and command line), is a gumstix easy to get running? Or is there some setup that needs to be done or any kind of learning curve?
You shouldn't have any problem. The Gumstix boards come preloaded with u-boot (the bootloader) and a 2.4.x kernel. I am not that familiar with the other Linux software that's included since I reflash them with a CE image as soon as I get them.

fowlerm
04-12-2006, 10:21
Would be could if someone could PM or post an idiot guide to how to do this and what stix they bought.
I don't have a setup guide for Windows CE on the Gumstix. I may write one in the future, but right now you can look at the documentation that others have contributed to the GotDotNet workspace (http://www.gotdotnet.com/Workspaces/Workspace.aspx?id=df0ed5bb-f1b0-437b-b8cf-0fd690d3a547) for the Drumstix project.

See the above posts for hardware requirements.