baiscs of fb driver architecture?

From: Patrick Robin <hidden>
Date: 2004-03-27 18:00:53


Hello,

I want to write a frame buffer driver for one or our projects running 
uClinux/Nano-X on an embeded platform.

I have read information on the subject from various web sites but I still 
have some basic architecture  questions unanswered.

First here are the specs for the target platform: 32 bit Xilinx Microblaze 
processor core running on a
Xilinx FPGA. This processor runs uClinux, Nano-X and our fltk based 
application. Video output consists of a logic circuit we designed on the 
same FPGA to drive a standard NTSC video monitor in monochrome mode. This 
video logic circuit reads pixel data from a video RAM block shared with the 
Microblaze processor. The video logic circuit is independent of the 
Microblaze processor and generates all timing and data signals to drive the 
NTSC monitor.

Video specs we are using: 256x230 monochrome pixels, standard NTSC fixed 
rates: 60 HZ vertical, 15.7 KHZ horizontal

I have the NTSC driving circuitry workingfine , outputting video data from 
the video RAM to the monitor. The  microblaze processor also has write 
access to this video ram. But I am totally new to writing Linux drivers and 
the concept of linux frame buffer. I have some basic questions:


1) Am I correct in assuming that an application like Nano-X obtains an 
address for video ram from the fb driver and then proceeds to write pixel 
data directly to it as needed by screen updates required by the end user 
application.

2) Is there any synchronization required/expected between the pixel write 
operations to this RAM and the refresh rates of the video circuitry. In othe 
words, doesn the fb driver care when video pixel data is actually transfered 
from video ram to the monitor. If he doesn't, what part of the systems 
syncronizes the application writes VS video data output to avoid flicker?

3) What functionality must the fb driver provide in this context. Does it 
only provide an address for
video pixel ram and all graphic computations are the responsability of the X 
server?

4) Is there docomentation for a beginner writing a fb driver? Like step by 
step for a simple fixed frequency fb driver. I looked at the vfb.c code but 
it is not obvious to me what functionality I need to  provide in there.

5) I assume I also need to become familiar with the basics of writing a 
linux character based driver: structure, compilation, etc . Is there a good 
reference for that?

Thanks in advance for any help


Patrick Robin

_________________________________________________________________
Tired of spam? Get advanced junk mail protection with MSN Premium   
http://join.msn.com/?pgmarket=en-ca&page=byoa/prem&xAPID=1994&DI=1034&SU=http://hotmail.com/enca&HL=Market_MSNIS_Taglines



-------------------------------------------------------
This SF.Net email is sponsored by: IBM Linux Tutorials
Free Linux tutorial presented by Daniel Robbins, President and CEO of
GenToo technologies. Learn everything from fundamentals to system
administration.http://ads.osdn.com/?ad_id=1470&alloc_id=3638&op=click
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help