Running applications from freeRTOS

I am currently developing an OS for consumer electronics products that my company is developing. I settled on freeRTOS as the basis for our OS, and I diligently perform hardware functions in the OS. However, I had a problem launching third-party applications from FreeRTOS.

Initially, I considered the task to be an application, where basically you had "myapplication.c" and "myapplication.h" containing all your applications, the necessary functions, and the code will be inside the for (;;) loop in the task (acting as the main cycle). Then, when the user decides to run this application, the function pointer is queued, which my app_launcher task is then used to create a new task using a third-party task or application.

However, the problem with this approach is that the OS will already be compiled and located on the microcontroller, and the applications that will be installed and uninstalled as the user sees fit ... Therefore, it is obvious that the applications must be compiled and executed from the OS On a standard unix machine, I would use something like fork to select the executable and give it my own process. However, I cannot find similar functionality in freeRTOS. My other idea is approaching the scripting language for application development, but again I am not sure how to run these applications ...

So the question is, how do I get freeRTOS to run applications from third-party developers that are not yet baked into the OS?

+3
source share
2 answers

- , , . freeRTOS. "System()" newlib. , -, , , newlib. , , System() , .

0

FreeRTOS ( RTOS, ) (GPOS), . RTOS, , .

RTOS ( FreeRTOS) , , RTOS .

RTOS (, FreeRTOS) , GPOS, Linux. RTOS , (IPC), . , , , , .

, FreeRTOS, , - , "" "", "" GPOS. , . - , .

MMU, , , . MMU, , . MMU ​​RTOS, FreeRTOS, .

, , :

VxWorks . , . , VxWorks . , , , . FreeRTOS, . - , , .

( "" ), , Linux uClinux, .

, , , " " , - , Lua. script script. Java VM.

+7

All Articles