Comenzando con lo basico, entrar y bajar el modulo.
test.c
#include <linux/module.h>
#include "test.h"
static int __init this_init(void)
{
// Initialize module.
printk(DEVICE_NAME ": Init.\n");
}
static void __exit this_exit(void)
{
// Exit module.
printk(DEVICE_NAME ": Exit.\n");
}
test.h
#ifndef _TEST_SPI_H_
#define _TEST_SPI_H_
#define DEVICE_NAME "test-spi"
MODULE_AUTHOR("Jorge Eduardo Cardona <jorgeecardona@gmail.com>");
MODULE_DESCRIPTION("SPI test driver.");
MODULE_LICENSE("GPL");
// Linux module functions.
static int __init this_init(void);
static void __exit this_exit(void);
module_init(this_init);
module_exit(this_exit);
#endif
Tenemos que manipular dos archivos mas: Kconfig y Makefile, ambos en la misma carpeta:
Kconfig
.
.
.
config SPI_TEST
tristate "Test SPI driver."
depends on SPI_MASTER && EXPERIMENTAL
help
Test SPI driver.
.
.
.
Makefile
.
.
.
obj-$(CONFIG_SPI_TEST) += test.o
.
.
.
Al configurar el kernel nos saldra la opcion, la seleccionamos y podremos hacer esto:
root@gumstix-custom-connex:~$ modprobe test
root@gumstix-custom-connex:~$ dmesg | tail -n1
<4>; test-spi: Init.
root@gumstix-custom-connex:~$ rmmod test
root@gumstix-custom-connex:~$ dmesg | tail -n1
<4> test-spi: Exit.
root@gumstix-custom-connex:~$
Primer paso listo.
No comments:
Post a Comment