驱动编译进内核和编译模块的区别

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了驱动编译进内核和编译模块的区别相关的知识,希望对你有一定的参考价值。

参考技术A LINUX 的内核编译 1.编译内核指的时通常的内核 2.应为内核可以将驱动和功能模块动态的载入内核,所以在需要的时间把功能模块 动态载入,所以就有了,内核模块的编译

11.把helloworld字符驱动模块编译进内核

首先是hello.c 文件:

技术分享

Hello.c:

技术分享

接着是修改driver/char/Kconfig:

技术分享

添加:

技术分享

 

修改字符设备驱动里的Makefile:

技术分享

打开Makefile:

obj-$(CONFIG_HELLO_WORLD) += hello.o

技术分享

 

 

 

进入配置界面:

技术分享

技术分享

选择Device driver:进入:

技术分享

技术分享

选择Character devices:

技术分享

进入:

技术分享

找到我们的helloworld,并选中:

技术分享

一直保存退出:

编译:

技术分享

编译完成:

技术分享

技术分享

技术分享

Tftp烧写:

技术分享

启动看到我们驱动代码打印出来的:

技术分享

说明我们的内核模块成功加入内核了。启动成功。

以上是关于驱动编译进内核和编译模块的区别的主要内容,如果未能解决你的问题,请参考以下文章

11.把helloworld字符驱动模块编译进内核

Linux下把驱动编译进内核 -5

Linux驱动基础开发

linux内核模块编译makefile

linux驱动开发-模块驱动

Linux模块编程框架