< >
首先呢,是驱动代码这里我们就尽可能简单的写了
#include
#include
#include
#include
static int __init hello_init(void)
{
printk("!!!!!!!!!!HELLO 3288!!!!!!!!!!!!");
return 0;
}
static void __exit hello_exit(void)
{
printk("!!!!!!!!!!!!!BYE!!!!!!!!!!!!");
}
subsys_initcall(hello_init);
module_exit(hello_exit);
MODULE_LICENSE("GPL");
然后呢,最最重要的来了Makefile的写法
PWD = $(shell pwd)
KDIR := /home/haer/proj/firefly-rk3288-lollipop/kernel
obj-m:= hello3288.o
all:
make ARCH=arm CROSS_COMPILE=/home/haer/proj/firefly-rk3288-lollipop/prebuilts/gcc/linux-x86/arm/arm-eabi-4.6/bin/arm-eabi- -C $(KDIR) M=$(PWD) modules
就这样,解决!但是真正设备驱动的开发可比这个难多了
< >
首先呢,是驱动代码这里我们就尽可能简单的写了
#include
#include
#include
#include
static int __init hello_init(void)
{
printk("!!!!!!!!!!HELLO 3288!!!!!!!!!!!!");
return 0;
}
static void __exit hello_exit(void)
{
printk("!!!!!!!!!!!!!BYE!!!!!!!!!!!!");
}
subsys_initcall(hello_init);
module_exit(hello_exit);
MODULE_LICENSE("GPL");
然后呢,最最重要的来了Makefile的写法
PWD = $(shell pwd)
KDIR := /home/haer/proj/firefly-rk3288-lollipop/kernel
obj-m:= hello3288.o
all:
make ARCH=arm CROSS_COMPILE=/home/haer/proj/firefly-rk3288-lollipop/prebuilts/gcc/linux-x86/arm/arm-eabi-4.6/bin/arm-eabi- -C $(KDIR) M=$(PWD) modules
就这样,解决!但是真正设备驱动的开发可比这个难多了
举报