是否有可用的FreeRTOS解释语言库?

时间:2010-04-06 19:47:32

标签: embedded interpreter bytecode firmware freertos

我为一家使用FreeRTOS为多个设备创建固件的公司工作。最近,我们对新功能的要求超过了我们的固件工程师能够完成的工作量,但我们现在也无法雇用任何新功能。即使是微小的变化也需要固件人员进入并修改非常低的水平。

我一直在为FreeRTOS寻找某种解释性语言项目,让我们能够在更高层次上实现新功能。理想情况下,我想最终得到的东西让设备变得更接近通用计算机,我们编写驱动程序,而不是我们自己必须实现每个功能。

是否有任何解释java,python或类似字节码的FreeRTOS项目?

我看过google,但由于我自己不是固件工程师,所以我不确定我是否在寻找合适的关键字。

谢谢大家

4 个答案:

答案 0 :(得分:6)

如果代码是可移植的,我认为RTOS,甚至操作系统都不重要。取决于您的输入和输出方案,你可能需要做一些移植。

关于可嵌入脚本语言,我熟悉的是LUAPAWN

我认为有Python和版本的版本其他此类语言移植到嵌入式系统,但它们往往是嵌入式Linux。根据您的平台(不知道它是带有8K ROM或嵌入式PC的小型MCU)可能是一种选择。

答案 1 :(得分:2)

没有使用FreeRTOS或任何其他微控制器线程库(在e2e社区中被称为“RTOS”)的“解决方案”。

然而,我亲自在嵌入式系统中使用的语言(a)用C语言编写,(b)小到足以嵌入微控制器包括:

  • LUA(适用于几乎任何东西,甚至是一些PIC)
  • Python(适用于大多数ARM体系结构,无论如何,超过1mb ram)

我没有第一手经验,但Ruby可能像Python一样容易嵌入。

答案 2 :(得分:1)

您可以尝试为特定的微控制器或微控制器寻找任何解释器,而不是寻找特定于FreeRTOS的解释器。可以将它们与FreeRTOS连接起来或将解释器转换为任务。

似乎有人试图选择Lua on FreeRTOS(图32)。

答案 3 :(得分:0)

我想你的问题最终归结为找到提高低级RTOS机制之上的抽象级别的方法。虽然解释语言的工作方式可能比C语言更高,但通过应用基于事件驱动框架和状态机的方法,您可以做得更好。这种事件驱动的框架已经存在了几十年,并且已经在各种领域的无数嵌入式系统中得到证明。今天,几乎所有能够代码生成的嵌入式系统的建模工具(例如,Rational-Rose RT,Rhapsody等)都包含这种状态机框架的变体。

但事件驱动的状态机框架也可以在没有大工具的情况下使用。例如,QP状态机框架(state-machine.com)可以完成传统RTOS所能完成的所有工作,只能提高效率,加上RTOS无法做到的许多事情。

当您开始使用现代事件驱动的编程范例与状态机时,您的问题将会改变。您将不再为15级复杂的if-else语句而烦恼,并且您将不再担心信号量或其他此类低级RTOS机制。相反,您将开始考虑关于状态机和它们之间交换的事件的更高级别的抽象。在您体验到这一巨大飞跃之后,您将永远不会想要回到原始RTOS和意大利面条代码。

Miro Samek,state-machine.com