-/* Init
- *
- * This routine is the initialization task for this test program.
- * It is called from init_exec and has the responsibility for creating
- * and starting the tasks that make up the test. If the time of day
- * clock is required for the test, it should also be set to a known
- * value by this function.
- *
- * Input parameters: NONE
- *
- * Output parameters: NONE
- *
- * 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: init.c,v 1.12.4.1 2003/09/04 18:46:30 joel Exp $
- */
-
#define CONFIGURE_INIT
#include <system_def.h>
#include "system.h"
#define RTEMS_VER_CODE VER_CODE(__RTEMS_MAJOR__ ,__RTEMS_MINOR__ ,__RTEMS_REVISION__)
-#if RTEMS_VER_CODE < VER_CODE(4,7,99)
- #define rtems_shell_add_cmd shell_add_cmd
- #define rtems_shell_init(m_task_name,m_task_stacksize,m_task_priority,m_devname,m_forever,m_wait,m_login_check) \
- shell_init(m_task_name,m_task_stacksize,m_task_priority,m_devname,B19200 | CS8,m_forever)
-#elif RTEMS_VER_CODE < VER_CODE(4,9,99)
- #define rtems_shell_init(m_task_name,m_task_stacksize,m_task_priority,m_devname,m_forever,m_wait,m_login_check) \
- rtems_shell_init(m_task_name,m_task_stacksize,m_task_priority,m_devname,m_forever,m_wait)
-#endif
-void bad_rtems_status(rtems_status_code status, int fail_level, const char *text){
- printf("ERROR: %s status %s", text, rtems_status_text(status));
- status = rtems_task_delete( RTEMS_SELF );
-}
+#define CONFIGURE_SHELL_USER_COMMANDS &shell_command_print_can_totals
+#define CONFIGURE_SHELL_COMMANDS_INIT
+#define CONFIGURE_SHELL_COMMANDS_ALL
+#include <rtems/shellconfig.h>
+#include <rtems/shell.h>
-\r
rtems_task Init(rtems_task_argument ignored){
rtems_status_code status;
"\n");
rtems_monitor_init(RTEMS_MONITOR_SUSPEND|RTEMS_MONITOR_GLOBAL);
- /*rtems_capture_cli_init (0);*/
printf( "Starting application " SW_VER_ID " v "
BUILD_VERSION_STRING(SW_VER_MAJOR,SW_VER_MINOR,SW_VER_PATCH)
"\n" );
- \r
-
- rtems_shell_init("SHLL", RTEMS_MINIMUM_STACK_SIZE+0x1000,
- SHELL_TASK_PRIORITY, "/dev/console", 1, 0, NULL);
-
- rtems_shell_add_cmd("startGW", "app",
- "initialize can driver and startGW",
- start_can);
-
- rtems_shell_add_cmd("stopGW", "app",
- "stops GW",
- end_can);
-
- rtems_shell_add_cmd("printvar", "app",
- "prints info from vars",
- print_regs);\r
- \r
- rtems_shell_add_cmd("printcan", "app",\r
- "prints error rate from CANs",\r
- print_can_totals);
- \r
- rtems_shell_add_cmd("startNET", "app",\r
- "tries to start network adapter",\r
- start_net);\r
- \r
- rtems_shell_add_cmd("showNET", "app",\r
- "prints some diagnostic info from network adapter/driver",\r
- show_net);\r
- \r
- rtems_shell_add_cmd("start_load", "app",\r
- "starts loading threads",\r
- start_load);\r
- \r
- rtems_shell_add_cmd("stop_load", "app",\r
- "stops loading threads",\r
- stop_load);\r
+
+ /* Inits */
+#ifdef BENCH_BUILD
+ start_can(0, NULL);
+ start_net(0, NULL);
+#ifdef LOAD_BUILD
+ start_load(0, NULL);
+#endif
+#endif
+
+#ifndef BENCH_BUILD
+ rtems_shell_init(
+ "SHLL", /* task name */
+ RTEMS_MINIMUM_STACK_SIZE * 4, /* task stack size */
+ 100, /* task priority */
+ "/dev/console", /* device name */
+ true, /* run forever */
+ false, /* wait for shell to terminate */
+ NULL /* login check function, use NULL to disable a login check */
+ );
+#endif
status = rtems_task_delete( RTEMS_SELF );