ModusToolbox™講堂 | 第四課 開放的生態,熟悉的味道


賴春雷

英飛凌技術支持中心

高級工程師


在前一期我們提到了ModusToolbox™對生態的理解。我們反覆地提到,ModusToolbox™希望構建一個開放的應用生態。開放的目的,是為了接納更多的可能性,促進成果的融合。開放的本質,是為了減少ModusToolbox™和用戶的重複勞動。開放的結果,則是帶來了可高度自定義的開發環境。下面我們就來深入了解下,ModusToolbox™是如何為其生態願景而付諸努力的。

 

使用熟悉的IDE進行工作

每當選用一個新的產品,這往往代表著你又要適應一遍新的開發流程,這總是讓人望而卻步。用戶都希望使用自己熟悉的IDE和開發流程進行工作,作為一款推崇開放和可自定義的軟體產品,ModusToolbox™自然無法拒絕這個需求。所以,是的,ModusToolbox™允許你繼續使用你熟悉的IDE來進行開發。通常而言,你有如下兩種方式。

 

導出到其它IDE

在前一期我們簡單介紹過Project Creator,但其實它還隱藏了一個小彩蛋:獨立運行它和在Eclipse IDE中調用它時,它的運行邏輯是不同的。Project Creator在獨立運行時,會開啟導出到其他IDE的選項入口,以方便你在新建例程時就直接導出到一些第三方IDE中使用。

圖01

 

在Eclipse IDE中調用Project Creator時,它的行為如圖01。可見,圖中的Target IDE是灰色不可選的狀態,並限定為Eclipse IDE。這個限制是自然的,因為我們是在Eclipse IDE中調用它,故它當前只應為Eclipse IDE服務。

圖02

 

而獨立運行Project Creator時,它的行為如圖02所示。此時,Target IDE的下拉框是可以選擇的,這表示它可把選中的例程生成給指定IDE使用,即生成為該IDE可以打開的工程。這一設計也是自然的,因為此時的Project Creator是獨立運行的,所以它並不受制於Eclipse IDE,從而可以為受支持的IDE進行工程的創建。

 

“IAR Embedded Workbench”和“ARM MDK”是常用的導出選項。你甚至可以選擇“None / Command line”,即不導出到任何的IDE,而採用更底層的編輯和編譯方式。

 

有用戶可能會疑惑,支持導出到多種第三方的IDE,對ModusToolbox™本身有什麼好處?長此以往,ModusToolbox™生態是否會被架空,用戶是否會逐步拋棄ModusToolbox™?

 

其實不是這樣的。如你所見,得益於這個良好的導出功能,Project Creator中提供的例程只需要開發一次,即可導出到多個IDE中使用。換言之,只需要一次開發,即可讓ModusToolbox™中的產品立即在多個開發平台中運行,相當於讓這些產品立即上線多個開發平台。

 

這不僅降低了用戶的學習成本,對ModusToolbox™而言也降低了的開發難度、縮短了開發周期,還讓友商的IDE擁有了更多的可選資源。由此可見,開放的生態,能讓各方都從中獲益,這可謂是開放生態設計體系的一大勝利。

 

使用Visual Studio Code編輯器

從前面可知,Project Creator本身已經可以把工程導出為Visual Studio Code工程。然而,對於Visual Studio Code這類通用的輕量編輯器級IDE,其實還有更好的辦法來使用它。Visual Studio Code支持直接打開文件夾,我們可以藉助這個特性,使用它來直接編輯Project Creator為Eclipse IDE生成的工程,而無需先把工程導出為Visual Studio Code工程。

 

                                                            圖03

 

如圖03,這就是Visual Studio Code直接編輯ModusToolbox™的Eclipse IDE工程的演示。可以看到,目錄結構都是Eclipse IDE工程的結構,但我們卻是在Visual Studio Code中編輯它。Visual Studio Code在代碼編輯與審閱方面有更多的優勢,可以幫助你快速編寫和更改代碼。但因為ModusToolbox™自帶的Eclipse IDE有官方的優化和整合,所以後續的編譯和燒錄的部分,回到Eclipse IDE中操作則會更合適。所以將兩者結合起來會產生1+1>2的效果。

這種有機結合Visual Studio Code和Eclipse IDE的開發形式,本身也是開放生態設計體系的一部分。順從於開放性的要求,ModusToolbox™只提供工具和接口,而極少提供範式和模式。可以說,範式和模式本身,也是用戶可以並必須補足的。於是,用戶的想像力和創造力,不僅可傾注在開發工作上,也可傾注在開發工具本身。這一現象拓寬了開放生態設計體系的邊界和含義,是開放生態設計體系的又一大勝利。與此同時,用戶對開發工具使用形式的創新,也將反哺用戶的開發工作,讓開發更加高效、創作更具熱情。

 

使用熟悉的類UNIX命令行環境

很多讀者都喜歡使用Windows系統來進行開發。誠然,Windows是一個面向GUI而生的系統,很多優秀的可視化編輯器等工具都是基於Windows提供的,所以Windows在進行可視化的代碼編輯時有很多優勢。但進行一些深入的分析和調試時,命令行環境是無法避開的,準確來說,是類UNIX的命令行環境。

因為類UNIX系統的歷史地位,其所奠定的範式和規範影響深遠,並且嵌入式設備的開發和GNU套件生態也存在千絲萬縷的關係,導致嵌入式開發或多或少會依賴類UNIX的命令行環境及GNU工具鏈。這與其說是一個限制,不如說是一個優點:因為這個歷史的特殊性,嵌入式設備的從業人員也必然對類UNIX的命令行環境及GNU工具鏈比較熟悉,所以如果能為他們提供類UNIX的操作環境,將為他們減少很多學習成本。

鑒於此,ModusToolbox™自帶了一個命令行環境,名為modus-shell。modus-shell是基於Cygwin集成而來的,他在Cygwin的核心工具集之外增加了自己的工具,並重新定義了文件系統映射。如果你聽說過Cygwin,那你一定知道,Cygwin是一個在Windows平台上運行的類UNIX模擬環境,Cygwin的主要目的是通過重新編譯,將POSIX系統(例如Linux、BSD,以及其它Unix系統)上的軟體移植到Windows上。



關於modus-shell的更多信息,請參見ModusToolbox Tools Package User Guide。你可以在Eclipse IDE中通過Terminal選項卡直接使用modus-shell,也可以通過開始菜單獨立運行它,如圖04所示。

圖04

 

藉助modus-shell,你能在Windows平台上獲得完整的類似UNIX環境的體驗。它不是虛擬機,所以無需複雜的設置,你即可在Windows上同時享受到Windows本身的便利和類UNIX命令行環境的優勢,在這兩者之間無縫切換,擺脫虛擬機帶來的複雜的隔離。相比單獨使用Windows或類UNIX系統,這種將兩者鬆散耦合的方式會更有效地幫助到用戶。

 

看似一個簡單的集成,其實背後是開放生態設計體系的再一大勝利。不信你看,你隨處可見類UNIX環境的移植、GNU軟體的跨平台應用,但你鮮有看到Windows環境和工具在其它操作系統上的大規模移植和應用。順從於開放性的要求,一個開放的生態應該是自由且可分享的,也應該能很容易被分享和傳播。

“自由且可分享”是先驗的,它使得用戶對類UNIX環境形成粘性,進而讓用戶感到熟悉和放心,於是用戶會要求在更多開發作業環境中獲得類UNIX的體驗,這包括ModusToolbox™。“能很容易被分享和傳播”則是後驗的,它使得ModusToolbox™能較為容易地集成modus-shell這個類UNIX環境,從而使得ModusToolbox™能按用戶熟悉的慣例提供給用戶使用,哪怕是在Windows等其它操作系統。

所以,開放生態設計體系或主動或被動地促成了ModusToolbox™集成modus-shell這一結果;同時,這也是ModusToolbox™身處開放生態、服務於開放生態的體現。

 

總結

開放的生態,無論是出於主觀的訴求,還是客觀的需要,它最終都是為了給用戶“找回熟悉的味道”。而ModusToolbox™作為開放生態理念的踐行者,它正在當仁不讓地付諸努力,為了給用戶“找回熟悉的味道”。當然,ModusToolbox™的這份堅持,絕不僅僅體現在文章提到的這兩點。歡迎讀者挖掘隱藏在ModusToolbox™當中的更多細節,也歡迎你在評論區分享你的使用體會。

下期還有更多精彩,我們不見不散!

如需了解更多信息,請點擊:

 

文章回顧:

“如何確保英飛凌工程師在24小時內給您回復?操作指南來了!” 

英飛凌技術支持系列|智能功率開關

英飛凌技術支持系列|智能高邊開關的開路檢測

英飛凌技術支持系列|智能高邊開關電流標定

英飛凌技術支持系列 | 智能高邊開關SPOC ™+2系列SPI檢測實例

ModusToolbox™講堂 | 第一課ModusToolbox™簡介和安裝

ModusToolbox™講堂 | 第二課 中國大陸用戶使用須知

ModusToolbox™講堂 | 第三課 新建例程,點亮世界


                      關注微信賬號

★博文內容參考自 網站,與平台無關,如有違法或侵權,請與網站管理員聯繫。

★文明上網,請理性發言。內容一周內被舉報5次,發文人進小黑屋喔~

參考來源

false: https://mp.weixin.qq.com/s/iWPv3IfOu7wECmDP1dC7Kg

評論