Stuck in Dummy_Handler

dibosco wrote on Monday, January 21, 2013:

I’ve started adding FAT file support to FreeRTOS, on top of a main_blinky setup. It works without the FAT code, but when I add a thread to start running  code already tested on run-to-complete it jumps to the Dummy_Handler. It says this is for unused IRQs

I’ve added this very basic thread so far:

void FATFileProcessing( void *pvParameters )
      /* Just to avoid compiler warnings. */
    ( void ) pvParameters;
    FRESULT rc;				/* Result code */ 
    DIR dir;				/* Directory object */
    FILINFO fno;			/* File information object */
    char FileName[13];
    unsigned int i;
    FATFS Fatfs;		/* File system object */
     unsigned long SS;
     f_mount(0, &Fatfs);		
     disk_ioctl (0,GET_SECTOR_COUNT,&SS);
      rc = f_readdir(&dir, &fno);		// Read a directory item 
    while (1)

Doesn’t look to me like there are any HSMCI interrupts enabled, I certainly didn’t enable them previously. If I take out this code, it’s fine and doesn’t stop in the Dummy_Handler();

It falls over in f_readdir(&dir, &fno);

If I take that call out it is fine. It’s odd because there’s no hardware initialisation in there at all! That is completely abstracted from the hardware, it is just examining previously created directory and file structures. I’ve given 4k of stack to this routine, so I assume it’s nothing to do with running out of memory.

Anyone able to suggest what might be causing it or tell me how I can ascertain what peripheral’s interrupt has gone off please?


rtel wrote on Monday, January 21, 2013:

Assuming InitialiseSD() does not enable any interrupts….you are probably hitting the hard fault handler.  Is Dummy_Hander() installed as the hard fault handler?