Is anyone using Python for embedded applications?

2008-05-01 Thread Lori Welte
Hi Dean

 

I need a minimalist version of Python to run on a ColdFire-based
embedded system (written in C with no RTOS). It will be used by
mechanical engineers to test their servo and stepper motors. I need all
the basic features you are providing in PyMite.

 

I've managed to port PyMite and run a test trivial on my embedded
platform, but I am a bit confused about whether this is really what I
need.

 

I need an interactive Python interpreter running on my embedded...I will
be feeding it lines through my USB connection. It seems that PyMite is
not exactly what I'm looking for (?). I expected to be able to do
something like pm_run(abs(-1)) for example, but that doesn't work.
After reading carefully your docs, it seems like in fact that PyMite
should be used by writing Python programs on a PC, running your
PyImageCreator, then rebuilding the embedded with the native C code, and
downloading the image file to the embedded? Although this is pretty
nifty, this won't work for my needs.

 

Could you confirm that PyMite does not run like pm_run() =
PyRun_SimpleString() or if it does, what am I missing?

 

Thanks so much for all your excellent software

Lori Welte

firmwaregirl

--
http://mail.python.org/mailman/listinfo/python-list

Re: Is anyone using Python for embedded applications?

2006-12-16 Thread dwhall
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=gstq=%22embedded+system%22rnum=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
 [EMAIL PROTECTED]
 Build and Release
 MontaVista Software

-- 
http://mail.python.org/mailman/listinfo/python-list


Re: Is anyone using Python for embedded applications?

2006-12-13 Thread Andre Meyer

Not sure what your target embedded platform is, but there is a Python
version for the Nokia S60 mobile phone platform (Symbian).

http://s60.com/

Python for 
S60http://www.forum.nokia.com/info/sw.nokia.com/id/ee447e84-2851-471a-8387-3434345f2eb0/Python_for_S60.html
Python for S60 allows developers to execute Python commands and run Python
scripts and applications in devices based on S60 Platform. In addition,
developers can execute Python commands and scripts in the emulators of S60
Developer Platform SDKs. Development starts with an interactive console in a
S60 compatible device where Python commands can be executed.

hth
Andre

On 12/12/06, Carl J. Van Arsdall [EMAIL PROTECTED] wrote:


I'm aware of a couple python projects for embedded systems.  I am
currently considering using Python on an embedded platform to develop a
simple application as a personal project, mostly to see if it will
work.  I was wondering if anyone here was using python for anything of
that nature?  For those that are involved in these types of projects,
how does development in python differ for embedded projects versus a
non-embedded project?  Is there a community standard technique or style
for this type of development (i.e. heavy in OO design? commonly used
patterns?)  Are there any good tools to assist for this type of
development environment?

Oh, and if anyone has opinions/facts on why python should not be used in
an embedded platform, I'd like to know that too.  I'm somewhat familiar
with pythons needs on a system, but there are a number of things I am
not aware of.

Thanks to everyone for their input!

-carl

--

Carl J. Van Arsdall
[EMAIL PROTECTED]
Build and Release


--
http://mail.python.org/mailman/listinfo/python-list





--
Dr. Andre P. Meyerhttp://python.openspace.nl/meyer
TNO Defence, Security and Safety  http://www.tno.nl/
Delft Cooperation on Intelligent Systems  http://www.decis.nl/

Ah, this is obviously some strange usage of the word 'safe' that I wasn't
previously aware of. - Douglas Adams
-- 
http://mail.python.org/mailman/listinfo/python-list

Re: Is anyone using Python for embedded applications?

2006-12-13 Thread Paul Boddie
Hendrik van Rooyen wrote:

 It depends a *lot* on what is meant by embedded :

Indeed.

 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...

CPython doesn't span all these situations, but there are a few
different strategies involving Python:

  * A cut-down build of CPython, or perhaps just a recompiled or
cross-compiled build; this is good enough for some of the more
luxurious embedded devices. The Gumstix hardware is a
reasonable example:
http://www.gumstix.org/

  * A re-engineered version of CPython with things taken out or
optimised for simpler hardware. An example of this approach is
PyMite:
http://wiki.python.org/moin/PyMite

  * Software which isn't actually running in Python on the device but
which has been designed using Python. Projects like MyHDL and
WhatOS at least allow you to prototype things in Python:
http://myhdl.jandecaluwe.com/doku.php
http://www.sticlete.com/whatos/

[...]

 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...

Interesting! Any links, or is it related to the Telit hardware already
discussed?

Paul

-- 
http://mail.python.org/mailman/listinfo/python-list


Re: Is anyone using Python for embedded applications?

2006-12-13 Thread Carl J. Van Arsdall
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
[EMAIL PROTECTED]
Build and Release
MontaVista Software

-- 
http://mail.python.org/mailman/listinfo/python-list


Re: Is anyone using Python for embedded applications?

2006-12-13 Thread Hendrik van Rooyen
Paul Boddie [EMAIL PROTECTED] wrote:

 Interesting! Any links, or is it related to the Telit hardware already
 discussed?

telit it was...

- Hendrik

-- 
http://mail.python.org/mailman/listinfo/python-list


Is anyone using Python for embedded applications?

2006-12-12 Thread Carl J. Van Arsdall
I'm aware of a couple python projects for embedded systems.  I am 
currently considering using Python on an embedded platform to develop a 
simple application as a personal project, mostly to see if it will 
work.  I was wondering if anyone here was using python for anything of 
that nature?  For those that are involved in these types of projects, 
how does development in python differ for embedded projects versus a 
non-embedded project?  Is there a community standard technique or style 
for this type of development (i.e. heavy in OO design? commonly used 
patterns?)  Are there any good tools to assist for this type of 
development environment? 

Oh, and if anyone has opinions/facts on why python should not be used in 
an embedded platform, I'd like to know that too.  I'm somewhat familiar 
with pythons needs on a system, but there are a number of things I am 
not aware of. 

Thanks to everyone for their input!

-carl

-- 

Carl J. Van Arsdall
[EMAIL PROTECTED]
Build and Release


-- 
http://mail.python.org/mailman/listinfo/python-list


Re: Is anyone using Python for embedded applications?

2006-12-12 Thread Łukasz Langa
Check this out: http://www.telit.co.it/product.asp?productId=105 It works.

Regards,
Łukasz Langa
-- 
http://mail.python.org/mailman/listinfo/python-list

Re: Is anyone using Python for embedded applications?

2006-12-12 Thread [EMAIL PROTECTED]

Carl J. Van Arsdall wrote:
 I'm aware of a couple python projects for embedded systems.  I am
 currently considering using Python on an embedded platform to develop a
 simple application as a personal project, mostly to see if it will
 work.  I was wondering if anyone here was using python for anything of
 that nature?  For those that are involved in these types of projects,
 how does development in python differ for embedded projects versus a
 non-embedded project?

One place I used to work with opted for Stackless Python for embedded
work, so you might want to look at that depending on your constraints.

-- 
http://mail.python.org/mailman/listinfo/python-list


Re: Is anyone using Python for embedded applications?

2006-12-12 Thread Paul Rubin
Carl J. Van Arsdall [EMAIL PROTECTED] writes:
 Oh, and if anyone has opinions/facts on why
 python should not be used in an embedded platform, I'd like to know
 that too.  I'm somewhat familiar with pythons needs on a system, but
 there are a number of things I am not aware of. Thanks to everyone for
 their input!

I haven't done it myself but have considered it.  For one project
(cancelled before a real choice had to be made) I basically decided
CPython was too big for the application, both in memory footprint and
the amount of code in the interpreter that would have to be audited
and maintained.

Among other candidates, one of my favorites was Hedgehog Lisp:

  http://hedgehog.oliotalo.fi/

It's much smaller and simpler as Python, though with nowhere near as
many creature comforts.  Another possibility was a small JVM.
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: Is anyone using Python for embedded applications?

2006-12-12 Thread Hendrik van Rooyen
 Carl J. Van Arsdall [EMAIL PROTECTED] wrote:


 I'm aware of a couple python projects for embedded systems.  I am 
 currently considering using Python on an embedded platform to develop a 
 simple application as a personal project, mostly to see if it will 
 work.  I was wondering if anyone here was using python for anything of 
 that nature?  For those that are involved in these types of projects, 
 how does development in python differ for embedded projects versus a 
 non-embedded project?  Is there a community standard technique or style 
 for this type of development (i.e. heavy in OO design? commonly used 
 patterns?)  Are there any good tools to assist for this type of 
 development environment? 
 
 Oh, and if anyone has opinions/facts on why python should not be used in 
 an embedded platform, I'd like to know that too.  I'm somewhat familiar 
 with pythons needs on a system, but there are a number of things I am 
 not aware of. 
 
 Thanks to everyone for their input!
 

It depends a *lot* on what is meant by embedded :

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...

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 -   :- )

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...

- Hendrik

-- 
http://mail.python.org/mailman/listinfo/python-list