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



  I use RTEMS4 and the pc386 BSP and got some problem with Timer_Initialize.

   1. I search for the old mail_lists and find a similar problem:




    * /Date/: Fri, 08 Oct 1999 10:28:18 +0200
    * /From/: reuther at kinzinger.de (Udo Reuther)
    * /Subject/: Timer_Initialize


Hello all,

I use RTEMS4 and the pc386 BSP.

I tried to do some timing measurements and copied code from one of the
timing tests.
But the call to Timer_Initialize failed, reporting "raw handler
connexion failed".

This is what happened: 

/* Function Timer_Initialize in file timer.c:238 */

if (!i386_set_idt_entry (&timer_raw_irq_data)) {
  printk("raw handler connexion failed\n");

/* Function i386_set_idt_entry im file cpu.c:83 */

if (get_hdl_from_vector(irq->idtIndex) != default_raw_irq_entry.hdl) {
  return 0;

The returned value is (void (*)()) 0x18dd50 <rtems_irq_prologue_0>, 
whereas default_raw_irq_entry.hdl = (void (*)()) 0x18de4d

What did I miss ?



What is the resolution?

2.Also in Timer_initialize
/*code in Timer_initialize in file timer.c*/
while (Ttimer_val == 0)
When an ISR calls Timer_initialize,the system will loop forever since in
ISR interrupts are disabled.
(I found this when I try to run tm27 test.The task1 installs a
Isr_handler,then the Isr_handler will call Timer_initialize.)