Full and Stand-Alone Tasks

Top  Previous  Next

A full task is a task that has been linked against the standard run-time library, rtl.lib. This gives the task access to the host PC via the server. Full tasks can communicate with the server using the standard C I/O functions, such as printf and scanf. A full task starts to execute by communicating with the host server to open standard streams (stdin, stdout, and stderr) and to get any command-line parameter (argc and argv).

 

A stand-alone task is a task that has been linked against the stand-alone run-time library, sartl.lib. This library does not include any functions that communicate with the host and so operations such as printf are not available. Hence it is very much smaller than the equivalent full task.

 

You can create full tasks from a command prompt with the command 3L T.  Similarly, the command 3L TA creates a stand-alone task.

 

If you try to create a stand-alone task but the linker discovers that you have a reference to functions in the full library, you get errors indicating that you have not defined symbols of the form xxx_not_standalone. For example, attempting to call printf from a stand-alone task results in a complaint about the symbol printf_not_standalone.

 

Full tasks are created in the IDE by default. Tick the box shown below to make the task stand-alone.

 

IDE_task

 

Dragons003The stand-alone application option for a project in the IDE currently does not force all tasks in the application to be marked as stand alone. This omission will be rectified in a future release of the IDE.