Is anyone using Python for embedded applications?
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?
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?
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?
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?
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?
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?
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?
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?
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?
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?
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