Pc386 bsp problem

Arquer Stephane stephane.arquer at stage.cnes.fr
Thu May 24 14:13:43 UTC 2007


I redefined 
#define CONFIGURE_INIT_TASK_STACK_SIZE (512*1024)
It doesn't do anything.

Can you tell me how to connect the console to com1 ?
I tried to use :
#define USE_COM1_AS_CONSOLE	1

But it doesn't work.

I believe that the raise exception is 6 but I'm not sure. With the terminal I'll catch the error code.

Thanks.

Stéphane.


> -----Message d'origine-----
> De : Joel Sherrill [mailto:joel.sherrill at oarcorp.com] 
> Envoyé : jeudi 24 mai 2007 15:21
> À : Arquer Stephane
> Cc : Daron Chabot; rtems-users at rtems.org
> Objet : Re: RE : RE : RE : Pc386 bsp problem
> 
> 
> Arquer Stephane wrote:
> > Good morning,
> >
> > I changed the stack configuration to:
> > #define CONFIGURE_EXTRA_TASK_STACKS (64*1024)
> >
> >   
> That only reserves 64k more memory for task stacks.  It 
> doesn't result in any task getting more stack.
> 
> You need to increase the stack size on any task create 
> operations and define CONFIGURE_INIT_TASK_STACK_SIZE to 
> something other than the default below from confdefs.h.
> 
> #define CONFIGURE_INIT_TASK_STACK_SIZE    RTEMS_MINIMUM_STACK_SIZE
> 
> 
> > The problem is the same, the task is deleted.
> >
> >
> >   
> If your task is calling the simulink generated code and that 
> code returns, your hand written task must be able to account for that.
> 
> {
>   ....
>   call simulink code
>   ??? do something if it returns ???
> 
>   If you fall out the bottom of the task, it is a fatal error. }
> >> -----Message d'origine-----
> >> De : Joel Sherrill [mailto:joel.sherrill at oarcorp.com]
> >> Envoyé : mercredi 23 mai 2007 17:22
> >> À : Arquer Stephane
> >> Cc : Daron Chabot; rtems-users at rtems.org
> >> Objet : Re: RE : RE : Pc386 bsp problem
> >>
> >>
> >> Arquer Stephane wrote:
> >>     
> >>> Hi,
> >>>
> >>> Most of time I don't have any execption number, the task is
> >>>       
> >> cancelled
> >>     
> >>> while the other are continuing to work and sometimes there is an
> >>> exception raised but I can't catch it because the console 
> displays 
> >>> lines in continuous. It is the same with remote gdb, I 
> >>>       
> >> can't see the
> >>     
> >>> problem with gdb in remote mode, there is no message.
> >>>
> >>> This problem occurs when I use complex simulnk models. I
> >>>       
> >> think it is a
> >>     
> >>> memory configuration allowed for a task. I use floating
> >>>       
> >> point unit and
> >>     
> >>> I need to do some calculations. The task which call the
> >>>       
> >> step function
> >>     
> >>> is created as follow:
> >>>
> >>>
> >>> //*************************************************************
> >>> mode = RTEMS_PREEMPT + RTEMS_TIMESLICE + RTEMS_INTERRUPT_LEVEL(0);
> >>> attributs = RTEMS_FLOATING_POINT + RTEMS_LOCAL ;
> >>>
> >>> status = rtems_task_create(nommage("simuLoi"),
> >>> 				current_priority,
> >>> 				RTEMS_MINIMUM_STACK_SIZE,
> >>> 				mode,
> >>> 				attributs, 
> >>> 				&id_tLoi);
> >>> //*************************************************************
> >>>
> >>>   
> >>>       
> >> You can try making the stack large like 64K and adding that to your
> >> confdefs.h
> >> (EXTRA_STACKS).  If this is generated code, it can be very 
> >> abusive on the stack.
> >>
> >> You could also switch the console to COM1 and using a
> >> terminal program to talk to the target.  That way you would 
> >> have logs of the output.
> >>     
> >
> > Can you tell me how to connect the console to com1 ?
> > I've tried to use :
> > #define USE_COM1_AS_CONSOLE	1
> >
> > But it doesn't work.
> >
> >
> >
> >   
> >>> And my configuration is :
> >>>
> >>>
> >>>       
> >> /*------------------------------------------------------------
> >> ---------------------
> >>     
> >>>   							
> >>>       
> >> configuration information
> >>     
> >> 
> ---------------------------------------------------------------------
> >> -
> >>     
> >>> ------------*/
> >>> #define CONFIGURE_TEST_NEEDS_CONSOLE_DRIVER
> >>> #define CONFIGURE_TEST_NEEDS_CLOCK_DRIVER
> >>> #define CONFIGURE_TEST_NEEDS_TIMER_DRIVER
> >>> #define CONFIGURE_INIT_TASK_PRIORITY			110
> >>> #define CONFIGURE_INIT_TASK_ATTRIBUTES			
> >>>       
> >> RTEMS_FLOATING_POINT + RTEMS_LOCAL
> >>     
> >>> #define CONFIGURE_MAXIMUM_TASKS				128
> >>> #define CONFIGURE_MAXIMUM_SEMAPHORES			20
> >>> #define CONFIGURE_MAXIMUM_MESSAGE_QUEUES			10
> >>> #define CONFIGURE_MAXIMUM_TIMERS				16
> >>> #define CONFIGURE_MAXIMUM_PERIODS				16
> >>> #define CONFIGURE_MICROSECONDS_PER_TICK			
> >>>       
> >> 1000		// 1 tick every 1ms
> >>     
> >>> #define CONFIGURE_TICKS_PER_TIMESLICE			200
> >>>
> >>> #define CONFIGURE_RTEMS_INIT_TASKS_TABLE
> >>>
> >>> #ifdef pc386
> >>> #define CONFIGURE_HAS_OWN_DEVICE_DRIVER_TABLE
> >>> rtems_driver_address_table Device_drivers[5] = {
> >>>    CONSOLE_DRIVER_TABLE_ENTRY,
> >>>    TTY1_DRIVER_TABLE_ENTRY,
> >>>    TTY2_DRIVER_TABLE_ENTRY,
> >>>    CLOCK_DRIVER_TABLE_ENTRY,
> >>>    {NULL, NULL, NULL, NULL, NULL, NULL}
> >>> };
> >>> #endif	//pc386
> >>>
> >>> #define CONFIGURE_EXTRA_TASK_STACKS         (3 * 
> >>>       
> >> RTEMS_MINIMUM_STACK_SIZE)
> >>     
> >>> #define CONFIGURE_NUMBER_OF_TERMIOS_PORTS			10
> >>> #define CONFIGURE_LIBIO_MAXIMUM_FILE_DESCRIPTORS	10
> >>>
> >>> #include <confdefs.h>
> >>>
> >>> ----------------------------
> >>>
> >>> Thanks for your help.
> >>>
> >>> Stephane.
> >>>
> >>>
> >>>   
> >>>       
> >>>> -----Message d'origine-----
> >>>> De : Daron Chabot [mailto:daron.chabot at usask.ca]
> >>>> Envoyé : mardi 15 mai 2007 17:35
> >>>> À : Arquer Stephane
> >>>> Cc : rtems-users at rtems.org
> >>>> Objet : Re: RE : Pc386 bsp problem
> >>>>
> >>>>
> >>>> On Mon, 2007-05-14 at 17:34 +0200, Arquer Stephane wrote:
> >>>>     
> >>>>         
> >>>>> The failure is an execption raised bay the "simuLoi" 
> task when it 
> >>>>> calls the step function. The task is canceled by the
> >>>>>       
> >>>>>           
> >>>> scheduler, only
> >>>>     
> >>>>         
> >>>>> "trwsr" and "trwsw" are running for a moment then a 
> complete crash 
> >>>>> occurs. When I compile the same code with the leon3 bsp, tsim 
> >>>>> simulator works fine.
> >>>>>       
> >>>>>           
> >>>> Exactly what information does the exception provide ? (exception 
> >>>> number,
> >>>> etc.)
> >>>>
> >>>> Can you use a debugger (gdb) to step through 
> "task_gestion_loi( )" 
> >>>> and see precisely where the exception is being raised ?
> >>>>
> >>>>
> >>>> -- dc
> >>>>
> >>>>
> >>>>     
> >>>>         
> >>> _______________________________________________
> >>> rtems-users mailing list
> >>> rtems-users at rtems.com 
> >>> http://rtems.rtems.org/mailman/listinfo/rtems-users
> >>>   
> >>>       
> >>     
> 
> 




More information about the users mailing list