WhyCan Forum

人过留名,雁过留声,感谢各位朋友不离不弃地支持。 QQ: 516333132 (挖坑网/填坑网) admin@whycan.cn

您尚未登录。

#1 2019-11-04 22:52:06

kekemuyu
会员
注册时间: 2018-12-13
累计积分: 323

有关linux外设驱动的疑问

我看zero.licheepi.pro的文档,使用i2c和spi这些常用外设时只要在dts使能相应芯片就行了,难道linux内核已经自带这些常用芯片的驱动了吗?我看主线的目录:https://github.com/torvalds/linux/tree/master/drivers中至少上万种驱动了,难道都编译进内核了吗?

最近编辑记录 kekemuyu (2019-11-04 22:54:00)

离线

#2 2019-11-04 22:58:51

超级萌新
会员
注册时间: 2018-05-04
累计积分: 306

Re: 有关linux外设驱动的疑问

根据 .config 控制哪些驱动参与编译,参与编译才会链接到linux内核。

具体看哪些文件参与编译可以用命令:

find . | grep \\.o$

离线

#3 2019-11-04 23:30:30

kekemuyu
会员
注册时间: 2018-12-13
累计积分: 323

Re: 有关linux外设驱动的疑问

哦,原来如此。瞬间感觉linux真厉害,集成了如此多的驱动,所有这些芯片不用写代码,简单配置一下就可以用了。之前用树莓派读取ds18b20的温度,是直接从一个文件中读到温度的。感觉是树莓派自己把ds18b20的驱动做好了,现在才知道是linux内核的功劳。那我想在f1c100s和v3s用ds18b20是不是配置一下内核就可以了。

最近编辑记录 kekemuyu (2019-11-04 23:36:49)

离线

#4 2019-11-05 06:56:25

nuvoton
会员
注册时间: 2019-06-17
累计积分: 35

Re: 有关linux外设驱动的疑问

对, 所以在 Linux下基本没什么机会写器件驱动,因为都被大神写完了,最多适配一下soc的片内外设, 如SPI/I2C/UART/I2S/CAN等控制器,让他们在Linux下能正常工作就行。

离线

#5 2019-11-05 08:13:12

超级萌新
会员
注册时间: 2018-05-04
累计积分: 306

Re: 有关linux外设驱动的疑问

现在一般linux系统芯片不都是配一下dts吗,平台驱动厂家都做好了,写写应用程序就可以了。

离线

#6 2019-11-05 08:55:07

kekemuyu
会员
注册时间: 2018-12-13
累计积分: 323

Re: 有关linux外设驱动的疑问

还有点疑问是:比如全志的芯片,虽然能运行linux,但外设驱动会因为arm架构和寄存器的差异,还是需要给每一种arm芯片移植驱动呀,难道是全志把所有驱动给每种自己的芯片移植一遍吗?

离线

页脚