【发布时间】:2023-04-03 21:45:01
【问题描述】:
我目前正在为我公司正在开发的消费电子产品开发操作系统。我已经决定将 freeRTOS 作为我们操作系统的主干,并且正在努力在操作系统中实现硬件功能。但是,我遇到了一个关于从 freeRTOS 中运行 3rd-party 应用程序的问题。
最初我认为一个任务是一个应用程序,基本上你有“myapplication.c”和“myapplication.h”包含你所有的应用程序必要的功能,代码将驻留在任务中的for(;;)循环中(充当主要的while循环)。然后,当用户决定运行该应用程序时,函数指针将传递给队列,然后我的 app_launcher 任务使用该队列来使用 3rd 方任务或应用程序创建新任务。
然而,这种方法的问题是操作系统已经被编译并驻留在微控制器上,并且应用程序可以根据用户认为合适的方式安装和删除......所以显然应用程序需要从操作系统编译和执行.在标准的 unix 机器上,我会使用 fork 之类的东西来选择可执行文件并为其提供自己的进程。但是我在 freeRTOS 中找不到类似的功能。我的另一个想法是使用脚本语言来开发应用程序,但我再次不确定如何启动这些应用程序...
所以问题是,我如何让 freeRTOS 运行来自 3 方开发人员的尚未融入操作系统的应用程序?
【问题讨论】:
-
这和 Lua 有什么关系?
-
我应该充分解释这一点。 Lua 是我正在寻找解决这个问题的脚本语言之一。感谢您提醒我注意我缺乏解释。
标签: c lua operating-system rtos freertos