GCC 3.3.2 includes numerous new features, improvements, bug fixes, and other changes. Grab it here. Additionally, this interview at WindowsForDevices is with a young Russian programmer who earlier this year launched a project to port the open source GCC C/C++ compiler and supporting tools (library, manager, linker, etc.) to Windows CE and the Pocket PC platform. The result, according to Vitaliy Pronkin, the project’s founder, is that it is now possible to develop applications directly on a Pocket PC PDA using the standard C/C++ programming language. Specifically, source code written in eVC (MFC isn’t supported yet) can be built and then executed directly on the Pocket PC (or other Windows CE device) without conversion or additional runtimes.
When people cheerlead for the Zaurus, and I made a reply pointing out that all of those things can be done on the Zaurus, the one thing that I couldn’t come back that WinCE did as well with was a C compiler. All of the other stuff- SSH, VNC, writing code, wardriving/walking/biking, etc- can be done on WinCE, and in some cases is actually done better on WinCE than it is on the Zaurus. For instance, writing, compiling and viewing LaTeX docs- it’s easy to do on WinCE, with a decent app that integrates it all, but on the Zaurus, you’re stuck with a lot of configuring and writing code in vi rather than integrating with the Qtopia environment. Eww.
Someone did a port of GCC to MIPS/WinCE a while back, but since everyone is using ARM processors now a days, that was pretty useless. Not sure of the usefulness of this project, but certainly someone will get something out of it!
I for one do a fair amount of coding all on the WinCE device, never needing to get a desktop to intervene. No, I don’t have a Windows desktop. Smalltalk, Python, Java, Perl/tk and a number of other languages are all available on WinCE- meaning you can do development without a Windows desktop or MS SDK.
A closed OS can never allow a person to do everything that a Free OS can.
Anyways, you really should be comparing WinCE to Qtopia, not the Zaurus. The Zaurus and PocketPCs both have alternative OSs.
“No, I don’t have a Windows desktop.”
Are you able to synch with it very well in Linux, OS X, or whatever desktop you’re using?
RevAaron: Someone did a port of GCC to MIPS/WinCE a while back
Do you know where this is? The only C compiler for CE/MIPS I’ve found is based on LCC, and doesn’t generate real CE apps – it does native code, but apps must be loaded from the development environment. I could really use a GCC, or even just something that can generate WinCE compatible PE binaries. An assembler would do if it came with source code that I could adapt.
My main PDA now is an old Compaq Aero with a MIPS processor. I have an HP Jornada 820 with a StrongARM, but it is too large to carry around. Please don’t suggest that I buy a real PDA – I have more time than money.
Do you know where this is?
The original page is down, but a simple google search for “gcc wince” yielded-
http://www.innonet.at/~wisi/wincegcc.html
The page by the original porter seems to be down, but perhaps archive.org has information if you need something from his site.
Thanks, the page worked for me! I’ll see what I can do from here. This should be fun.
Are you able to synch with it very well in Linux, OS X, or whatever desktop you’re using?
Nope!
But then again, I don’t need to sync. I don’t sync my Zaurus or WinCE machine. Then again, I’ve never sync’d any PDA I owned, with the exception of two Palm models, but then again, that is a neccessity on a POS machine (and will be for the near future), while the Zaurus and WinCE machines are really more like stand alone computers.
PocketPC are a little more dependent on desktops, but that seems to be intentional, a decision of what to provide the user on the device- regular WinCE does fine, and PPC is based on WinCE. That said, when I had a PocketPC (an iPAQ 3150 for a while- PPCs have too small of a screen for me), I mostly did fine without a desktop, Windows or otherwise. I did have to take the iPAQ to work once, so I could install the driver for my wifi card. After that, I did everything without a desktop. By the time I got my next WinCE device, I didn’t even need to do that- I had a CF card reader on my Mac, and I just copied the CAB file with the card’s driver.
While I may not sync with a desktops, but I have ways of backing up and the restoring data. I can also export, to HTML or XML, making it avaiable if need be.
I can get to a Windows box at work, and at home I have OS X and Linux machines available, although my primary machine is a PDA.
but fyi-
The newer Zaurus software cannot sync with Linux, which is ironic and sad indeed- only Windows sync is supported. Sharp changed the whole way the PIM apps work on the back end and didn’t update the There is no method of syncing the Zaurus with OS X, at least for the near future- although you can copy files using the USB cable. Another irony- the USBnet driver for OS X is a lot more reliable and stable than the USBnet driver for Linux. Who knew!
For Windows CE, you can sync with Windows and Mac OS. I don’t know if there are solutions for Linux yet. But, when I used a Jornada 720 as my primary computer last year, there were times when I wanted to make my contacts available to other folks. No need to sync- I simply wrote a little script that went into the WinCE Addressbook database, asked for all records, and output it to pretty HTML. If I needed a sync tool, I could’ve gone to the next level, put another hour of work into it, and made it output XML- and import XML from some other addressbook.
Turns out the MIPS tools are hosted on Linux. Adapting them to WinCE would take more time than even I have. If I have to develop on the host, I might as well use eVC on the Windows host I already have.
With any luck, that young Russian will post the source to his changes (as required by the GPL I suppose). It looks like the tools may run on my Jornada – that would make it more useful.
Check out SynCE if you have a PocketPC machine:
http://www.synce.sourceforge.net
It doesn’t have full support for all PocketPC features, but allows you to transfer files, sync contacts, install programs, and act as a network router for the PocketPC device.
I was able to successfully compile binutils-2.14 with gcc-3.3.2 with a target of arm-wince-pe. Produced working binaries Good work guys!
but fyi-
The newer Zaurus software cannot sync with Linux, which is ironic and sad indeed- only Windows sync is supported. Sharp changed the whole way the PIM apps work on the back end and didn’t update the There is no method of syncing the Zaurus with OS X, at least for the near future- although you can copy files using the USB cable. Another irony- the USBnet driver for OS X is a lot more reliable and stable than the USBnet driver for Linux. Who knew!
Which is why, when my Handspring Visor died a month or so ago, I bought a Sony Clie`. I would love a Zaurus, but being able to sync with Windows, OS X and Linux is a must for me.
Did you use the regular GCC/binutils source? What platform are you hosting on? Did you have to do anything clever to get this to work?
I only ask because Vitaliy Pronkin’s site mentions GCC 3.2 and binutils 2.13. Did his changes get accepted into the main branch? If so, my earlier comment about source availability would be moot.
I would like to try this cross-compiling with Cygwin…