diff options
author | Daron Chabot <daron.chabot@gmail.com> | 2009-03-13 15:07:05 +0000 |
---|---|---|
committer | Daron Chabot <daron.chabot@gmail.com> | 2009-03-13 15:07:05 +0000 |
commit | ccd7d5cf73aee08715de035c5c17ecae7f17ac6f (patch) | |
tree | f093191ea8f0ee43864d6b1c1f6bfc1db926c392 /org.rtems.cdt/templates/rtems++/src/Init.cc | |
parent | Addition of Hello World template and RTEMS icons to preference page and About... (diff) | |
download | rtems-eclipse-plug-in-ccd7d5cf73aee08715de035c5c17ecae7f17ac6f.tar.bz2 |
Add c++ sample template.
Diffstat (limited to 'org.rtems.cdt/templates/rtems++/src/Init.cc')
-rw-r--r-- | org.rtems.cdt/templates/rtems++/src/Init.cc | 62 |
1 files changed, 62 insertions, 0 deletions
diff --git a/org.rtems.cdt/templates/rtems++/src/Init.cc b/org.rtems.cdt/templates/rtems++/src/Init.cc new file mode 100644 index 0000000..e939b22 --- /dev/null +++ b/org.rtems.cdt/templates/rtems++/src/Init.cc @@ -0,0 +1,62 @@ +/* Init + * + * This routine is the initialization task for this test program. + * + * Input parameters: + * argument - task argument + * + * Output parameters: NONE + * + * COPYRIGHT (c) 1997 + * Objective Design Systems Ltd Pty (ODS) + * All rights reserved (R) Objective Design Systems Ltd Pty + * + * COPYRIGHT (c) 1989-1999. + * On-Line Applications Research Corporation (OAR). + * + * The license and distribution terms for this file may be + * found in the file LICENSE in this distribution or at + * http://www.rtems.com/license/LICENSE. + * + * $Id$ + */ + +#define CONFIGURE_INIT +#include "System.h" + +// make global so it lasts past the Init task's stack's life time +Task1 task_1; + +rtems_task Init(rtems_task_argument ) +{ + puts( "\n\n*** RTEMS++ TEST ***" ); + + printf( "INIT - Task.create() - " ); + task_1.create("TA1 ", 0, RTEMS_MINIMUM_STACK_SIZE); + printf("%s\n", task_1.last_status_string()); + + printf( "INIT - Task.create() - " ); + task_1.create("TA1 ", 10, RTEMS_MINIMUM_STACK_SIZE * 6); + printf("%s\n", task_1.last_status_string()); + + printf( "INIT - Task.create() - " ); + task_1.create("TA1 ", 10, RTEMS_MINIMUM_STACK_SIZE * 6); + printf("%s\n", task_1.last_status_string()); + + printf( "INIT - Task.restart() - " ); + task_1.restart(0); + printf("%s\n", task_1.last_status_string()); + + printf( "INIT - Task.start(0xDEADDEAD) - " ); + task_1.start(0xDEADDEAD); + printf("%s\n", task_1.last_status_string()); + + printf("INIT - Destroy it's self\n"); + + // needs to be in C, no C++ object owns the Init task + rtems_status_code status = rtems_task_delete( RTEMS_SELF ); + directive_failed( status, "rtems_task_delete of RTEMS_SELF" ); +} + + + |