Linux之设备驱动模型学习笔记

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/zym326975/article/details/84719050

 

提供了对许多模块支持,包括但不限于设备驱动

每个模块由目标代码组成(没有连接成一个完整可执行程序)

insmod将模块动态加载到正在运行的内核

rmmod程序移除模块 

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

MODULE_LICENCE("Dual BSD/GPL");

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");
}

内核驱动模块与应用程序对比

应用程序是一个进程

编程从主函数main()开始

主函数main返回即是进程结束 

驱动程序是一系列内核函数

驱动程序向内核添加了一些函数,是内核的一部分:open() release() read() write()

这些函数由内核在适当的时候来调用

这些函数可以用来完成硬件访问操作

 

猜你喜欢

转载自blog.csdn.net/zym326975/article/details/84719050
今日推荐