[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Pc386 bsp problem



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);
//*************************************************************

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
> 
>