1 May 2006 19:52
cyg_thread_delay on ARM7 crashes randomly
Brett Delmage <Brett.Delmage <at> twobikes.ottawa.on.ca>
2006-05-01 17:52:26 GMT
2006-05-01 17:52:26 GMT
I have a simple test program, a simplification of the TwoThreads program. All it does is initialize and resume one thread. The single thread calls cyg_thread_delay(1) in a loop. The target is a minor variation of the Philips LPC 2106, running on a Philips LPC2114 ARM7. Compiler is GCC 3.4.2 The program crashes after a random period of time, ranging from almost immediately to maybe tens of seconds. But when I enable tracing, dumping trace messages to serial port 0 at 9600 baud, the program has run for over half an hour without crashing. There is no other I/O or source of interrupts occuring other than the real time clock, that I am aware of. When the program crashes, my JTAG debugger shows the PC at ffff ffd7, and all other registers = ffff ffff Putting breakpoints on all the vectors except IRQ doesn't trigger when the crash occurs. A breakpoint at the IRQ does trigger, indicating the clock interrurpt is occurring, and also triggering the debugger breakpoint. This looks like an interrupt occurring when it shouldn't but who knows. I'm have no idea why my debugger (Ashling PFARM and Opella) stops when the program crashes. All ideas, including debugging suggestions very much welcomed. Finally, A big thanks to Daniel Néri whose advise helped me get the LPC(Continue reading)
RSS Feed