Pregunta

Yo trabajo para una compañía que creó el firmware para varios dispositivos utilizando FreeRTOS.Últimamente nuestra solicitud de nuevas características ha superado la cantidad de trabajo de nuestros ingenieros de firmware son capaces de hacer, pero nosotros no puede permitirse el lujo de contratar a alguien nuevo a la derecha ahora.Haciendo que incluso los pequeños cambios que requiere el firmware a la gente a entrar y modificar las cosas a un nivel muy bajo.

He estado buscando algún tipo de lenguaje interpretado proyecto para FreeRTOS que nos permitirá implementar nuevas funcionalidades en un nivel superior.Idealmente me gustaría conseguir las cosas, eventualmente, de modo que los dispositivos se vuelven más cerca genérico ordenadores con nosotros escribiendo los conductores, en lugar de tener que implementar cada una de las características de nosotros mismos.

Hay FreeRTOS proyectos que interpretar java, python o similares de código de bytes?

He mirado en google, pero como yo no soy un ingeniero de firmware yo no estoy seguro de si yo estoy buscando las palabras clave adecuadas.

Gracias a todos

¿Fue útil?

Solución

No creo que el RTOS, o incluso el sistema operativo, importa demasiado aquí si el código es portátil. Dependiendo de su sistema de entrada y salida, es probable que tengas que hacer un poco de portabilidad.

En cuanto a los lenguajes de script puede integrar, 2 Estoy familiarizado con son LUA y Hipoteca .

Creo que hay versiones de Python y otros lenguajes tales portado a sistemas embebidos, pero tienden a ser la variedad Linux embebido. Dependiendo de la plataforma (ni idea de si es un poco MCU con 8K ROM o un PC integrado) que podría ser una opción.

Otros consejos

No hay Todos los lenguajes interpretados por ahí que son "hechos" para FreeRTOS uso, o cualquier otra biblioteca microcontrolador roscado (vagamente llamado 'RTOS' dentro de la comunidad E2E).

Sin embargo, las lenguas que tengo experiencia de primera mano utilizando en sistemas embebidos que son (a) escrito en C, y (b) lo suficientemente pequeño para incrustado en un microcontrolador son:

  • LUA (apto para casi cualquier cosa, incluso algunos PICs)
  • Python (adecuado para la mayoría de las arquitecturas ARM, de todos modos, con más de memoria RAM de 1 MB)

No tengo experiencia de primera mano con él, pero Rubí puede ser tan fácil de integrar como Python.

En lugar de buscar FreeRTOS específicas de intérpretes, es posible que intente buscar alguna intérpretes para su microcontrolador en particular, o microcontrolador en general. Podría ser posible para interactuar con FreeRTOS o gire el intérprete en una tarea.

Parece que hay alguien tratando de ir para Lua en FreeRTOS (PIC32).

Supongo que tu pregunta se reduce en última instancia a la búsqueda de maneras de aumentar el nivel de abstracción por encima del bajo nivel RTOS mecanismos.Mientras que tal vez es cierto que los lenguajes interpretados trabajar en algo el nivel de abstracción mayor que C, se puede hacer mucho mejor que la que mediante la aplicación de métodos basados en el evento impulsado por marcos y máquinas de estado.Dicho evento impulsado por marcos han existido por décadas y ha sido demostrado en innumerables sistemas embebidos en todo tipo de dominios.Hoy en día, prácticamente cada herramienta de modelado para sistemas embebidos capaz de generación de código (por ejemplo, Racional-Rose RT, Rhapsody, etc.) contiene una variante de un estado-máquina de marco.

Pero el evento impulsado por el estado de la máquina de marcos se puede utilizar también sin grandes herramientas.La QP de la máquina de estado marcos (state-machine.com), por ejemplo, hacer todo lo que una convencional, RTO puede hacer, sólo que de manera más eficiente, además de muchas cosas que un RTOS no puede.

Cuando se inicia el uso de las modernas evento impulsado por el paradigma de la programación con máquinas de estado, sus problemas va a cambiar.Usted ya no lucha con 15 niveles de contorneado if-else, y usted dejará de preocuparse por semáforos u otros de bajo nivel RTOS mecanismos.En su lugar, voy a empezar a pensar en un nivel más alto de abstracción acerca del estado de las máquinas y de los eventos que se intercambian entre ellos.Después de experimentar este salto cuántico, usted nunca va a querer volver a la cruda RTOS y los espaguetis código.

Miro Samek, state-machine.com

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top