開發(fā)STM32 MPU 不要低估軟硬件,不要放棄MCU的起源
關(guān)注、星標公眾號,不錯過精彩內(nèi)容
來源:STM32
今年,ST發(fā)布的旗艦型STM32MP1主頻為800MHz,與2019年推出的主頻為 650MHz STM32MP1 入門級系列全引腳兼容,持續(xù)擴展MPU產(chǎn)品系列。
MP1上市已經(jīng)一周年了,ST將這一年的經(jīng)驗歸納為十條準則,與開發(fā)者分享,在項目立項或開始之時,應多考量前四條準則,而要想成功交付項目,就需要遵循后六項準則。這十條準則將幫助MCU開發(fā)者或者團隊向MPU轉(zhuǎn)型;而對于傳統(tǒng) MPU 用戶,我們可以通過提供垂直應用解決方案為他們獨辟蹊徑。
1
不要低估軟件的重要性
▲ 從STM32MP1 探索板開始學習MPU
2
不能忘記你的軟件
在采用 MPU 開發(fā)產(chǎn)品時,軟件起著至關(guān)重要的作用。代碼庫不僅僅是開發(fā)團隊的成熟經(jīng)驗積累,代碼庫的移植復用會為團隊帶來很高的經(jīng)濟效益。例如,對于采用STM32MP1進行開發(fā)設計的公司來說,在優(yōu)化軟件的同時,還能夠通過軟件移植快速推出產(chǎn)品。采用 MPU進行開發(fā)的公司可以通過軟件快速更新其產(chǎn)品應用程序,也就是說,開發(fā)團隊先行推出產(chǎn)品驗證市場,然后快速優(yōu)化,從而更快地降低成本、更迅速地改善用戶體驗。因此,工程師在項目之初,必須認真規(guī)劃產(chǎn)品快速更新的路線圖。
3
不應低估您的PCB設計
基于MCU的PCB設計,我們通常需要處理二到六層,雖然這樣的定制設計并不簡單,但至少是可行的;而MPU的PCB設計則要復雜得多。開發(fā)團隊往往需要處理八層或更多層,還要應付那極為復雜的電源管理IC,處理難度頗高的高速外部RAM。實際上,對 DDR 模塊進行采樣,同時并行處理多達 32 路信號,以及由此帶來的開發(fā)難度,即使是最資深的老炮兒工程師,也要面臨非常大的挑戰(zhàn)。
ST最新提供DDR工具可以自動輸出特定的配置參數(shù),這個自動配置功能是我們?yōu)楸M力降低MPU開發(fā)難度而設計的。與此同時,我們與系統(tǒng)級模塊(SoM)供應商和系統(tǒng)級封裝(SiP)合作伙伴通力合作,確保工程師獲得有效幫助來解決這一難題。來自MCU世界的工程師必須明白MPUPCB設計是一個完全不同的怪獸。STM32MP1 有助于降低 PCB 成本,同時由于其0.5 mm / 0.8 mm 間距,通過避免過孔來減少 PCB 層數(shù)。
4
了解工程師做好開發(fā)的前提
5
不能忽視您的SoM和SiP合作伙伴
STM32MP1 有許多非常獨特的優(yōu)勢,其中之一就是系統(tǒng)級模塊(SoM)廠商和系統(tǒng)級封裝(SiP)合作伙伴支持MP1模組的生產(chǎn)制造,可提供出色的開發(fā)解決方案。來自 MCU 領域的許多公司和團隊,有時會過快地取消這些服務,認為如果內(nèi)部處理設計操作,可以節(jié)省資金。然而,設計一個類似SOM的產(chǎn)品,由于需要DDR調(diào)諧并適配板級支持包,這樣復雜的PCB設計周期可能需要4-6名工程師至少4至6個月的時間。即使不計算相關(guān)驗證和生產(chǎn)費用,這樣的運營方式將大幅推高成本。
某些團隊可能不愿意與SoM或SiP供應商合作,僅僅因為覺得會產(chǎn)生高額的初始成本。但是在大多數(shù)情況下,通過雇傭一家公司來處理解決MPU固有的硬件復雜性,比從零開始設計制作PCB和開發(fā)板級支持包有更大的回報,我們要相信精細化分工。選擇"系統(tǒng)級模塊"的開發(fā)者,將獲得更多的技術(shù)靈活性,以及本地支持,因為這樣的設計經(jīng)過了批量驗證。選擇"系統(tǒng)級封裝"的開發(fā)者,通常原因是產(chǎn)品需要適合空間受限的應用環(huán)境。兩種情況,最直觀的受益是降低PCB設計生產(chǎn)成本,并允許進行四層板設計。因此,與SiP或SoM合作伙伴合作,團隊得以專注于軟件和獨特功能的開發(fā),這是項目規(guī)劃實施的重中之重。
6
不要延遲產(chǎn)品發(fā)布
公司可能的最大陷阱之一是沒完沒了地推遲產(chǎn)品發(fā)布。延遲發(fā)布的影響通常比人們預期的更具災難性。慣常情況下,產(chǎn)品延遲發(fā)布,要么是因為開發(fā)團隊沒有避開以前開發(fā)過程中踩過的坑,要么是沒有正確地分配項目投入。采用 MPU開發(fā)的初始成本有時高于集成MCU 的成本,但在策略方面,首次在市場上為客戶提供新解決方案更為重要。再者,MPU開發(fā)的軟件復用會容易得多,即使調(diào)整了硬件平臺,構(gòu)建用戶群持續(xù)更新設計也相對簡單;MPU項目通常在初始啟動后,能夠更快地獲得投資回報,硬件和軟件的迭代更新也非常顯著。盡管開發(fā)周期有挑戰(zhàn),任務艱巨,但回報更為直接。
7
不應忽視Linux社區(qū)
很多時候,公司在進行 MPU 項目開發(fā)時,會誤判 Linux 版本的重要性。實際開發(fā)中,操作系統(tǒng)至關(guān)重要,而我們提供的OpenSTLinux版本可以滿足大量的開發(fā)和工程需求,該版本中針對各種例程的三個軟件包,為開發(fā)者帶來極大的便利。Linux經(jīng)過近三十年的發(fā)展,它的靈魂就是開源,也因此吸引了極為廣泛的開發(fā)群體,名目多樣的開源社區(qū)不僅可供開發(fā)者討論交流技術(shù)問題,其中的開源代碼也可以幫助開發(fā)者實現(xiàn)快速移植。2019年,我們還發(fā)布了STM32MPUAndroid版本,讓開發(fā)者能夠快速開發(fā)基于Android移動操作系統(tǒng)的三方應用程序,熟悉Android的開發(fā)者將因此節(jié)省大量開發(fā)時間。
我們?yōu)?Linux 開源社區(qū)貢獻了大量代碼,也因此脫穎而出,我們還將保證廣泛的內(nèi)核支持。Linux 社區(qū)驗證了STM32MPU的所有驅(qū)動程序,我們支持類似 Yocto的項目,這類項目對在嵌入式系統(tǒng)上使用 Linux非常有幫助。另外,我們同時支持兩個 Linux 內(nèi)核。雖然當前的長期支持版本仍在修復和修補程序過程中,我們?nèi)詴ㄟ^升級和修復支持下一個 LTS 版本。這意味著每個LTS內(nèi)核至少獲得兩年的支持,這樣公司就可以毫無后顧之憂地更新其操作系統(tǒng)內(nèi)核,而不必擔心報錯時的安全缺陷或缺乏支持。
8
不要放棄你的技術(shù)社區(qū)意識
MPU 的成功是因為開源的靈魂、團隊協(xié)作的智慧,而提高效率的一個最佳方式就是與專家協(xié)作。因此,一個好的MPU開發(fā)商必須有很多合作伙伴來幫助工程師完成各種任務。2019 年,意法半導體的授權(quán)合作伙伴從 8 個增加到 27 個,在ST 合作伙伴計劃中,也有大量團隊協(xié)助設計人員使用 STM32MP1。例如,我們的一些合作伙伴提供模塊來加速硬件開發(fā)階段,而另一些合作伙伴在圖形用戶界面做了很多工作,極大地簡化了在STM32MPU上創(chuàng)建圖形界面的門檻,還有些合作伙伴為用戶提供工程服務和培訓。項目經(jīng)理在評估MPU或者選型時,都應該考量這款產(chǎn)品聚合的社區(qū)生態(tài)及質(zhì)量,而我們?nèi)找纨嫶蟮纳鐓^(qū)用戶和越來越多的合作伙伴將堅定你選用STM32MPU的信心。
9
不要只埋頭設計,更要理解市場
當我們展望新技術(shù)的未來時,會發(fā)現(xiàn)屏幕越來越普及,蓬勃增長的屏幕數(shù)量和種類正在改變這個行業(yè)。即使是最簡單的白色家電或工業(yè)系統(tǒng)也開始有一個酷炫的顯示器,并需要一個可以媲美手機流暢度的觸摸界面。嵌入式系統(tǒng)中的 GUI 應用也呼之欲出,比以往任何時候都更加常見,逐漸成為電子產(chǎn)品的標配。而伴隨著機器學習在邊緣端應用的興起,用戶對聯(lián)網(wǎng)產(chǎn)品有了更多期待。微處理器應用在小型系統(tǒng)上并不是新鮮事,但既要滿足更強大的圖形功能和更多的AI應用,同時仍保持低功耗,開發(fā)者必須考慮采用 MPU來實現(xiàn)。
▲ 觸摸處處有屏的新世界
STM32MP1 最為出色的特點之一便是其 3D 圖形 IP,可為人機界面(HMI)應用程序創(chuàng)建流暢、復雜的高品質(zhì)圖形環(huán)境系統(tǒng)。采用我們的面向用戶界面設計開發(fā)的合作伙伴方案,可以令開發(fā)過程簡單明了、工程師獲得有價值的回報,同時也滿足了最終用戶的需求。
10
不要放棄MCU的起源
有一些公司開發(fā)微控制器解決方案已經(jīng)很多年,對于向MPU應用遷移有很多顧慮,會覺得自己是外行,這樣的轉(zhuǎn)型會失去以往在MCU方面的經(jīng)驗和技術(shù)積累。STM32MP1可以化解這類用戶的焦慮,MP1并不要求開發(fā)者放棄 MCU。得益于STM32MP1的獨創(chuàng)異構(gòu)系統(tǒng)架構(gòu),除了兩個A7內(nèi)核,還有一個Cortex-M4內(nèi)核,它可以運行RTOS,開發(fā)團隊可以復用電機控制等應用程序,只需將已在其他MCU上運行的電機策略和算法快速移植過來即可。而MPU帶來的高計算吞吐量、大DDR 內(nèi)存以及Linux 開發(fā)環(huán)境,與慣用的 MCU 應用程序同時呈現(xiàn),開發(fā)者可以更為順暢地適應這種轉(zhuǎn)型。
長按前往圖中包含的公眾號關(guān)注
免責聲明:本文內(nèi)容由21ic獲得授權(quán)后發(fā)布,版權(quán)歸原作者所有,本平臺僅提供信息存儲服務。文章僅代表作者個人觀點,不代表本平臺立場,如有問題,請聯(lián)系我們,謝謝!