大家好,我是痞子衡,是正經搞技術的痞子,今天痞子衡給大家講的是恩智浦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用戶的寶貴經驗都可以得到傳承,所以你還等什么?趕緊加入到這個激動人心的大專案吧!

歡迎訂閱
文章會同時發布到我的 博客園主頁、CSDN主頁、知乎主頁、微信公眾號 平臺上,
微信搜索"痞子衡嵌入式"或者掃描下面二維碼,就可以在手機上第一時間看了哦,

轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/256597.html
標籤:其他
上一篇:linux查看當前路徑命令
