Hi there,
I am working on an real time video playback applicaion on a mips cpu. But after
my video application play a while like 5 to 10 minutes, a bus error happened.
We add some debug meesage in the kernel, so we know that after the do_ade
function inside the unalign.c, the bus error happens for the opcode lw or sw.
So my guess is that I have an unaligned memory pointer(not in 4 byte boundary).
But my puzzle is that if I have an unaligned memory pointer, it should happen
at the first loop I playback, how come it happens after it plays several loops?
Is there a possibility that my application's stack being trashed after a while?
but I don't have recursive calls inside my application.
Thanks in advance!
Teresa
|