本来打算写一个简单的demo去验证sipn_lock、mutex_lock死锁的,
结果代码写好了,忘了怎么编译成ko了...
还是自己手动记一下,方便以后找资料。
(有很多的博客其实主要内容都是别人的,自己只是照着做了一遍,然后把其中的试错都记录下来,防止下一次再用时再出错)
不废话,直接照做:
写一个.c代码
//下面是驱动源代码
#include #include static int hello_init(void)
{
printk("Hello, World !\n");
return 0;
}
static void hello_exit(void)
{
printk("Goodbye, World !\n");
}
module_init(hello_init);
module_exit(hello_exit);
MODULE_LICENSE("Dual BSD/GPL");
写一个Makefile文件
//下面是Makefile代码
#!/bin/bash
#通知编译器我们要编译模块的哪些源码
#这里是编译 hello.c这个文件编译成中间文件 hello.o
obj-m := hello.o
#声明当前的架构,这里用户需要根据实际情况选择架构类型
export ARCH=arm
#声明交叉编译工具链,这里用户需要根据实际情况选择对应的工具链
<