0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

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

星星科技指導(dǎo)員 ? 來源:嵌入式計算設(shè)計 ? 作者:Ville Baillie ? 2022-06-30 09:46 ? 次閱讀

在為您的定制電子設(shè)計挑選零件時,預(yù)先檢查 Linux 驅(qū)動程序支持是值得的。為不受支持的硬件編寫新的驅(qū)動程序既費時又會帶來風(fēng)險并增加項目的復(fù)雜性。

最好選擇支持的硬件。我們?nèi)绾问紫葯z查硬件是否受支持?首先,您需要找到您將使用的 Linux 的確切版本。

獲得正確的 Linux 內(nèi)核

您可能使用的是 kernel.org 的內(nèi)核版本,但更有可能使用的是 SOC 供應(yīng)商提供的任何定制內(nèi)核。例如,如果您使用帶有 BSP imx_4.9.88_2.0.0_ga 的 NXP i.MX 處理器,那么您將使用這個。

您需要確保您擁有將要使用的 Linux 內(nèi)核的確切版本。支持一直在添加和刪除,不能保證在兩個不同版本的 Linux 內(nèi)核中會找到相同的代碼。

尋找驅(qū)動程序支持

既然您擁有正確的內(nèi)核源代碼,那么如何檢查給定的硬件部件號是否受支持?

最好的方法是對您要查找的部件號進(jìn)行文本搜索。我將用幾個例子來說明這一點。

注意:在這些示例中,我們使用的是 kernel.org 的內(nèi)核版本 v5.0-rc1。搜索我們將使用“git grep”,這是一個非??焖俚拿钚泄ぞ撸糜谒阉?git 存儲庫的全部內(nèi)容。

示例 1:S25FL512SAGMFI011 閃存

您可能會嘗試的第一件事是搜索整個零件編號。

pYYBAGK9AKyAUVbzAABVxpw5528396.png

這沒什么好說的。下一步是在不區(qū)分大小寫的情況下進(jìn)行搜索。最好不區(qū)分大小寫搜索,因為 Linux 內(nèi)核更喜歡驅(qū)動程序名稱的小寫標(biāo)識符,但您可能會在大寫或小寫中找到線索。

pYYBAGK9ALKAGq20AABSamvv7sA145.png

不幸的是,這仍然沒有提出任何建議。接下來要嘗試的是從部件號中刪除一些尾隨字符,因為其中一些可能是指封裝、溫度范圍和其他不影響設(shè)備邏輯操作的內(nèi)容,并且不影響Linux驅(qū)動程序的運行。

您可以從搜索字符串中逐個刪除字符,直到找到匹配項,然后根據(jù)數(shù)據(jù)表和結(jié)果做出明智的決定,以查看您的部分是否受支持。查看數(shù)據(jù)表,我們可以看到只有 S25FL512S 部分與設(shè)備的邏輯操作相關(guān)。

pYYBAGK9ALiAffACAAMH0BAGVf4321.png

現(xiàn)在我們有了一些有趣的結(jié)果。第一個結(jié)果是“jedec,spi-nor”設(shè)備樹綁定的一些文檔。最后一個結(jié)果是“spi-nor.c”驅(qū)動程序中的一個表條目,該表描述了這個特定閃存芯片的一些屬性。

由此我們可以推斷該芯片是受支持的,并且可以在啟動時通過其 JEDEC ID 檢測到,如果按照第一個結(jié)果的文檔中的描述添加了正確的設(shè)備樹條目。

示例 2:MCP79411-I/SN 實時時鐘

同樣,搜索整個零件編號也不會顯示任何內(nèi)容。查看數(shù)據(jù)表,MCP79410、MCP79411 和 MCP79412 有一個數(shù)據(jù)表。唯一的區(qū)別是設(shè)備內(nèi)部存儲中提供的“唯一 ID”類型。因此我們可以嘗試搜索“MCP7941”。

poYBAGK9AMCAGIbTAAGiWJnYQ74305.png

我們再次獲得一些驅(qū)動程序結(jié)果和一些關(guān)于如何通過設(shè)備樹添加支持的文檔。

最終積分

有時不會明確支持確切的部分,但它可能在功能上與另一部分相同,在這種情況下,可以對兩者使用相同的驅(qū)動程序。

如果該部分不受支持,則值得擁有一份最新的 Linux 內(nèi)核源代碼以進(jìn)行交叉引用。如果最近添加了支持,您可以將驅(qū)動程序“反向移植”到您的內(nèi)核版本。

有時,驅(qū)動程序已經(jīng)編寫完成,但尚未包含在官方內(nèi)核源代碼中。它可能已提交到郵件列表,您或許可以盡早試用。在任何情況下,“谷歌”都可以提供很大的幫助。

審核編輯:郭婷

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • Linux
    +關(guān)注

    關(guān)注

    87

    文章

    11345

    瀏覽量

    210392
  • 源代碼
    +關(guān)注

    關(guān)注

    96

    文章

    2946

    瀏覽量

    66955
收藏 人收藏

    評論

    相關(guān)推薦

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

    飛凌嵌入式FETMX8MM-C核心板現(xiàn)已支持Linux6.1系統(tǒng),此次升級不僅使系統(tǒng)功能更加豐富,還通過全新BSP實現(xiàn)了內(nèi)存性能的顯著提升。
    的頭像 發(fā)表于 01-10 09:56 ?1937次閱讀
    飛凌<b class='flag-5'>嵌入式</b>i.MX8M Mini核心板已<b class='flag-5'>支持</b><b class='flag-5'>Linux</b>6.1

    嵌入式系統(tǒng)開發(fā)與硬件的關(guān)系 嵌入式系統(tǒng)開發(fā)常見問題解決

    嵌入式系統(tǒng)開發(fā)與硬件的關(guān)系 嵌入式系統(tǒng)是專為特定應(yīng)用設(shè)計的計算機(jī)系統(tǒng),它們通常嵌入在所控制的設(shè)備中。這些系統(tǒng)的關(guān)鍵特點是它們與硬件的緊密集成
    的頭像 發(fā)表于 12-09 09:38 ?418次閱讀

    嵌入式 Linux 操作系統(tǒng)配置

    隨著物聯(lián)網(wǎng)(IoT)和智能設(shè)備的快速發(fā)展,嵌入式系統(tǒng)在各個領(lǐng)域扮演著越來越重要的角色。Linux因其開源、靈活和穩(wěn)定的特性,成為嵌入式系統(tǒng)的首選操作系統(tǒng)。 1. 硬件選擇 在配置
    的頭像 發(fā)表于 11-06 10:22 ?601次閱讀

    【北京迅為】i.mx8mm嵌入式linux開發(fā)指南第四篇 嵌入式Linux系統(tǒng)移植篇第六十九章uboot移植

    【北京迅為】i.mx8mm嵌入式linux開發(fā)指南第四篇 嵌入式Linux系統(tǒng)移植篇第六十九章uboot移植
    的頭像 發(fā)表于 10-22 14:46 ?751次閱讀
    【北京迅為】i.mx8mm<b class='flag-5'>嵌入式</b><b class='flag-5'>linux</b>開發(fā)指南第四篇 <b class='flag-5'>嵌入式</b><b class='flag-5'>Linux</b>系統(tǒng)移植篇第六十九章uboot移植

    嵌入式主板是什么意思?嵌入式主板全面解析

    嵌入式主板,通常被稱為嵌入式系統(tǒng)的核心組件,是一種用于控制和數(shù)據(jù)處理的計算機(jī)硬件,其設(shè)計旨在嵌入特定設(shè)備中執(zhí)行專門任務(wù)。嵌入式主板如同是設(shè)備
    的頭像 發(fā)表于 09-30 10:05 ?972次閱讀

    七大嵌入式GUI盤點

    提供商業(yè)技術(shù)支持,同時也繼續(xù)提供開源版本。MiniGUI為嵌入式Linux系統(tǒng)提供了完整的多進(jìn)程支持;可以MiniGUI-Processes、MiniGUI-Threads或者
    發(fā)表于 09-02 10:58

    嵌入式linux開發(fā)的基本步驟有哪些?

    嵌入式Linux開發(fā)是一個復(fù)雜的過程,涉及到硬件選擇、操作系統(tǒng)移植、驅(qū)動開發(fā)、應(yīng)用程序開發(fā)等多個方面。以下是嵌入式Linux開發(fā)的基本步驟,
    的頭像 發(fā)表于 09-02 09:11 ?629次閱讀

    嵌入式linux開發(fā)板怎么操作

    嵌入式Linux開發(fā)板是一種基于Linux操作系統(tǒng)的嵌入式系統(tǒng)開發(fā)平臺。它通常包括一個處理器、內(nèi)存、存儲器、輸入/輸出接口等硬件組件,以及一
    的頭像 發(fā)表于 09-02 09:09 ?467次閱讀

    嵌入式linux開發(fā)板芯片的工作原理

    了處理器、存儲器、輸入/輸出接口等硬件資源的嵌入式系統(tǒng)開發(fā)平臺。它通常采用Linux操作系統(tǒng)作為底層軟件平臺,提供了豐富的開發(fā)工具和庫函數(shù),方便開發(fā)者進(jìn)行嵌入式系統(tǒng)開發(fā)。 1.1
    的頭像 發(fā)表于 09-02 09:07 ?475次閱讀

    【出版發(fā)行】嵌入式系統(tǒng)原理與開發(fā)——基于RISC-V和Linux系統(tǒng)

    【出版發(fā)行】嵌入式系統(tǒng)原理與開發(fā)——基于RISC-V和Linux系統(tǒng)
    的頭像 發(fā)表于 07-26 08:36 ?387次閱讀
    【出版發(fā)行】<b class='flag-5'>嵌入式</b>系統(tǒng)原理與開發(fā)——基于RISC-V和<b class='flag-5'>Linux</b>系統(tǒng)

    專家力薦|《嵌入式系統(tǒng)原理與開發(fā)——基于RISC-V和Linux系統(tǒng)》新書發(fā)售

    當(dāng)前,嵌入式系統(tǒng)已成為智能設(shè)備的核心之一,RISC-V+Linux的開源力量為嵌入式系統(tǒng)注入強(qiáng)大的創(chuàng)新動力。作為中國RISC-V軟硬件生態(tài)領(lǐng)導(dǎo)者,賽昉科技與業(yè)界專家合作推出《
    的頭像 發(fā)表于 07-24 08:20 ?691次閱讀
    專家力薦|《<b class='flag-5'>嵌入式</b>系統(tǒng)原理與開發(fā)——基于RISC-V和<b class='flag-5'>Linux</b>系統(tǒng)》新書發(fā)售

    從事嵌入式方向,一定要軟硬件通吃?

    嵌入式系統(tǒng)開發(fā)領(lǐng)域,軟件和硬件的界限常常模糊不清。一個常見的問題是,嵌入式軟件工程師是否需要了解硬件。本文將探討這一問題的重要性,并分析
    的頭像 發(fā)表于 06-05 08:10 ?1284次閱讀
    從事<b class='flag-5'>嵌入式</b>方向,一定要軟<b class='flag-5'>硬件</b>通吃?

    介紹一種嵌入式Linux中的錄音降噪方案

    降噪不僅只能從硬件入手,本文為您介紹一種嵌入式Linux中的錄音降噪方案。該方案完全依靠軟件實現(xiàn),最大程度上降低投入。
    的頭像 發(fā)表于 05-21 11:52 ?622次閱讀

    嵌入式系統(tǒng)軟硬件基礎(chǔ)知識大全

    嵌入式系統(tǒng)是現(xiàn)代科技發(fā)展的一個重要分支,廣泛應(yīng)用于工業(yè)控制、消費電子、醫(yī)療設(shè)備、汽車電子等領(lǐng)域。本文試圖全面解析嵌入式系統(tǒng)的軟基礎(chǔ)知識,以期讓讀者對這一技術(shù)有更深入的了解。嵌入式系統(tǒng)是由硬件
    發(fā)表于 05-09 14:12

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

    我有一個關(guān)于 CCG3 的問題。 CCG3 是否支持 AlteranteMode 上的嵌入式顯示端口?
    發(fā)表于 03-05 06:44