linux下驱动移植

linux下驱动移植,第1张

概念比较模糊,首先有一点,驱动内核的一部分,内核代码中大部分代码就是驱动代码。驱动就是让硬件工作起来(通俗的讲),但现实中,硬件种类特别多,比如触摸屏,有不同的硬件可以实现触摸屏功能。你的产品或者开发板电路上用的是什么硬件芯片,就得有相应的驱动。为什么要驱动移植呢?因为linux内核里不可能有世界上所有的硬件驱动(一般有常见的驱动),这时候,如果你的硬件电路板上的硬件正好在内核里有相应的驱动,那么正好可以用。但如果没有的话,你就得自己想办法写个驱动,但是写驱动的代价也是挺大的,所以目前大部分硬件芯片厂商已经将驱动程序写好了,你要做的,就到它的官网上把驱动源代码下载下来(或者其他方式),然后将其加入到linux内核中,必要时,可能还要根据实际情况,还要修改一些代码(但相比自己写,容易的很)。

你好:

如果驱动功能简单的话,是可以直接使用的,因为2.4内核的某些函数接口在2.6内核中也是被支持的。

如果功能稍复杂可查看2.6内核中该函数的另一种API。也可以先将驱动放到2.6中去编译,根据错误来修改程序。

另外,由于两个内核有一定差别,其头文件路径也有所变化,这点需特别注意。

希望我的回答能帮助到你。

你有老kernel的编译配置吗,就是.config文件?如果有,用老配置编译新内核。如果没有,实际上新内核应该也提供了你的本本的驱动,可以重新编译内核,把自己的驱动选进去。如果真不行,直接把/lib/modules/下对应版本的模块拷贝到新系统,并改名成新内核的版本号,然后把/lib/firmware也考到新系统的/lib里


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

原文地址: http://outofmemory.cn/yw/8353950.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-15
下一篇 2023-04-15

发表评论

登录后才能评论

评论列表(0条)

保存