Give One Get One laptop for software development

M. Edward (Ed) Borasky znmeb at
Sun Dec 23 15:50:06 EST 2007

Danilo Câmara wrote:
> I'm a student at State University of Campinas, Brazil. I'm researching
> efficient implementation of Elliptic Curve Cryptography in constrained
> environments. I'm working with an ARM XScale PXA270 platform but would
> like also to work with a x86-based constrained platform. I think the
> OLPC laptop is an interesting option for many reasons.
> I'd like to know if one of those laptops of the Give One Get One program
> are suitable for software development? I guess so, but would like to be
> sure.

How are you going to get an XO? The Give One Get One program is only in
the USA and Canada, and the other units go to young children.

Assuming that you can obtain one, there are two ways to develop for the XO:

1. Cross-develop on a more powerful platform, download the software to
the XO, and test it.

2. "Native" develop and test on the XO itself.

The XO as currently shipping does *not* contain a development tool set
other than Python and Etoys, which is a version of Squeak, which is a
Smalltalk IDE. In particular, there is no Perl interpreter on the XO,
and there is not GCC or any of the conventional Linux development tool set.

On top of that, there is very little room on the XO's base flash hard
drive (1 GB) for any additional software at the system level. As a
consequence, I think you'd want to either cross-develop using the
standard GNU/Linux tools, or use a more compact development tool set on
the XO itself.

I recommend Forth for the "compact development tool set on the XO
itself". The stock Fedora "gforth" package should work, although I've
only tested it on an emulated XO -- my physical unit has not arrived
yet. And there is a version of Forth that is more or less "XO-native" --
it's a port of the boot firmware to run in the Linux environment.

> Do I need any special hardware or cable to connect to the OLPC laptop
> from my desktop? A telnet or SSH connection is all I need.

Yes ... once you set the "root" and "olpc" passwords on the unit itself,
you can "ssh" in over either the wireless network or via a USB standard
Ethernet connection. I don't believe the "telnet" server is there --
nobody I know uses telnet any more because it's insecure.
> I want real timings, so I think an emulated solution would not be
> suitable.

Well ... I guess that depends on how good your emulator is. But the
Geode is more like an Athlon than anything else -- I think it has MMX
and 3DNOW! but not SSE or 3DNOWEXT or any later SSE instruction sets.
That's one of the reasons I think you might want to look at Forth --
it's a complete IDE, it has an assembler built in, and it's pretty easy
to profile Forth code at the chip level. That's tough to do in C because
of the edit-compile-link-run cycle. BTW, gForth works just fine on the
XScale. :)

Oh, yeah -- one other question -- how are you doing elliptic curve
crypto on the XSCale? Isn't it floating-point intensive?

More information about the Devel mailing list