Hi,
I'm working with a board derived from the Freescale/LogicPD mcf5329
Wow, thanks for all the help!
Seriously, it seems Microwindows is NOT the problem. I wrote a very simple program that writes directly to the framebuffer, and I still see flickering/tearing/shearing of the display.
Attached is a silly test program, which in pseudo-code goes like this:
test:
open framebuffer
write all zeros to it (i.e. erase the screen)
sleep(10) to allow inspection
lseek to beginning
write all ones to it (i.e. set all pixels white)
sleep(10)
lseek to beginning
write a pattern of 8x8 multi-colored boxes to screen
sleep(10)
close framebuffer
Running this shows a nice blank screen for 10 seconds, then a white
screen for 10 seconds, then finally some pretty boxes. Or at least,
that is what is supposed to happen.
What actually happens, sometimes, is that, sometimes it works, other
times the white screen shows the flicker/tearing/shearing throughout the
entire lower two-thirds of the screen. Of course, the black looks fine,
but surprisingly, the colored blocks also looks fine. Well, almost -
when the white shows the shearing, there is usually a small black
rectangle, maybe 3-4 pixels wide by 6-8 high, at the far left of the
screen, centered vertically about the first sheared line; this block is
also present on the white screen, along with an 6-8-pixel long vertical
black line at the same elevation, midway across the screen. I don't
know if that little line shows up with the colored boxes.
I don't thing there is anything wrong with my code - it's so simple -
but perhaps I'm missing something? Any ideas?
Presuming my code is okay, where is the framebuffer running into trouble?
I'm really at a loss here, and while my client is very patient, he's likely to pull the plug soon...
Thanks,
-Bob