7 votos

El sistema integrado de secuencias de comandos

¿Alguien tiene algunas ideas chulas para un uso de un lenguaje de secuencias de comandos en un sistema embebido? Estoy pensando en el eLua proyecto específicamente.

Básicamente, usted necesita un micro con al menos 64 kb de RAM, 256 kb de memoria Flash, los Newlib biblioteca C y un compilador gcc (AVR32, ARM7, Cortex-M3 son compatibles ahora mismo entre otros), y se puede enviar (o el programa que se carga) secuencias de comandos. No necesita un sistema operativo, pero te permite usar tu micro (que es demasiado pequeño para Linux embebido) mucho más como un dispositivo de computación de propósito general, permitiendo que los programas no brilló en la memoria del programa a ejecutar.

El proyecto actual tiene una serie de ejemplos de aplicaciones, pero ninguno de ellos parece hacer nada que no pueda hacer con un programa grabado en la memoria Flash. La gran diferencia que yo veo es que puede enviar cada programa por separado, y ejecutar diferentes programas sin reinicio. Además, se puede utilizar de forma interactiva (Cambiar su flujo de programa con sus decisiones en el teclado, en lugar de tener que codificar todo.

¿Cómo se utiliza un dispositivo de este tipo? Le daría un teclado y caracteres de la pantalla LCD, y escribir sus propios scripts mientras se sentaba en su escritorio? Podría simplemente utilizar el lenguaje de secuencias de comandos para simplificar la programación de aplicaciones más complejas? (Como los juegos disponibles en el sitio del proyecto?) O tendría que hacer algo completamente diferente? Estoy comenzando con esto y buscando ideas de proyecto.

Edit: Usted puede enviar programas a través de cualquier protocolo que desea utilizar (UART, SPI/I2C etc., USB, Ethernet), cargarlos desde una tarjeta SD, cualquiera que sea su chip soporta. Sólo quería aclarar que no tiene que ser en una reprogramación de un ambiente amigable.

Edit2: la Mayoría de mis proyectos son para mi uso personal, o para compartir con amigos de ideas afines, no a menudo a la venta para el público en general. Espero que los usuarios de mis proyectos a estar interesado en y familiarizado con los sistemas embebidos, y capaz de recoger el rudimentario uso de un lenguaje de secuencias de comandos sin demasiados problemas. Yo podría usar de ellos alrededor de la casa o en el coche, o más probablemente en la tienda como un auxiliar para el diseño y depuración de nuevos proyectos. Yo también podría proponer a mi jefe en el trabajo, donde nos fabricación y diseño de sistemas embebidos. O, yo podría utilizar en un proyecto de ingeniería para la escuela.

8voto

He mirado en eLua y también un intérprete de python para algunos proyectos en los que estoy trabajando en mi trabajo diario. Estamos desarrollando una base de sistema de control, pero estos sistemas de salir y son personalizados ampliamente en el campo. En lugar de requerir el uso final para añadir módulos de procesamiento, que les permita a configurar nuestro sistema, y en algunos casos, a escribir sus propias características. Ya que es prohibitivo para tener los usuarios finales flashear en el campo (que fácilmente podría ladrillo cosas), nos proporcionan una interfaz de secuencias de comandos.

En la actualidad, tenemos una propiedad del lenguaje que se compila a bytecode y batió a través de la orden por el kernel, pero estamos tratando de hacer las cosas más compatibles con los estándares y fáciles de mantener.

He aquí una comparación de los diferentes lenguajes interpretados que se pueden ejecutar en 'metal desnudo': http://stackoverflow.com/questions/1082751/what-are-the-available-interactive-languages-that-run-in-tiny-memory

Generalmente, una vez que el dispositivo ha sido flasheado una vez en la fábrica, no queremos tener que flashear. Es lento, propenso a errores, y es difícil para los usuarios finales. Para extender la funcionalidad después de la producción, una especie de extensión de secuencias de comandos es una buena solución.

6voto

Federico Builes Puntos 1940

Estoy pensando en la incorporación de un lenguaje de secuencias de comandos en mi pequeña mamá-encontrar-me de dispositivo (por fin avanza de nuevo, la esperanza de tener un prototipo de trabajo por el Detroit Maker Faire mes siguiente).

Es una pequeña plataforma con GPS, brújula, tarjeta SD, y zigbee que se supone que es para ayudar a mi hacer un seguimiento de mis menores hijos en los parques grandes, y para darles una forma fácil de encontrar en mí cuando me necesitan.

El lenguaje de scripts proporcionará un recinto de seguridad protegida donde las aplicaciones simples, tales como juegos, mapas, geocaching programas o juegos multijugador (varios niños, cada uno con una unidad puede reproducir versiones mejoradas de capturar la bandera, ocultar y buscar, etiqueta, etc) sin afectar a la función de base de ser capaz de rastrear a mis hijos. Estos irían en la tarjeta SD como archivos de texto para que puedan ser fácilmente modificado y actualizado con ningún hardware o software especial.

Hay un montón de otras maneras y razones para el uso de un lenguaje de secuencias de comandos en sistemas embebidos, pero en fin a ver cómo o por qué podría encajar en sus necesidades, nos gustaría tener que entender más acerca de su sistema en particular.

2voto

rix0rrr Puntos 221

Echa un vistazo http://en.wikibooks.org/wiki/Atmel_AVR#Firmware_Programming

Las listas de muchos diferentes tipos de lenguajes de secuencias de comandos para el Atmel AVR, incluyendo un mínimo de python llamada PyMite http://wiki.python.org/moin/PyMite y http://code.google.com/p/python-on-a-chip/

1voto

andy47 Puntos 542

Algunos proyectos e ideas con eLua se mantienen en el eLua Usuario de los Laboratorios de la wiki en http://wiki.eluaproject.net v0.8 está saliendo del horno en algún momento de este mes (enero de 2011).

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X