恩智浦MCUX SDK在GitHub上線了......

大家好,我是痞子衡,是正經搞技術的痞子。今天痞子衡給大家講的是恩智浦MCUX SDK 在GitHub上線一事

其實在差不多一個月前(2021年1月6日),恩智浦MCUX SDK就在GitHub悄悄上線了,官方並沒有做太多宣傳,但這事對於一個恩智浦微控制器(MCU)開發者來說意味着很多,痞子衡今天就試着給大家解讀一下。

  • MCUX SDK項目地址:https://github.com/NXPmicro/mcux-sdk

在如今MCU功能設計越來越複雜的前提下,嵌入式開發者如果還是用十幾年前開發8/16 bit MCU那一套經驗(看官方參考手冊來裸寫MCU外設寄存器當基礎驅動)來開發現在的MCU顯然是不可想象的,且不論開發者能力是否足以寫出合適的底層驅動,單說那項目開發效率也是讓人無法接受的,因此有一個完善的官方SDK驅動包越來越重要。

SDK包通常會包含基礎的MCU外設驅動,一些示例代碼,甚至還可以集成常用的小組件(按鍵、存儲器、傳感器驅動等)、第三方軟件庫中間件(文件系統、GUI、編解碼、加解密等)、RTOS支持等。SDK包可以幫助開發者節約大量的時間,讓開發者將主要精力集中在覈心的應用功能設計上。

說起恩智浦MCUX SDK,這得追溯到2009/2010年,那時候原恩智浦剛開始推出第一款Cortex-M0內核的LPC1100,老飛思卡爾(2015年被恩智浦收購)剛推出第一款Cortex-M4內核的Kinetis K60,一開始這兩家都沒有規範的SDK包,只是給了Simple Code包,就是非常簡單的外設驅動庫,可以讓開發者快速把芯片玩起來。2012年的時候,老飛思卡爾開始爲Kinetis系列開發完善的SDK包(v1.x時期),這就是現在的恩智浦MCUXpresso SDK包的前身,這個SDK開發至今(目前最新版本是v2.9)已8年有餘了,功能可以說是相當豐富了。

SDK v1.x的時候,主要支持Kinetis系列,那時候SDK包本身不算大,功能組件也沒有如今這麼豐富,因此包的下載方式比較粗暴,官網提供了唯一的下載入口,一個包可以直接將整個SDK倉庫全部拿下來(所有Kinetis型號全部在內)。但是到了SDK v2.x後期,隨着MCU型號越來越多,以及有LPC、DSC、JN、QN、i.MX等新系列的加入,SDK倉庫越來越大,再用一個包去把全部MCU型號的驅動都拿下來不太現實,一是包大了下載時間太長;二是開發LPC的用戶拿到一個包含非LPC系列的驅動包也沒意義,因此現在的MCUX SDK官方下載頁面(SDK builder)可以選擇具體MCU型號以及第三方中間件,相當於是可定製化的SDK包下載。

  • MCUX SDK官方下載入口:https://mcuxpresso.nxp.com/en/welcome

看起來SDK Builder這種包下載方式已經很好了,爲何現在又多了GitHub方式?難道僅僅是給大家多一種包下載方式?顯然沒那麼簡單!如果你細看GitHub上的SDK組成,你會發現它相比SDK Builder方式少了RTOS以及第三方中間件的支持,Toolchain方面也僅支持MCUXpresso IDE和GCC,看起來GitHub上的SDK包更聚焦在恩智浦MCU外設驅動本身以及自家的工具鏈上。

前面介紹了這麼多恩智浦MCUX SDK放GitHub之前的背景,那麼恩智浦SDK開發團隊此舉到底是什麼用意呢?痞子衡看來主要有兩點:

用意一:用戶能更及時地拿到hotfix/嚐鮮版本

軟件功能都是在不斷增加的,並且任何一個軟件都可能包含潛在的bug,因此軟件需要不斷地迭代去完善自身,但恩智浦MCUX SDK是一個非常規範的軟件產品,有非常多的工程師參與開發測試,它的任何一個版本發佈都需要經過嚴格的流程,這需要時間,因此如果僅從SDK Builder這種官方方式去拿正式發佈包,會存在一定的時間延遲(少則三個月)。現在有了GitHub倉庫,SDK開發團隊可以將一些重要的hotfix/feature提前放在GitHub上,一些開發能力強的用戶可以從GitHub上及時拿到新版本,這比用戶單獨聯繫FAE去獲取內部包(版本可能會混亂)在流程上要規範得多,更重要的是GitHub上拿包在版本記錄上也很明確。

用意二:與用戶面對面溝通,擁抱社區開源力量

軟件開源是現在這個時代的潮流,恩智浦MCUX SDK本身一直是開源的,軟件許可證也是BSD-3爲主,可以說是相當寬鬆。然而在SDK放到GitHub上之前,SDK開發團隊一直沒有一個與用戶和社區直接溝通交流的機會,用戶對於SDK的建議反饋都需要那些直接與客戶打交道的團隊(比如AE)來轉述,這雖然可以讓SDK開發團隊專注於軟件開發本身,不用直面用戶(客戶支持不是件輕鬆的活,繁雜且耗時),但畢竟信息在轉述的過程中可能會有損失,現在用戶可以在GitHub上直接提issue來給建議,SDK開發團隊能夠直接拿第一手信息去做判斷。

此外,社區開源力量是不可忽視的,SDK上線不到一個月,我們已經可以看到兩位非NXP工程師在提交PR了,有了社區力量的加持,SDK必將會更加完善,所有恩智浦MCUX SDK用戶的寶貴經驗都可以得到傳承。所以你還等什麼?趕緊加入到這個激動人心的大項目吧!

1.國產替代摸不着門兒?快來回看兆易創新直播課!

2.開源的RISC-V能否成爲中國“缺芯”的解藥?

3.樹莓派Pico:僅4美元的MCU

4.MCU支持AI功能的多種原因~

5.2020年,我學習到的20條軟件工程準則~

6.狀態機思路在嵌入式開發中的應用~

免責聲明:本文系網絡轉載,版權歸原作者所有。如涉及作品版權問題,請與我們聯繫,我們將根據您提供的版權證明材料確認版權並支付稿酬或者刪除內容。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章