芯片-模组-开发板-软件开发包SDK(Software Development Kit)的关系(软件开发人员必须了解的硬件知识)
使用的芯片相同,但不同模組的Flash大小、天線的材質、模組尺寸是不同的。是的,芯片到模組的演變經歷了“定制化、專用化”的過程。模組最終會嵌入到電視、電冰箱、空調等不同的產品中去,對模組的存儲空間大小、模組天線材質、模組的大小要求當然不一樣。
通常,模組的研發是面向“產品”的,因為,模組研發的最終目的是將模組嵌入到目標產品(如,電視、電冰箱、空調)。ESP32-D0WD芯片提供了實現藍牙和WiFI功能的內部集成電路,但A公司只需要WiFi功能,為滿足A公司的需求,僅將ESP32-D0WD芯片的與WiFi功能相關的引腳引出,制作出一款“WiFi”模組(盡管ESP32-D0WD芯片也可以實現藍牙功能,但A公司不需要,因此不對外提供ESP32藍牙功能的接口了)。同理,B公司只需要藍牙功能,為滿足B公司的需求,僅將ESP32芯片的與藍牙功能相關的引腳引出,制作出一款“藍牙”模組。(當然,你可以選擇同時實現藍牙和WiFi功能,這樣引出的引腳更多,模組體積可能更大,money也更多,所以,成本、功能、尺寸都是需要考慮的因素)
同一模組,可以嵌入到多個不同型號的開發板中。同一型號的開發板也可以使用不同的模組(他們只是名字一樣,I/O數量、天線材質等不一樣)。因此,模組與開發板(確切的說是開發板型號,不是開發板實體)的對應關系是多對多的關系。
(不同公司需要的I/O種類和數量不同,需要的UI方式也不同,有的需要顯示屏,有的只需要LED燈就夠了)
實際上,芯片只是“定義”了引腳功能,并未將引腳引出到可供連接的銅箔上,模組將部分引腳引出以供產品連接。
不同模組的功能可能不同,因為他們需要的資源不同,因此引出的引腳不同。
模組是面向“產品”的,最終目的是嵌入到產品內部,成為執行特定功能的模塊(這也是模組概念的由來,模組,即執行特定的功能的模塊,用于組合到產品中使用)
開發板是面向“測試學習”的,是一個假定的“產品”(你打開一個空調,他內部連接的是一個模組,不是一個開發板),是針對嵌入到其內部的模組,提供快速地學習了解,測試模組性能的工具。因此,開發板可看作模組到產品的一個“中間臨時變量”,如下圖所示:
我們很難一次性寫出完全正確的應用程序代碼,因此,盡管最終用到產品中去的是“模組”,但開發板的存在依然重要,在寫應用程序時,將錯誤信息打印到開發板的顯示屏上、或者通過LED燈顯示程序出錯的位置將大大加快開發的進程,保證程序的健壯性。在確保應用程序無誤后,去掉代碼中的“打印語句”(最終產品可能是一個無顯示屏、無LED燈的設備),然后,將代碼批量燒錄到模組中,就得到執行我們指定應用功能的模組了,最后一步就是嵌入到產品中,成為執行一定功能的模塊)。
軟件開發包SDK與芯片、模組、開發板的對應關系是一對多的,在開發包(ESP-IDF中)針對的是某款芯片的開發,是芯片功能實現的一個完備軟件集(如,開發包中包含HTTP協議實現的軟件,而你不需要用HTTP,忽略它,只配置使用自己需要的包即可),因此對于不同的開發板選擇對應芯片的開發包即可。
引用文章:芯片、模組、開發板的區別與聯系-結合ESP32淺談
總結
以上是生活随笔為你收集整理的芯片-模组-开发板-软件开发包SDK(Software Development Kit)的关系(软件开发人员必须了解的硬件知识)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux怎么安装vim?
- 下一篇: linux里根目录下的/bin,usr里