Execute arbitrary code?
Posted by aFeLiOn
on November 1, 2010
Is there able to load and execute programs on SD card at runtime? I need an application that list all programs on a media, and select one to execute, which similar to exec() command on Linux.
Thanks in advance.
RE: Execute arbitrary code?
Posted by Richard Damon
on November 1, 2010
This question isn't really applicable, due to the difference between a kernel (which is what FreeRTOS is) and an Operating System (like Linux, which does have a kernel inside of it). The FreeRTOS kernel just provides task switching, synchronization and communication primitives, it does not provide a full "Operating Environment" in that is doesn't provide things like an I/O layer.
One big question is what is your architecture, as that will make a big difference in what is needed to read the SD card, and to run a program. While the FreeRTOS kernel doesn't know how to read the SD Card, there may be demo or donated code that handles some or all of the job. You may need to copy the program off of the SD card and into RAM memory and execute it there, and if so, you need to set up your program to have some way to reserve/release that space and know where the program wants to be loaded. This is very much a compiler and related environment question. If the program need to interact with what is already loaded, it needs some way to communicate with it, and if not, it needs some way to return control back to the original application.
Copyright (C) 2004-2010 Richard Barry. Copyright (C) 2010-2016 Real Time Engineers Ltd.
Any and all data, files, source code, html content and documentation included in the FreeRTOSTM distribution or available on this site are the exclusive property of Real Time Engineers Ltd..
See the files license.txt (included in the distribution) and this copyright notice for more information. FreeRTOSTM and FreeRTOS.orgTM are trade marks of Real Time Engineers Ltd.