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