Is anyone using Python for embedded applications?

dwhall dwhall256 at gmail.com
Sat Dec 16 15:27:14 EST 2006


Carl,

I'm the lead developer for PyMite (http://pymite.python-hosting.com).
I do quite a bit of embedded development with PyMite.  PyMite is for
much smaller target devices (8-bit and 32-bit microcontrollers) than
you plan to use.  I am currently writing a series of papers that will
attempt to draw attention to the growing demand to use Python in the
variety of embedded spaces.  A rough draft of the first part in the
series is seen here:

http://members.capmac.org/~deanhall/python/piesI.html

During research for the later parts of the series, I have found the
following links that relate to Python in embedded devices:

http://sourceforge.net/projects/pythonce
http://sourceforge.net/projects/dietpython
http://www.python.org/dev/summary/2006-09-16_2006-09-30/#shrinking-python
http://cs.gmu.edu/~eclab/projects/robots/flockbots/pmwiki.php?n=Main.Python
http://groups.google.com/group/comp.lang.python/browse_thread/thread/f3a8f9ac964d5b84/6922ac416664f002?lnk=gst&q=%22embedded+system%22&rnum=5#6922ac416664f002

regards,

!!Dean

Carl J. Van Arsdall wrote:
> Hendrik van Rooyen wrote:
> >
> >>
> >>
> >
> > It depends a *lot* on what is meant by "embedded" :
> >
> Ha, very true....
>
> > This definition seems to cover everything from:
> >     - a cut down PC in a non standard box, through
> >     - a processor in a Washing Machine, to
> >     - a bare PIC processor in a Burglar Alarm...
> >
> We are considering now are mobile phone and pocket pc-esque devices.  I
> know that several phones with arm processors are running an arm version
> of linux now, we're thinking how reasonable it might be to run python
> applications on a phone, and which python might best apply.  Is there a
> good way to determine the "minimum requirements" for a python
> application?  I'd imagine these might be something like the min
> requirements of python (cpython, pymite, etc) + additional requirements
> placed by the design of the application.  Is there a good way to study a
> python application and figure that type of thing out?
>
>
> > I think the main hassles are that you need something big enough
> > to run a reasonable OS in, and it must support being programmed in C,
> > (which most things do), and it must have some MegaBytes of RAM
> > loose for the Python. (where more is merrier)
> >
> > Trying to run this on say an AVR or 8031 with a 64k address space and
> > a scarcity of RAM, will, to say the least, be a bit of a challenge...
> >
> > As far as the OS goes, Linux is probably the best bet, if you can get it to
> > fit in your hardware - It has been ported to ARM type processors from
> > various companies (Atmel springs to mind), and is free, which is a help
> > in a personal project.  You could of course also roll your own kernel,
> > which will be good practice, as with a limited set of peripherals its not
> > THAT hard to do, but its a bit far away from Python -   :- )
> >
>
> Yea, we are thinking on the more robust end of the embedded side.  So a
> system capable of running Linux or Windows CE (or something similar)
> > What display device are you going to use, or is it going to be a webserver
> > sitting on a power over ethernet link?
> >
> > I haven't actually taken the plunge myself yet to put Python on any of the
> > hardware we make, as it seems to add a lot of overhead to a simple device
> > - but I come from the bottom up, as it were, and the idea is intriguing,
> > as I in fact discovered Python because it is embedded in a GPS module
> > we were evaluating for building into a device - so I will follow your
> > progress with interest...
> >
> >
>
>
> --
>
> Carl J. Van Arsdall
> cvanarsdall at mvista.com
> Build and Release
> MontaVista Software




More information about the Python-list mailing list