0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

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

星星科技指导员 来源:嵌入式计算设计 作者:Ville Baillie 2022-08-15 11:40 次阅读

在为您的定制电子设计挑选零件时,预先检查 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 闪存

您可能会尝试的第一件事是搜索整个零件编号。

poYBAGL5wEqAC-vjAABTqsPF-Vc509.png

这没什么好说的。下一步是在不区分大小写的情况下进行搜索。最好不区分大小写搜索,因为 Linux 内核更喜欢驱动程序名称的小写标识符,但您可能会在大写或小写中找到线索。

poYBAGL5wFCAVaD7AABRkN3NdxQ278.png

不幸的是,这仍然没有提出任何建议。接下来要尝试的是从部件号中删除一些尾随字符,因为其中一些可能是指包装、温度范围和其他不影响设备逻辑操作的东西,并且不影响Linux驱动程序的运行。

您可以从搜索字符串中逐个删除字符,直到找到匹配项,然后根据数据表和结果做出明智的决定,以查看您的部分是否受支持。查看数据表,我们可以看到只有 S25FL512S 部分与设备的逻辑操作相关。

pYYBAGL5wFaADn_8AAMIWwRIJD8785.png

现在我们有了一些有趣的结果。第一个结果是“jedec,spi-nor”设备树绑定的一些文档。最后一个结果是“spi-nor.c”驱动程序中的一个表条目,该表描述了这个特定闪存芯片的一些属性。

由此我们可以推断该芯片是受支持的,并且可以在启动时通过其 JEDEC ID 检测到,如果按照第一个结果的文档中的描述添加了正确的设备树条目。

示例 2:MCP79411-I/SN 实时时钟

同样,搜索整个零件编号也不会显示任何内容。查看数据表,MCP79410、MCP79411 和 MCP79412 有一个数据表。唯一的区别是设备内部存储中提供的“唯一 ID”类型。因此我们可以尝试搜索“MCP7941”。

pYYBAGL5wF2AMeJmAAGinR8hf0Q914.png

我们再次获得一些驱动程序结果和一些关于如何通过设备树添加支持的文档。

最终积分

有时不会明确支持确切的部分,但它可能在功能上与另一部分相同,在这种情况下,可以对两者使用相同的驱动程序。

如果该部分不受支持,则值得拥有一份最新的 Linux 内核源代码以进行交叉引用。如果最近添加了支持,您可以将驱动程序“反向移植”到您的内核版本。

有时,驱动程序已经编写完成,但尚未包含在官方内核源代码中。它可能已提交到邮件列表,您或许可以尽早试用。在任何情况下,“谷歌”都可以提供很大的帮助。

审核编辑:郭婷

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 芯片
    +关注

    关注

    453

    文章

    50298

    浏览量

    421318
  • 内核
    +关注

    关注

    3

    文章

    1362

    浏览量

    40201
  • Linux
    +关注

    关注

    87

    文章

    11216

    浏览量

    208789
收藏 人收藏

    评论

    相关推荐

    什么是嵌入式Linux

    使用的是LinuxLinux之所以能在嵌入式系统市场上取得如此辉煌的成果,与其自身的优良特性是分不开的。1、广泛的硬件支持
    发表于 01-23 11:59

    判断硬件是否具有嵌入式Linux支持的方法

    如何判断硬件是否具有嵌入式Linux支持在为您的定制电子设计挑选零件时,可以预先检查
    发表于 11-05 06:38

    嵌入式Linux嵌入式Linux开发环境

    嵌入式Linux开发 图1是一个典型的嵌入式Linux开发环境它包括主机工作站或者PC 支持GDB的调试工具BDI2000 目标板和网络.
    发表于 09-10 10:22 119次下载
    <b class='flag-5'>嵌入式</b><b class='flag-5'>Linux</b>和<b class='flag-5'>嵌入式</b><b class='flag-5'>Linux</b>开发环境

    嵌入式linux学习

    嵌入式Linux起步,了解&搭建嵌入式Linux系统,嵌入式系统定义,v嵌入式系统是以应用为中心
    发表于 09-10 10:32 78次下载
    <b class='flag-5'>嵌入式</b><b class='flag-5'>linux</b>学习

    Linux嵌入式系统与硬件平台的关系

    Linux嵌入式系统与硬件平台的关系
    发表于 09-25 15:08 10次下载

    嵌入式】基于ARM的嵌入式Linux开发总结

    --arm-linux进程编程嵌入式知识点复习六 --arm-linux网络编程嵌入式知识点复习七 --linux字符型设备驱动初步
    发表于 10-19 18:32 26次下载
    【<b class='flag-5'>嵌入式</b>】基于ARM的<b class='flag-5'>嵌入式</b><b class='flag-5'>Linux</b>开发总结

    嵌入式linux简介

    嵌入式linux系统应用非常广泛,涵盖各行各业,基于ARM、mips等微处理器架构的硬件平台。基于嵌入式linux系统的设备已经深入生活中各
    发表于 10-19 18:33 7次下载
    <b class='flag-5'>嵌入式</b><b class='flag-5'>linux</b>简介

    嵌入式linux和桌面linux的区别

    嵌入式linux和桌面linux的区别主要区别是:1. 硬件平台:嵌入式Linux一般是Mips
    发表于 10-20 15:36 4次下载
    <b class='flag-5'>嵌入式</b><b class='flag-5'>linux</b>和桌面<b class='flag-5'>linux</b>的区别

    嵌入式linux和物联网,嵌入式Linux或RTOS:用于物联网

    的应用是受设备支持,文件系统,网络连接和UI支持的可用性推动的。它是针对嵌入式系统的Linux的定制版本,因此具有更小的尺寸和最小的功能,并且需要的处理能力也更少。根据
    发表于 11-01 16:33 15次下载
    <b class='flag-5'>嵌入式</b><b class='flag-5'>linux</b>和物联网,<b class='flag-5'>嵌入式</b><b class='flag-5'>Linux</b>或RTOS:用于物联网

    嵌入式 Linux 的基础知识介绍

    嵌入式LinuxLinux内核的改编版,用于嵌入式系统。嵌入式Linux最流行的例子是And
    发表于 11-01 16:58 9次下载
    <b class='flag-5'>嵌入式</b> <b class='flag-5'>Linux</b> 的基础知识介绍

    嵌入式linux和物联网,嵌入式Linux或RTOS:用于物联网

    的应用是受设备支持,文件系统,网络连接和UI支持的可用性推动的。它是针对嵌入式系统的Linux的定制版本,因此具有更小的尺寸和最小的功能,并且需要的处理能力也更少。根据
    发表于 11-01 17:37 16次下载
    <b class='flag-5'>嵌入式</b><b class='flag-5'>linux</b>和物联网,<b class='flag-5'>嵌入式</b><b class='flag-5'>Linux</b>或RTOS:用于物联网

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

    如何判断硬件是否具有嵌入式Linux支持在为您的定制电子设计挑选零件时,可以预先检查
    发表于 11-02 10:21 10次下载
    如何<b class='flag-5'>判断</b><b class='flag-5'>硬件</b><b class='flag-5'>是否</b>具有<b class='flag-5'>嵌入式</b><b class='flag-5'>Linux</b><b class='flag-5'>支持</b>

    是否要从单片机转为嵌入式Linux

    和RTOS经验,之前面试也拿过一些做单片机stm32开发的offer, 所以今天分享关于单片机是否要转嵌入式Linux的一些观点。一、你真的决定要转嵌入式
    发表于 11-13 20:51 11次下载
    <b class='flag-5'>是否</b>要从单片机转为<b class='flag-5'>嵌入式</b><b class='flag-5'>Linux</b>

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

      如果该部分不受支持,则值得拥有一份最新的 Linux 内核源代码以进行交叉引用。如果最近添加了支持,您可以将驱动程序“反向移植”到您的内核版本。
    的头像 发表于 06-30 09:46 870次阅读
    如何<b class='flag-5'>判断</b><b class='flag-5'>硬件</b><b class='flag-5'>是否</b><b class='flag-5'>支持</b><b class='flag-5'>嵌入式</b><b class='flag-5'>Linux</b>

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

    在为您的定制电子设计挑选零件时,可以提前检查 Linux 驱动程序支持。为不受支持硬件编写新的驱动程序非常耗时,会带来风险,并增加项目的复杂性。
    的头像 发表于 12-01 14:25 492次阅读
    如何<b class='flag-5'>判断</b><b class='flag-5'>硬件</b><b class='flag-5'>是否</b>具有<b class='flag-5'>嵌入式</b><b class='flag-5'>Linux</b><b class='flag-5'>支持</b>