FreeRTOS Support Archive
The FreeRTOS support forum is used to obtain active support directly from Real
Time Engineers Ltd. In return for using our top quality software and services for
free, we request you play fair and do your bit to help others too! Sign up
to receive notifications of new support topics then help where you can.
This is a read only archive of threads posted to the FreeRTOS support forum.
The archive is updated every week, so will not always contain the very latest posts.
Use these archive pages to search previous posts. Use the Live FreeRTOS Forum
link to reply to a post, or start a new support thread.
[FreeRTOS Home] [Live FreeRTOS Forum] [FAQ] [Archive Top] [January 2010 Threads] Is it possible to run arbitrary user programsPosted 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 programsPosted 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 programsPosted 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 programsPosted 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 programsPosted 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 programsPosted by Dave on November 4, 2010 Can you describe what that does and how it works?
RE: Is it possible to run arbitrary user programsPosted 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 programsPosted 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 programsPosted 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.
Copyright (C) Amazon Web Services, Inc. or its affiliates. All rights reserved.
|