Quality RTOS & Embedded Software

 Real time embedded FreeRTOS RSS feed 
Quick Start Supported MCUs PDF Books Trace Tools Ecosystem TCP & FAT




Loading

Is it possible to run arbitrary user programs

Posted by Robert on January 21, 2010
Hello all,

Is it possible to have freertos running on a target and have some kind of hook on which an user can attach his own program/task?

Basically I want the ability of the RTOS to fire-up any program or task provided on a memory-carrier (stick, SD, upload, want-ever).

Any help appreciated.
Regards, Robert.

RE: Is it possible to run arbitrary user programs

Posted by Dave on January 21, 2010
As it comes everything is statically linked. I'm sure you could write something to do what you want but I'm not aware of any examples.

RE: Is it possible to run arbitrary user programs

Posted by Dima Suslov on November 4, 2010
I have the same question as asked Robert. Has anyone tried to do it, whether in the context of a problem? Is there any working examples?

RE: Is it possible to run arbitrary user programs

Posted by Dave on November 4, 2010
This is not the way FreeRTOS is intended to be used, as I said before normally everything is statically linked, but I'm sure what you want would be possible somehow. I have just seen in the other thread the suggestion of having a jump table to API functions (I think this is how SafeRTOS works when it is fixed in ROM) but that still leaves questions about how you are going to compile the external programs that you want to load in dynamically. Would you compile them as libraries with an entry point that was not called main()? Would you compile them as stand alone applications that do contain a main(). In both cases how would you manage their relocatability, you could not used a fixed linker script.

Another option would be to have a loader module that parsed a binary and fixed up addresses after loading into into the CPU memory space.

How do these things normally work? I think they use a separate loader module but I don't really know.

RE: Is it possible to run arbitrary user programs

Posted by Dima Suslov on November 4, 2010
As for me, i just want to make something like in CircleOS

RE: Is it possible to run arbitrary user programs

Posted by Dave on November 4, 2010
Can you describe what that does and how it works?

RE: Is it possible to run arbitrary user programs

Posted by Dima Suslov on November 4, 2010
Here you can look documentation on CircleOS http://www.stm32circle.com/circleos_doc/index.html
Two my last projects were with FreeRTOS, and i like it to use. In new project on LPC1768
I need to do to support FreeRTOS with LCD + SD + some more functions to work with the hardware of the processor, as well as the end user to be able to compile in a separate draft your application and run it as obvious as a separate task

PS Last year I had experienced the implementation of this approach with STM32+RealView, not well as i think. Now i try to do this with LPC1768 port with GCC

RE: Is it possible to run arbitrary user programs

Posted by Dave on November 4, 2010
I'm not going to spend my time reading documentation to help you with your work. Can you answer my question? If not my input to this thread is ending.

RE: Is it possible to run arbitrary user programs

Posted by Dima Suslov on November 4, 2010
It's hard to say in two word, but in general - there is CircleOS that manages the hardware resources of the device based on STM32, and allows the way to the end user to run his application located in defined FLASH regions. These applications are compiled separately (in the project hooked elf file from CircleOS) into binary files, the only thing - they contain the required functions for initializing and running. Then you can load bin file into one of special flash region, and run it from CircleOS main menu.
PS Pointing out this link to a site with documentation, I was not going to force you to spend your precious time, just showed what is at stake. And the goal is not to obtain a copy of this in freertos, but simply to show an embodiment of the system.


[ Back to the top ]    [ About FreeRTOS ]    [ Sitemap ]    [ ]




Copyright (C) Amazon Web Services, Inc. or its affiliates. All rights reserved.

Latest News

FreeRTOS kernel V10 is available for immediate download. Now MIT licensed.


FreeRTOS Partners

ARM Connected RTOS partner for all ARM microcontroller cores

IAR Partner

Microchip Premier RTOS Partner

RTOS partner of NXP for all NXP ARM microcontrollers

STMicro RTOS partner supporting ARM7, ARM Cortex-M3, ARM Cortex-M4 and ARM Cortex-M0

Texas Instruments MCU Developer Network RTOS partner for ARM and MSP430 microcontrollers

OpenRTOS and SafeRTOS