dispositivo frame buffer un dispositivo de caracteres, el uso de y " -; archivo de interfaz de capa controlador y ". Linux es una interfaz de memoria intermedia de trama capa de controlador de dispositivo se define estructura struct fb_info. En el nivel de archivo, Linux define por las siguientes funciones operativas: struct file_operations
Software procesos en ejecución: Read
en el nivel de archivo, el usuario llama a la operación file_operations función struct en los file_operations struct . struct fb_ops funciones de llamada indirectos para operar hasta el núcleo cuando un FB dispositivo de hardware, también registró fb_ops puntero struct fb al abrir el dispositivo, los primeros fb_drivers de llamadas [] de xxxfb_init () para inicializar el dispositivo;
< . p> 1, la etapa de desarrollo y el marco
file involucrados: fb.h, fbmem.c, xxxfb.c
fb.h: define una estructura para, y variables macro;
fbmem.c: entrada primaria y para la inicialización del dispositivo, como file_operations struct;
puntos de entrada:
struct estática {
const char * nombre;
int (* init) (void);
int (* configuración) (char *);
} fb_drivers [] = {__initdata
#ifdef CONFIG_FB_YOURCARD
{" driver_name ", xxxfb_init, xxxfb_setup}, España
#endif
operaciones de archivo:
estática file_operations struct fb_fops = {
propietario: THIS_MODULE, España
leer: fb_read, España
w rito: fb_write, España
ioctl: fb_ioctl, España
mmap: fb_mmap, España
abierto: fb_open, España
liberación: fb_release, España
#ifdef HAVE_ARCH_FB_UNMAPPED_AREA
get_unmapped_area: get_fb_unmapped_area, España
#endif
};
xxxfb.c: añadir archivos del controlador de dispositivo a sí mismos, tales como el fb_info estructura;
La función de punto de entrada: xxxfb_init; xxxfb_setup;
fb_ops static struct xxxfb_ops = {
propietario: THIS_MODULE, España
fb_open: xxxfb_open, /* Sólo si usted lo necesita hacer algo * /
fb_release: xxxfb_release, /* sólo si lo necesita para hacer algo * /
fb_get_fix: fbgen_get_fix, España
fb_get_var: fbgen_get_var , España
fb_set_var: fbgen_set_var, España
fb_get_cmap: fbgen_get_cmap, España
fb_set_cmap: fbgen_set_cmap, España
fb_pan_display: fbgen_pan_display, España
fb_ioctl: xxxfb_ioctl , /* opcional * /
};
2, lo que es un dispositivo framebuffer
framebuffer capaz de extraer un dispositivo de hardware de gráficos, una interfaz gráfica de usuario en el pozo interfaz. Con uso de este dispositivo, la aplicación del usuario no necesita la comprensión en profundidad de los factores subyacentes que será capaz de hacer buenos gráficos.
Para el usuario, que es el otro y /dev aparato después de que no hay diferencia, el usuario puede
uso de este dispositivo como una memoria, los datos pueden ser escritos en esta memoria, es también los datos se pueden leer desde esta memoria.
Se registra por primera vez el menor uso de este dispositivo es igual a 0, el segundo es para ser registrada framebuffer menor igual a 1, y así sucesivamente.
3, framebuffer estructura interna
Estructura de datos: Equipo de uso de este dispositivo se basa en gran medida en los cuatro siguientes estructuras de datos. Estas tres estructuras en fb.h en un comunicado.
Struct fb_var_screeninfo
Struct fb_fix_screeninfo
Struct fb_info
La primera configuración se utiliza para describir las características de la tarjeta gráfica. Se encuentra por lo general un usuario. Incluye una resolución de una pantalla de visualización, el número de bits por píxel y el momento de algunas variables. Xres las variables que definen el número de píxeles de la pantalla ocupada por su partido, Yres define el número de píxeles ocupada por una pantalla, bits_per_pixel define cada pixel con el número de bits para representar.
La segunda estructura define las características de hardware de la tarjeta gráfica no se pueden cambiar, el usuario selecciona qué tarjeta gráfica, sus características de hardware se establecerán. Contiene la dirección física y la duración de la memoria tampón de pantalla.
La tercera estructura es una memoria intermedia de trama para las interfaces definidas capa de controlador de dispositivo Linux. Contiene no sólo la función subyacente, sino también el estado del aparato de registro de datos. Cada memoria intermedia de trama y un dispositivo correspondiente son fb_info estructura. Modename en el que el nombre de la variable miembro para el dispositivo, fuente de visualización FontName, fbops puntero para señalar a la función operativo subyacente. Define el estado actual de los gráficos framebuffer independiente del dispositivo, y una tarjeta gráfica puede tener dos framebuffer, en este caso, es necesario fb_info dos estructuras. Esta es la única estructura en el espacio del núcleo visible.
4, diseñar su propio uso de este dispositivo controlador de dispositivo
el usuario primero tiene que añadir el siguiente código a fbmem.c
static struct {
const char * nombre;
int (* init) (void);
int (* configuración) (char *);
} fb_drivers [] = {__initdata
#ifdef CONFIG_FB_YOURCARD
{" driver_name ", xxxfb_init, xxxfb_setup}, España
#endif
a continuación reasignar tamaño de la memoria en función de sus necesidades en el xxfb.c. Por ejemplo:
VIDEOMEMSIZE #define (1 * 1024 * 1024) /* 1 MB * /
información var de nuevo de acuerdo con sus respectivas modificaciones de hardware. Los principales cambios
xxfb_set_var (struct fb_var_screeninfo * var, con int, * info estructura fb_info) función.
5, la forma de agregar controladores de dispositivo framebuffer
En make menuconfig en la primer entrada Dispositivos de caracteres, compruebe el interior de la Virtualterminal. Si desea que la consola en la salida del LCD, compruebe el soporte para la consola virtual de terminal.
(Msh seleccionado (shell minix), luego se coloca en un rc en un sh < /dev /ttyS0, la entrada de tecla a través del puerto de serie de la salida de la pantalla se puede visualizar en la pantalla LCD.)
retiró una interfaz de capa podemos ver la opción de dispositivo de consola, introduzca el cursor va a caer en el uso de este dispositivo de apoyo, pulse la tecla eNTER para entrar, se puede seleccionar el dispositivo de framebuffer que necesitan en ese país. El tipo de controlador de dispositivo a sí mismo añade (si en uClinux, * debe ser seleccionada en lugar de M seleccionado), que tendrá un archivo .o correspondiente en tiempo de compilación.
En el bajo nivel avanzado se puede configurar bpp lleno de soporte de píxeles, y luego seleccionar las fuentes Selectcompiled-in puede ser. Después
etc. verá el sistema operativo que se ejecuta
fb este dispositivo en /dev continuación. Debería ser de la mayor de 29 años, primer menor de dispositivo debe ser cero.
El ruido en las líneas de cable en los equipos electrónicos tiene dos tipos de ruido radiado y el ru
El programa en ejecución se llama proceso. Cuando un programa se almacena en un archivo ejecutable y
1. /La partición raíz es una partición requerida, particionada de acuerdo con su situación real.
Hace unos días, me reuní con un amigo en QQ para pedir ayuda, diciendo que el VPS que compré no se
La instalación del controlador de adquisición de imágenes USB bajo el sistema operativo Linux
Asesoría del administrador del sistema a los nuevos usuarios de Linux /Unix
Mensaje del cliente Vsftpd: Ingresando el modo pasivo tres soluciones
Comando de Linux: ln Método de uso
Solución para iniciar el mensaje ONTRACK (DDO) cada vez que se inicia
Ejecutar aplicaciones automáticamente después del inicio de sesión del sistema Linux
Archivos de Linux, descriptores de archivos y dup () y dup2 ()
estudio en profundidad tasa de barniz de aciertos de caché de
CentOS 6.4 instala la preparación del entorno oracle 11G
Linux pierde el archivo Grub.conf para iniciar el servidor
Introducción a la estructura del directorio del sistema de archivos de Linux
El icono de la barra de tareas de Win7 no muestra cómo resolver
Método de cierre de sesión de la cuenta QQ en la interfaz Metro del sistema Win8
¿Qué debo hacer si el sistema Win7 puede acceder a Internet pero el icono no está conectado?
¿Qué se requiere para que Windows 7 abra la transparencia?
¿Cómo desactiva Windows 8 la protección del sistema para ahorrar espacio en el disco?
Método de configuración de la pantalla de bloqueo del sistema Win10
Aplicación de cámara en Win8 no puede usar la cámara
Telerik lanza controles de desarrollo universales Win8.1 /WP8.1