1. 程式人生 > >zynq 第一個模組驅動的載入

zynq 第一個模組驅動的載入

終於可以開始從開發驅動出發了

急忙寫了個最簡模組

#include <linux/init.h>
#include <linux/kernel.h>
#include <linux/module.h>

static int __init vser_init(void)
{
        printk("vser_init\n");
        return 0;
}

static void __exit vser_exit(void)
{
        printk("vser_exit\n");
}

module_init(vser_init);
module_exit(vser_exit);

MODULE_LICENSE("GPL");

直接拷貝韋東山第一期的第一個驅動的Makefile檔案改一下核心目錄和目標檔案

KERN_DIR =/home/hello/camboard/linux-xlnx-master
all:
        make -C $(KERN_DIR) M=`pwd` modules 
clean:
        make -C $(KERN_DIR) M=`pwd` modules clean
        rm -rf modules.order
obj-m   += vser.o

/Desktop$ make 
make -C /home/hello/camboard/linux-xlnx-master M=`pwd` modules 
make[1]: Entering directory '/home/hello/camboard/linux-xlnx-master'
  CC [M]  /home/hello/Desktop/vser.o
  Building modules, stage 2.
  MODPOST 1 modules
  CC      /home/hello/Desktop/vser.mod.o
  LD [M]  /home/hello/Desktop/vser.ko
make[1]: Leaving directory '/home/hello/camboard/linux-xlnx-master'

 cp vser.ko /tftpboot/rootfs

insmod vser.ko

lsmod 發現有一個vser的模組

rmmod vser.ko