嵌入式开发:加载模块注意事项

一、Makefile文件

#!/bin/bash

obj-m += 1mini_linux_printf.o

KDIR := /lib/modules/$(shell uname -r)/build

PWD ?= $(shell pwd)

all:
	make -C $(KDIR) M=$(PWD) modules
	
clean:
	rm -rf *.o

注意: 1、mini_linux_module.o 的名字要跟 .c文件一样
2、KDIR路径是linux内核的路径 ,$(shell uname -r) 读取出Linux的版本名字



二、1mini_linux_printf.c

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

MODULE_LICENSE("Dual BSD/GPL");  //声明GPL协议
MODULE_AUTHOR("TOPEET");		//代码作者

static int hello_init(void)
{
	printk(KERN_EMERG "Hello World enter!\n");
	return 0;
}

static void hello_exit(void)
{
	printk(KERN_EMERG "Hello world exit!\n");
}

module_init(hello_init);  //初始化函数
module_exit(hello_exit);  //卸载函数

猜你喜欢

转载自blog.csdn.net/weixin_38956024/article/details/101385084