依然是Hello World.
#ifndef __KERNEL__
#define __KERNEL__
#endif
#ifndef MODULE
#define MODULE
#endif
#ifndef __NO_VERSION__
#define __NO_VERSION__
#endif
#include <linux/module.h>
#include <linux/init.h>
#include <linux/sched.h>
#include <linux/kernel.h>
#include <linux/fs.h>
#include <linux/errno.h> // error codes
#include <linux/types.h> // size_t
#include <linux/delay.h> // mdelay
#include <linux/proc_fs.h>
#include <linux/config.h>
//MODULE_LICENSE("GPL")
///*
static int hello_init(void) {
printk(" <1> hello world!/n");
return 0;
}
static void hello_exit(void) {
printk(" <1> goodbye!/n");
}
module_init(hello_init);
module_exit(hello_exit);
//*/
/*
int init_module(void) {
printk(" <1> hello world!/n");
return 0;
}
void cleanup_module(void) {
printk(" <1> goodbye!/n");
}
*/
以及它的Makefile
CC = /usr/local/arm-linux/bin/arm-linux-gcc
CFLAGS = -I/usr/local/kernel_2410tk/include -I/usr/local/kernel_2410tk/include/asm-arm -I/usr/local/kernel_2410tk/arch/arm
hello: hello.c
$(CC) $(CFLAGS) -o hello hello.c -DMODULE -Os -ffixed-r8 -mshort-load-bytes -mapcs-32 -march=armv4 -mtune=arm9tdmi
clean:
-rm -f *.o