/* * RTEMS configuration/initialization * * This program may be distributed and used for any purpose. * I ask only that you: * 1. Leave this author information intact. * 2. Document any changes you make. * * W. Eric Norum * Saskatchewan Accelerator Laboratory * University of Saskatchewan * Saskatoon, Saskatchewan, CANADA * eric@skatter.usask.ca */ #include #include #include #include #include #include "../networkconfig.h" #include #include "FilesystemImage.h" #if 0 int add_mcast_route( char *multi_address, char *multi_netmask, char *multi_gateway ); #define MULTI_ADDRESS "239.9.8.0" #define MULTI_NETMASK "255.255.255.0" #define MULTI_GATEWAY "192.168.1.244" #endif /* * RTEMS Startup Task */ rtems_task Init (rtems_task_argument ignored) { int mcast_main(int ac, char **av); rtems_status_code status; printf("Loading filesystem image\n"); status = Untar_FromMemory( (char *)FilesystemImage, FilesystemImage_size ); if (status != RTEMS_SUCCESSFUL) { printk("Untar failed!\n"); exit(1); } printk( "Initializing network\n" ); rtems_bsdnet_initialize_network (); // This appears to have no effect. // add_mcast_route( MULTI_ADDRESS, MULTI_NETMASK, MULTI_GATEWAY ); printk( "Network initialized\n" ); rtems_bsdnet_show_inet_routes (); printk( "Initiating mcast test\n" ); mcast_main ( 0, 0 ); exit (0); } #define CONFIGURE_APPLICATION_NEEDS_CONSOLE_DRIVER #define CONFIGURE_APPLICATION_NEEDS_CLOCK_DRIVER #define CONFIGURE_RTEMS_INIT_TASKS_TABLE #define CONFIGURE_MAXIMUM_FILE_DESCRIPTORS 20 #define CONFIGURE_USE_IMFS_AS_BASE_FILESYSTEM #define CONFIGURE_MAXIMUM_SEMAPHORES 20 #define CONFIGURE_MAXIMUM_TASKS 20 #define CONFIGURE_MICROSECONDS_PER_TICK 10000 #define CONFIGURE_INIT_TASK_STACK_SIZE (16*1024) #define CONFIGURE_INIT_TASK_PRIORITY 120 #define CONFIGURE_INIT rtems_task Init (rtems_task_argument argument); #include