将驱动程序编译为内核的一部分,而不是作为模块

将驱动程序编译为内核的一部分,而不是作为模块,第1张

概述将驱动程序编译为内核的一部分,而不是作为模块

我正在尝试为embedded式设备创build一个简约的linux。 这意味着编译内核和驱动程序的必要性。 一个驱动程序是由它的创build者直接写入设备板,所以它不是一个存储库。 它可以被编译为一个内核模块。

但是由于linux不可变的性质以及对内存使用量极小的要求,我不想使用模块。 我想要内核中的所有驱动程序。 所有提供的内核驱动都是这样设置的。

所以我的问题是如何编译一个特殊的驱动程序到内核?

所有的search都没有给我提供一个解决scheme – 所有的只是作为模块编译。

在linux内核空间获得最大支持的cpu频率

madvise(___,___,MADV_DONTNEED)是否指示 *** 作系统懒惰地写入磁盘?

通过内核模块发送数据包

如何在linux内核中使用lockdepfunction进行死锁检测

自制内核链接器全局variables和内联string不能被访问

谢谢你的帮助。

linux / windows内核模块中的无限循环

如何在重新连接时使windbg强制加载符号?

在linux内核模块中定制.mod.c MODulE_AliAS

windows内核是否可以在用户模式下发生损坏

如何使USB设备启用多点触摸?

你一定要把驱动程序源码放在内核源代码树中,并更新makefile以包含它。 你可以看到这是如何工作在步骤1.1到1.3 这里 。

如果用户级别的软件与设备驱动程序进行通话,则可能通过系统调用进行。 搜索通过寻找asmlinkage的驱动程序的源,如果你发现任何这些,那么你正在寻找添加一些系统调用。 以上文档的其余部分将解释如何设置它们。 你将不得不修改至少两个文件(它们可能会有所不同,取决于你的内核版本)。

如果设备驱动程序直接与内核通信,我们正在处理中断,内存映射I / O或DMA。 说实话,我不知道他们是否可以在驱动程序的源文件中进行处理(在这种情况下,你可以做的很好),还是需要修改源代码树中的其他文件。 这是一个很好的资源这样的事情。

祝你好运

总结

以上是内存溢出为你收集整理的将驱动程序编译为内核的一部分,而不是作为模块全部内容,希望文章能够帮你解决将驱动程序编译为内核的一部分,而不是作为模块所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1273159.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-08
下一篇 2022-06-08

发表评论

登录后才能评论

评论列表(0条)

保存