Secuencias de comandos del sistema incrustado [cerrado]

7

¿Alguien tiene algunas ideas interesantes para el uso de un lenguaje de scripting en un sistema integrado? Estoy pensando en el proyecto eLua específicamente.

Básicamente, necesita un micro con al menos 64k de RAM, 256k de Flash, la biblioteca Newlib C y un compilador gcc (AVR32, ARM7, Cortex-M3 son compatibles ahora mismo entre otros), y puede enviarlo (o programarlo para cargar) scripts. No necesita un sistema operativo, pero le permite usar su micro (que es demasiado pequeño para Linux incorporado) mucho más como un dispositivo informático de propósito general, al permitir que se ejecuten programas que no están almacenados en la memoria del programa.

El proyecto actual tiene varias aplicaciones de ejemplo, pero ninguna de ellas parece hacer nada que no puedas hacer con un programa grabado en Flash. La gran diferencia que puedo ver es que puedes enviar cada programa por separado y ejecutar diferentes programas sin reiniciar. Además, puede usarlo de manera interactiva (Cambie el flujo de su programa con sus decisiones en el teclado, en lugar de tener que codificar todo.

¿Cómo usarías un dispositivo así? ¿Le daría un teclado y un LCD de caracteres, y escribiría sus propios guiones mientras estaba sentado en su escritorio? ¿Simplemente usaría el lenguaje de scripting para simplificar la programación de aplicaciones más complejas? (¿Te gustan los juegos actualmente disponibles en el sitio del proyecto?) ¿O harías algo completamente diferente? Estoy empezando y buscando ideas para proyectos.

Editar : puede enviar programas a través del protocolo que desee utilizar (UART, SPI / I2C, USB, Ethernet), cargarlos desde una tarjeta SD, independientemente de lo que admita su chip. Solo quería aclarar que no tenía que estar en un entorno amigable con la reprogramación.

Edit2 : la mayoría de mis proyectos son para mi uso personal o para compartir con amigos con ideas afines, que a menudo no se venden al público en general. Espero que los usuarios de mis proyectos estén interesados y familiarizados con los sistemas integrados, y sean capaces de aprender el uso rudimentario de un lenguaje de scripting sin demasiados problemas. Podría usarlos en la casa o en el auto, o más probablemente en la tienda como asistente para diseñar y depurar más proyectos nuevos. También podría proponerlo a mi jefe en el trabajo, donde fabricamos y diseñamos sistemas integrados. O, podría usarlo en un proyecto de ingeniería para la escuela.

    
pregunta Kevin Vermeer

4 respuestas

6

Estoy planeando incrustar un lenguaje de scripting en mi pequeño dispositivo de búsqueda de mi madre (finalmente estoy progresando nuevamente, espero tener un prototipo funcional por parte de Detroit Maker Faire el próximo mes).

Es una pequeña plataforma con GPS, brújula, tarjeta SD y zigbee que está destinada a ayudar a hacer un seguimiento de mis hijos más pequeños en los grandes parques y a darles una forma de encontrarme fácilmente cuando me necesiten.

El lenguaje de secuencias de comandos integrado proporcionará un recinto de seguridad protegido donde aplicaciones simples, como juegos, mapas, programas de geocaching o juegos de varios jugadores (varios niños, cada uno con una unidad, pueden jugar versiones mejoradas de capturar la bandera, ocultar y buscar, etiquetar , etc.) sin afectar la función básica de poder rastrear a mis hijos. Estos irían en la tarjeta SD como archivos de texto para que puedan editarse y actualizarse fácilmente sin ningún hardware o software especial.

Hay muchas otras formas y razones para usar un lenguaje de scripting en sistemas integrados, pero para ver cómo o por qué podría encajar en sus necesidades, deberíamos entender más sobre su sistema en particular.

    
respondido por el Adam Davis
8

He investigado eLua y también un intérprete Python integrado para algunos proyectos en los que estoy trabajando en mi trabajo diario. Estamos desarrollando un sistema de control de base, pero estos sistemas salen y se personalizan ampliamente en el campo. En lugar de requerir el uso final para agregar módulos de procesamiento adicionales, les permitimos configurar nuestro sistema y, en algunos casos, escribir sus propias características. Ya que es prohibitivo que los usuarios finales vuelvan a aparecer en el campo (podrían fácilmente bloquear las cosas), proporcionamos una interfaz de scripting.

Actualmente, tenemos un lenguaje propietario que se compila en bytecode y se agita en orden por el núcleo, pero estamos tratando de hacer que las cosas sean más compatibles con los estándares y más fáciles de mantener.

Aquí hay una comparación de diferentes lenguajes interpretados que pueden ejecutarse en 'bare metal': enlace

En general, una vez que el dispositivo se ha flasheado una vez en la fábrica, no queremos tener que volver a flashear. Es lento, propenso a errores y difícil para los usuarios finales. Para extender la funcionalidad después de la producción, algún tipo de extensión de scripting es una buena solución.

    
respondido por el AdamShiemke
2

Echa un vistazo enlace

Enumera muchos lenguajes de secuencias de comandos diferentes para el AVR de Atmel, incluida una llamada Pythite PyMite enlace y enlace

    
respondido por el cjh
1

Algunos proyectos e ideas con eLua se guardan en la wiki de eLua User Labs en enlace v0.8 saldrá del horno en algún momento de este mes (enero de 2011).

    
respondido por el user2661

Lea otras preguntas en las etiquetas