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

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

3天内不再提示

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

星星科技指导员 来源:嵌入式计算设计 作者:Ville Baillie 2022-06-30 09:46 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

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

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

pYYBAGK9AKyAUVbzAABVxpw5528396.png

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

pYYBAGK9ALKAGq20AABSamvv7sA145.png

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

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

pYYBAGK9ALiAffACAAMH0BAGVf4321.png

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

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

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

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

poYBAGK9AMCAGIbTAAGiWJnYQ74305.png

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

最终积分

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

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

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

审核编辑:郭婷

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

    关注

    88

    文章

    11628

    浏览量

    217951
  • 源代码
    +关注

    关注

    96

    文章

    2953

    浏览量

    69649
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    嵌入式硬件设计解析

    、需求分析 在进行嵌入式硬件设计之前,首先需要进行需求分析,明确系统的功能需求、性能要求、工作环境、成本限制等。例如,对于一个工业温度控制系统,需要确定测量的温度范围、精度要求、响应时间、是否需要远程监控
    发表于 12-02 08:22

    嵌入式与FPGA的区别

    ,一是嵌入式软件开发,主要与嵌入式cao作系统、应用软件等有关。第二是嵌入式硬件开发,需要掌握硬件设计、模拟仿真、 PCB设计等技能。 ✅2
    发表于 11-20 07:12

    嵌入式需要掌握哪些核心技能?

    嵌入式需要掌握哪些核心技能? 若想通过学习嵌入式技术提升就业竞争力,需重点掌握C语言、嵌入式硬件架构、RTOS/Linux开发、通信协议四
    发表于 10-21 16:25

    如何判断射频模块的硬件是否损坏?

    判断射频模块(如射频信号发生器中的核心模块)的硬件是否损坏,需围绕 “ 直观物理异常、功能完全失效、参数极端异常、拆解后硬件特征 ” 四大维度展开,核心是区分 “
    的头像 发表于 10-14 17:36 653次阅读

    嵌入式软件测试与专业测试工具的必要性深度解析

    覆盖率达95%的CAN通信模块测试。 监控与调试工具 ‌Monit‌:开源的Linux监控工具,可监测硬件资源和操作系统资源,对宿主机的CPU和内存占用极小,特别适合嵌入式系统。 ‌泰克示波器4系列
    发表于 09-28 17:42

    嵌入式工程师为什么要学QT?

    、车载系统和消费电子等领域尤为突出。其跨平台特性、丰富的库和工具、高性能以及强大的GUI支持,让Qt成为嵌入式开发最理想的选择。 嵌入式工程师学习Qt有很多好处。 跨平台支持 Qt
    发表于 08-14 15:15

    一文读懂:嵌入式Linux实时性进阶

    在工业控制、机器人、汽车电子等关键领域,嵌入式系统对实时性要求极高。 Linux作为强大的通用操作系统,其原生实时性能难以满足最严苛的硬实时需求。为突破这一限制,PREEMPT_RT补丁
    发表于 07-10 15:26

    怎么结合嵌入式Linux,和FPGA三个方向达到一个均衡发展?

    嵌入式领域,不少人都怀揣着让嵌入式Linux 和 FPGA 三个方向实现均衡发展的梦想,然而实践中却面临诸多挑战。就像备受瞩目的全栈工程师稚晖君,他从大学玩单片机起步,凭借将智能算法融入
    的头像 发表于 06-25 10:08 649次阅读
    怎么结合<b class='flag-5'>嵌入式</b>,<b class='flag-5'>Linux</b>,和FPGA三个方向达到一个均衡发展?

    Linux嵌入式和单片机嵌入式的区别?

    :使用Linux操作系统,可以运行各种复杂的应用程序和驱动程序。 4. 资源需求 : 单片机嵌入式 :对硬件资源的需求较低,通常只需要一个单片机芯片,内存和存储空间较小。 Linux
    发表于 06-20 09:46

    CCG3是否支持AlteranteMode上的嵌入式显示端口?

    我有一个关于 CCG3 的问题。 CCG3 是否支持 AlteranteMode 上的嵌入式显示端口?
    发表于 05-26 07:57

    嵌入式开发入门指南:从零开始学习嵌入式

    随着物联网、智能硬件的发展,嵌入式开发成为热门技能之一。以下将为初学者提供一份详细的嵌入式开发入门指南,涵盖学习路径、必备工具、推荐资源等内容。 1. 嵌入式系统的定义与应用
    发表于 05-15 09:29

    硬核升级!华清远见STM32MP157驱动开发课程助力嵌入式Linux底层开发入门进阶

    嵌入式Linux系统开发中,驱动程序开发是一项关键技术,它作为硬件与软件之间的桥梁,实现了操作系统对硬件设备的控制。相较于嵌入式
    的头像 发表于 04-03 16:40 702次阅读
    硬核升级!华清远见STM32MP157驱动开发课程助力<b class='flag-5'>嵌入式</b><b class='flag-5'>Linux</b>底层开发入门进阶

    怎么嵌入式linux下控制dlp?

    请问怎么嵌入式linux 下控制dlp,有没有支持
    发表于 03-03 07:02

    飞凌嵌入式i.MX8M Mini核心板已支持Linux6.1

    飞凌嵌入式FETMX8MM-C核心板现已支持Linux6.1系统,此次升级不仅使系统功能更加丰富,还通过全新BSP实现了内存性能的显著提升。
    的头像 发表于 01-10 09:56 2807次阅读
    飞凌<b class='flag-5'>嵌入式</b>i.MX8M Mini核心板已<b class='flag-5'>支持</b><b class='flag-5'>Linux</b>6.1

    嵌入式系统开发与硬件的关系 嵌入式系统开发常见问题解决

    嵌入式系统开发与硬件的关系 嵌入式系统是专为特定应用设计的计算机系统,它们通常嵌入在所控制的设备中。这些系统的关键特点是它们与硬件的紧密集成
    的头像 发表于 12-09 09:38 1466次阅读