Deeply embedded Python still alive?

Peter Hansen peter at engcorp.com
Tue Mar 26 22:59:51 EST 2002


Grant Edwards wrote:
> 
> > On Tue, 26 Mar 2002 17:10:10 GMT, grante at visi.com (Grant Edwards) wrote:
> >
> >>The link I have for the Deeply Embedded Python port
> >><http://www.abo.fi/~iporres/python/> has been broken for
> >>several months now.  Anybody know what happened to that
> >>project?

> Further googling found this paper describing the project:
> 
>   http://www.tucs.fi/Magazin/Page.cgi?ID=2000.N2.LilDeEmPy

Thanks for the link, Grant.

In case anyone is remotely interested, between 1.5 and 1 year
ago we were deeply into porting Python to our own PC104-based
environment which at the time was a 386SX board with 1MB of
RAM and 1MB of flash, running at 33MHz.

For a variety of reasons, listed below, we abandoned the project
after prototyping and have since moved on to a higher powered
board (thankfully we had that option) running standard Linux
and standard Python, now with 32MB RAM and CompactFlash modules
(currently the image is around 24MB) on a 100MHz 486.

The main reasons for leaving the embedded effort were, in 
descending order of importance to us:

1. Non-standard persistent storage: 1MB flash could not
   be treated as a hard drive and code had to run from 
   RAM while reprogramming it.  With CompactFlash under
   Linux we just see a small hard drive and use open().

2. Performance: Python on a 33MHz 386 is just not the 
   fastest thing on the planet, and more to the point was
   insufficient for our needs.  If (1) hadn't been a
   killer this would have.

3. Cost of supporting our own proprietary port: I mean
   proprietary in the sense of we had to worry about it,
   not that it had to remain closed.  Going standard
   let's us get the application out faster and moves
   us faster towards contributing source back to the
   community (which in the interim I thank most earnestly
   for the shoulders we're standing on and ask patience
   for those like us who have to take time working on
   ancient corporate attitudes and first-to-market 
   concerns before we can give anything back).

The most beautiful thing about the whole effort is that
it took almost no effort to "port" our code from the 
experimental platform to the current one.  Python is 
easily the most portable language I've had the good fortune
to program in.  The only changes we made were for low-level
code which interfaced to a dual-port memory, the 
serial port interface code, and some low-level locking/
messaging code which we "mocked" for a while until we 
refactored and ditched the old stuff since it was made
almost entirely redundant by Queue and friends.

Just thought I'd share while we're on the subject...

-Peter



More information about the Python-list mailing list