tipos surgir sistemas qué pueden programables posibles para los ingenieria incrustados embebidos ejemplos diversidad complicaciones clasificacion c scripting embedded

surgir - ¿Qué es un buen lenguaje de scripting para un pequeño sistema embebido?



sistemas embebidos programables (9)

Estoy buscando un lenguaje de secuencias de comandos que pueda incluirse en un sistema integrado para permitir al usuario configurar previamente el comportamiento de la unidad en función de los eventos del sistema (cambios de puerto de E / S, eventos de tiempo ...). El tipo de control requerido es

if (some_event) { do some stuff delay N seconds do more stuff if (some condition) { do something } else { delay until condition do something else } }

Cada una de las partes de "hacer cosas" normalmente consistiría en cambiar el estado de la IO o permitir / rechazar el procesamiento de uno o más eventos.

No hay requisitos para el procesamiento de texto o el manejo de archivos a menos que la implementación del lenguaje de scripting lo requiera internamente.

El procesador que estoy usando tiene unos 8K de RAM y 20K de tienda de programas disponibles después de que se haya construido el código de operación normal. El firmware está escrito en C, por lo que cualquier fuente para el lenguaje de scripting también debe estar en C.



Hay cuatro idiomas bastante comunes para incrustar (sin ningún orden en particular):

De estos, Lisp y Forth son posiblemente los menos amigables para el usuario final. Actualmente, Lua parece ser el más popular (es muy popular en el mundo de los videojuegos), podría decirse que el Tcl es el más sencillo de aprender (solo 12 reglas para todo el idioma) y es el lenguaje de facto en el mundo EDA.


Le daría una oportunidad a Lua, ya que es un lenguaje de script muy pequeño. Puede ser totalmente integrado

Lua es un motor de lenguaje rápido con un tamaño reducido que puede integrar fácilmente en su aplicación. Lua tiene una API simple y bien documentada que permite una fuerte integración con el código escrito en otros idiomas. Es fácil extender Lua con bibliotecas escritas en otros idiomas. También es fácil extender programas escritos en otros idiomas con Lua. Lua se ha utilizado para extender programas escritos no solo en C y C ++, sino también en Java, C #, Smalltalk, Fortran, Ada, Erlang e incluso en otros lenguajes de scripting, como Perl y Ruby.

Página de inicio de Lua


Para sistemas embebidos, intente eLua .


También puedes probar JavaScript, el motor V8 de Google es muy fácil de incrustar. Además, el lenguaje en sí mismo es muy pequeño, por lo que puedes adaptarlo a algo que sea adecuado para tu dominio.



Una opción tradicional es Forth . Los sistemas embebidos pequeños, como los microcontroladores, son la plataforma elegida por Forth. Hay muchas implementaciones de Forth con diversas características, plataformas de destino y licencias. El Forth Interest Group tiene una lista de implementaciones comerciales e implementaciones no comerciales .



Lua es mi primera opción como lenguaje incrustado. Está escrito en C, es fácil exponer sus propias funciones a Lua, y por su aspecto, se ha realizado un trabajo para que funcione en sistemas integrados .