Clock/time problems on a 405EP

I’m running QNX 6.3 on a custom PPC 405EP board. It appears that the 1
ms kernel tick is actually only occurring every ~1.023 ms. This causes
the system to slowly lose time.

According to ClockCycles(), the PPC405 time base is advancing at the
correct rate (200 MHz). The 1 ms system tick uses the 405’s
programmable interrupt timer (PIT) interrupt. The PIT is driven by the
same clock as the CPU time base.

Due the slow system tick rate, the passage of time reported by
clock_gettime() and SYSPAGE_ENTRY(qtime)->nsec is slow. If I normalize
the values reported by these functions and compare them to the value
returned by ClockCycles(), the delta should remain constant. It
steadily changes.

I’m running a bare mimimum of processes and do not have a heavy
interrupt load. The System Profiler does not show any unusual activity

  • no spinning in IRQ handlers, etc. System is 99.9% idle.

Any ideas on what I can do to fix this?

Dan Giorgis
Tridium