如何判断硬件是否具有嵌入式Linux支持

简介: 如何判断硬件是否具有嵌入式Linux支持在为您的定制电子设计挑选零件时,可以预先检查Linux驱动程序支持。为不受支持的硬件编写新驱动程序非常耗时,会带来风险,并增加了项目的复杂性。最好选择支持的硬件。

如何判断硬件是否具有嵌入式Linux支持
在为您的定制电子设计挑选零件时,可以预先检查Linux驱动程序支持。为不受支持的硬件编写新驱动程序非常耗时,会带来风险,并增加了项目的复杂性。
最好选择支持的硬件。首先要检查硬件是否受支持,需要找到你将要使用的Linux的确切版本。
获得正确的Linux内核
你可能正在使用来自kernel.org的内核版本,也有可能使用的是SOC供应商提供的任何定制内核。例如,如果您使用的是带有BSP imx_4.9.88_2.0.0_ga的NXP i.MX处理器,你将使用它。你需要确保拥有将要使用的Linux内核的确切版本。一直添加和删除支持,不能保证在两个不同版本的Linux内核中找到相同的代码。
搜索驱动程序支持
既然拥有正确的内核源代码,那么如何检查是否支持给定的硬件部件号?
最好的方法是对要查找的部件号进行文本搜索。接下来将用几个例子来说明这一点。
注意:在这些示例中,使用的是kernel.org的内核版本v5.0-rc1。搜索时使用'git grep',这是一个非常快速的命令行工具,用于搜索git存储库的全部内容。
例1:S25FL512SAGMFI011闪光灯
第一次尝试是搜索整个部件号。
1

如果没有任何结果。下一步是使用不区分大小写的设置进行搜索。最好搜索不区分大小写的内容,因为Linux内核更喜欢驱动程序名称的小写标识符,但可能会发现大写或小写的线索。
2

如果第二次忍忍不能判断出来,接下来要尝试的是从部件号中删除一些尾随字符,因为其中一些可能是指包装,温度范围和其他不影响设备逻辑操作的事情,而不是影响Linux驱动程序操作。
可以从搜索字符串中逐个删除字符,直到获得匹配为止,然后根据数据表和结果做出明智的决定,以查看你的部件是否受支持。查看数据表,我们可以看到只有S25FL512S部件与器件的逻辑操作相关。
3

现在我们有一些结果,第一个结果是“jedec,spi-nor”设备树绑定的一些文档。最后一个结果是进入“spi-nor.c”驱动程序中的表,该驱动程序描述了这个特定闪存芯片的一些属性。
由此可以推断出芯片是否受支持,并且如果按照第一个结果的文档中所述添加了正确的设备树条目,则可以在引导时通过其JEDEC ID进行检测。
例2:MCP79411-I / SN实时时钟
再次,搜索整个部件号并没有透露任何信息。查看数据表,MCP79410,MCP79411和MCP79412只有一个数据资料。唯一的区别是设备内部存储中提供的“唯一ID”类型。因此,我们可以尝试搜索“MCP7941”。
4

我们再次获得一些驱动程序结果和一些关于如何通过设备树添加支持的文档。
终点
有时确切的部分将不会被明确支持,但它可能在功能上与另一部分相同,在这种情况下,相同的驱动程序可以用于两者。
如果不支持该部分,则值得拥有最新Linux内核源代码的副本以进行交叉引用。如果最近添加了支持,你可以将驱动程序“后退”到内核版本。
有时驱动程序已经编写但尚未包含在官方内核源代码中。它可能已经提交到邮件列表,你可以尽早尝试。在很多情况下,搜索引擎可以是一个很大的帮助。

本文由朗锐智科编辑整理(www.lrist.com),如有侵权请联系本站。

相关文章
|
6月前
|
网络协议 算法 Linux
【嵌入式软件工程师面经】Linux网络编程Socket
【嵌入式软件工程师面经】Linux网络编程Socket
172 1
|
4月前
|
NoSQL Linux C语言
嵌入式GDB调试Linux C程序或交叉编译(开发板)
【8月更文挑战第24天】本文档介绍了如何在嵌入式环境下使用GDB调试Linux C程序及进行交叉编译。调试步骤包括:编译程序时加入`-g`选项以生成调试信息;启动GDB并加载程序;设置断点;运行程序至断点;单步执行代码;查看变量值;继续执行或退出GDB。对于交叉编译,需安装对应架构的交叉编译工具链,配置编译环境,使用工具链编译程序,并将程序传输到开发板进行调试。过程中可能遇到工具链不匹配等问题,需针对性解决。
105 3
|
4月前
|
传感器 缓存 Prometheus
在Linux中,如何进行硬件性能监控?
在Linux中,如何进行硬件性能监控?
|
4月前
|
存储 Unix Linux
揭秘Linux硬件组成:从内核魔法到设备树桥梁,打造你的超级系统,让你的Linux之旅畅通无阻,震撼体验来袭!
【8月更文挑战第5天】Linux作为顶级开源操作系统,凭借其强大的功能和灵活的架构,在众多领域大放异彩。本文首先概述了Linux的四大核心组件:内核、Shell、文件系统及应用程序,并深入探讨了内核的功能模块,如存储、CPU及进程管理等。接着介绍了设备树(Device Tree),它是连接硬件与内核的桥梁,通过DTS/DTB文件描述硬件信息,实现了跨平台兼容。此外,还简要介绍了Linux如何通过本地总线高效管理硬件资源,并阐述了文件系统与磁盘管理机制。通过这些内容,读者可以全面了解Linux的硬件组成及其核心技术。
57 3
|
4月前
|
传感器 人工智能 网络协议
:嵌入式 Linux 及其用途
【8月更文挑战第24天】
196 0
|
4月前
|
运维 Linux
在Linux中,如何排查硬件故障?
在Linux中,如何排查硬件故障?
|
5月前
|
Ubuntu 算法 Linux
嵌入式Linux的学习误区
**嵌入式Linux学习误区摘要** 1. **过度聚焦桌面Linux** - 许多学习者误将大量时间用于精通桌面Linux系统(如RedHat、Fedora、Ubuntu),认为这是嵌入式Linux开发的基石。 - 实际上,桌面Linux仅作为开发工具和环境,目标不应是成为Linux服务器专家,而应专注于嵌入式开发工具和流程。 2. **盲目阅读Linux内核源码** - 初学者在不了解Linux基本知识时试图直接研读内核源码,这往往导致困惑和挫败感。 - 在具备一定嵌入式Linux开发经验后再有针对性地阅读源码,才能有效提升技能。
|
4月前
|
Prometheus 监控 Cloud Native
在Linux中,如何使用iostat、sar、netstat等工具进行硬件资源监控?
在Linux中,如何使用iostat、sar、netstat等工具进行硬件资源监控?
|
5月前
|
Linux 调度
部署02-我们一般接触的是Mos和Wimdows这两款操作系统,很少接触到Linux,操作系统的概述,硬件是由计算机系统中由电子和机械,光电元件所组成的,CPU,内存,硬盘,软件是用户与计算机接口之间
部署02-我们一般接触的是Mos和Wimdows这两款操作系统,很少接触到Linux,操作系统的概述,硬件是由计算机系统中由电子和机械,光电元件所组成的,CPU,内存,硬盘,软件是用户与计算机接口之间
|
6月前
|
Linux
Linux设置系统时间(上海时区、硬件时间、重启有效)
Linux设置系统时间(上海时区、硬件时间、重启有效)
659 0