Se carga un módulo simple en el kernel Linux 2.6.12.

  

Entorno de ejecución: linux-2.6.12

Entorno de compilación: arm-linux-gcc (3.4.1)

Plataforma de ejecución : AT91RM9200


a, escribir módulo de programa testmodule.c


# include < Linux /init.h >
# include < Linux /kernel.h >
# include < Linux /module.h >!

int hello_init estática (void) {

printk ( "Hola Esta es la primera prueba de módulo \\ n! ");
return 0;
}
hello_exit vacío estático (void)
{
printk (" salida Módulo bye bye \\ n "); !!
volver;
}

module_init (hello_init);
module_exit (hello_exit);

MODULE_LICENSE ( "GPL");


II preparó Makefile


obj-m: = testmodule.o
KDIR: = /src/linux-2.6.12
PWD: = $ (shell pwd) predeterminado
:
$ (MAKE) -C $ (KDIR) SUBDIRS = $ (PWD) módulos
########################### ######################


nota: "$ (MAKE)" a estar vacía delante de una "Tab" < Br>

KDIR es la ruta del kernel, este kernel debe enviarse con AT91RM9200 El kernel de la línea es el mismo (el compilador es el mismo, o no puede ejecutarse).


Tres, compilar

Ejecutar bajo linux: make CC = /src /3.4.1 /bin /arm-linux-gcc

/* Nota: /src/3.4.1/bin/arm-linux-gcc Ruta para el entorno de compilación cruzada * /

Generar testmodule.ko


IV, ejecutar

1, a través del puerto serie o el puerto de red descarga testmodule.ko a la AT91RM9200 bordo del


2, ejecute: chmod + x testmodule.ko modificar las propiedades del módulo, que es ejecutable a


3, la realización de: insmod testmodule.ko

Hola Este es el primer módulo de prueba

ejecutar: rmmod !! testmodule.ko

módulo de salida! Bye Bye!

Copyright © Conocimiento de Windows All Rights Reserved