【问题标题】:Are there any FreeRTOS interpreted language libraries available?是否有可用的 FreeRTOS 解释语言库?
【发布时间】:2011-02-04 23:28:06
【问题描述】:

我在一家使用 FreeRTOS 为多个设备创建固件的公司工作。最近我们对新功能的要求已经超过了我们的固件工程师的工作量,但我们现在也雇不起任何新人。即使是微小的更改,也需要固件人员在非常低的级别上进行修改。

我一直在寻找某种适用于 FreeRTOS 的解释性语言项目,它可以让我们在更高级别实现新功能。理想情况下,我希望最终得到一些东西,这样设备就更​​接近于我们编写驱动程序的通用计算机,而不是我们必须自己实现每个功能。

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

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

谢谢大家

【问题讨论】:

  • 添加了嵌入标签,让这个问题更多曝光。

标签: embedded interpreter bytecode firmware freertos


【解决方案1】:

如果代码是可移植的,我认为 RTOS 甚至操作系统在这里并不重要。根据您的输入和输出方案,您可能需要进行一些移植。

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

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

【讨论】:

  • 同意。我在一个 1mb RAM 32 位嵌入式系统上使用了 Python 1.x,当时它很紧。 1mb ram 32 位嵌入式系统上的 Python 2.6 可能几乎是不可能的。
【解决方案2】:

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

但事件驱动的状态机框架也可以在没有大型工具的情况下使用。例如,QP 状态机框架 (state-machine.com) 可以做传统 RTOS 可以做的所有事情,而且效率更高,还有很多 RTOS 做不到的事情。

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

【讨论】:

  • 不,我认为他询问了脚本语言,而您已经给他讲了状态机的好处。状态机很棒。但它们不是 OP 所要求的脚本语言。
【解决方案3】:

目前没有“制造”以使用 FreeRTOS 或任何其他微控制器线程库(在 e2e 社区中被称为“RTOS”)的解释性语言。

但是,我在嵌入式系统中使用过的第一手语言包括:(a) 用 C 编写,(b) 小到可以嵌入到微控制器中:

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

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

【讨论】:

    【解决方案4】:

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

    似乎有人想找Lua on FreeRTOS (pic32)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-06-22
      • 1970-01-01
      • 2011-11-09
      • 1970-01-01
      • 2010-09-06
      • 2018-08-04
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多