Chris, I'll give that a shot.
Thanks for your support and suggestion. Rick Davis -----Original Message----- From: Chris Zimman [mailto:[EMAIL PROTECTED] Sent: Friday, October 17, 2008 7:41 AM To: Rick Davis; [email protected] Subject: RE: [ECOS] Interrupts > I am working on a platform with a compact flash. The Compact Flash is > operating in true ide pio mode. I am using the fatfs file system. When > I write a 1.2M file, it takes about 16 seconds to write the file. However, > the eCos clock only advances by 6 seconds. Why is this? > The hardware is a power PC processor using the decrementer as the eCos > clock. I have been trying to find out where, if at all, interrupts are > being disabled while writing the file. Is there anything else that can > prevent the decrementer from operating. > My problem is that I have a watchdog thread strobing a hardware > watchdog and it never runs because the decrementer tics aren't occurring to > allow timeslicing and the unit reboots. The thread priorities are equal and > time slicing is enabled. Hi Rick, Try instrumenting the macro HAL_DISABLE_INTERRUPTS in hal/powerpc/arch/[version]/include/hal_intr.h Maybe something like: #define HAL_DISABLE_INTERRUPTS(_old_) \ CYG_MACRO_START \ cyg_uint32 tmp1, tmp2; \ diag_printf("HAL_DISABLE_INTERRUPTS() called from %s at line %d\n", __FILE__, __LINE__); \ asm volatile ( \ "mfmsr %0;" \ "mr %2,%0;" \ "li %1,0;" \ "rlwimi %2,%1,0,16,16;" \ "mtmsr %2;" \ : "=r"(_old_), "=r" (tmp1), "=r" (tmp2)); \ CYG_MACRO_END You should definitely be able to see if/where/when interrupts are being disabled. --Chris -- Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss
