MT7688開發板/openwrt系統-helloworld例程
第一個例程,helloworld
驅動程式碼如下:
#include <linux/init.h>
#include <linux/module.h>
MODULE_LICENSE("Dual BSD/GPL");
MODULE_AUTHOR("Hanson He");
static int __init hello_init(void)
{
printk(KERN_ALERT "Hello world\n");
return 0;
}
static void __exit hello_exit(void)
{
printk(KERN_ALERT " Hello world exit\n");
}
module_init(hello_init);
module_exit(hello_exit);
Makefile如下:
KERN_DIR = /home/wooya/work/openwrt-hiwooya-stable/build_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/linux-ramips_mt7688/linux-3.18.45
TOOLCHAIN = "/home/wooya/work/openwrt-hiwooya-stable/staging_dir/toolchain-mipsel_24kec+dsp_gcc-4.8-linaro_uClibc-0.9.33.2/bin/mipsel-openwrt-linux-"
all:
make -C $(KERN_DIR) ARCH=mips CROSS_COMPILE=$(TOOLCHAIN) M=$(PWD) modules
clean:
rm -f *.ko
rm -f *.o
rm -f *.mod.c
rm -f *.mod.o
rm -f *.order
rm -f *.sysvers
obj-m +=hello.o
make 後生成hello.ko 檔案,通過fileZilla軟體把hello.ko檔案傳送到開發板
[email protected]:/# ls
beep_test mnt sbin
bin orisunli_beep_drv.ko sys
dev orisunli_test_drv.ko tmp
etc overlay usr
hello.ko proc var
hello_ext.ko rom www
lib root
開發板中已有hello.ko檔案,載入檔案
[email protected]:/# insmod hello.ko
[ 1682.130000] Hello world
[email protected]:/#
檢視載入好的檔案
[email protected]:/# lsmod
hello 480 0
載入成功
解除安裝驅動hello
[email protected]:/# rmmod hello
[ 1822.430000] Hello world exit
[email protected]:/#
解除安裝成功,再用lsmod檢視,發現載入的hello驅動已經沒有了