We are using a 5329 processor and our (default isr) system hangs when "undefined" memory is addressed and the Core Watchdog timer goes off resetting the system..

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

We are using a 5329 processor and our (default isr) system hangs when "undefined" memory is addressed and the Core Watchdog timer goes off resetting the system..

600 Views
donmarquardt
Contributor I

We are using a 5329 processor and our (default isr) system hangs when "undefined" memory is addressed.

I have tried to use the Address error ISR( at Vector 3) with no success.

I do not get the interrupt when I address the non-existent memory. Here is the code I use to install the interrupt handler. It does show in the EDS Client. 

volatile MCF5329_STRUCT_PTR  mcf5329_ptr;

mcf5329_ptr = (MCF5329_STRUCT_PTR) _PSP_GET_MBAR();

if (_int_install_isr( (uint_32)MCF5329_EXC_ADDRESS_ERROR,

   (uint_32)MCF5329_EXC_ADDRESS_ERROR,
   &AddressErrorInterrupt,
   (void*)&Dummy_Data) == NULL)

    {

    printf("MCF5329_EXC_ADDRESS_ERROR _int_install_isr failed");

    }

    _mcf5329_int_init(MCF5329_EXC_ADDRESS_ERROR, CWD_INT_LEVEL, TRUE);

I also tried the Core bus error interrupt at Source 62 in INTC0. Here is its code. As soon as the interrupt is enabled the ISR is called, even though I feel I cleared it.

_INT_DISABLE();

      volatile MCF5329_STRUCT_PTR  mcf5329_ptr;

     

    mcf5329_ptr = (MCF5329_STRUCT_PTR) _PSP_GET_MBAR();

  uchar SCMISR = mcf5329_ptr->SCMISR;
  mcf5329_ptr->SCMISR = SCMISR;  // Clear Bus Error and core watchdog Interrupts

    if (_int_install_isr(

   (uint_32)MCF5329_INT_CFE,
   &CFEInterrupt,
   (void*)&Dummy_Data) == NULL)

    {

    printf("MCF5329_INT_CFE _int_install_isr failed");

    }

    _mcf5329_int_init(MCF5329_INT_CFE, CWD_INT_LEVEL, TRUE);

//  mcf5329_ptr->SCMISR = 2;  // Clear and enable Bus Error

    mcf5329_ptr->CFIER = 1;   // ENABLE Core Fault Interrupt

    _INT_ENABLE();

Tags (1)
0 Kudos
Reply
0 Replies