意法半導體為 32 位微控制器釋出了一款自由的 Linux 整合開發環境

Arun Pyasi發表於2016-03-16

32 位微控制器世界向 Linux 敞開大門。前一段時間,領先的 ARM Cortex-M 供應商意法半導體(ST)釋出了 一款自由的 Linux 桌面版開發程式,該軟體面向其旗下的 STM32 微控制單元(MCU)。包含了 ST 的 STM32CubeMX 配置器和初始化工具,以及其 STM32 系統工作臺(SW4STM32) ,這個基於 Eclipse 的 IDE 由工具 Ac6 建立。支撐 SW4STM32 的工具鏈,論壇,部落格以及技術會由 openSTM32.org 開發社群提供。

“Linux 社群以吸引富有創意的自由思想者而聞名,他們善於交流心得、高效地克服挑戰。” Laurent Desseignes,意法半導體微控制器產品部,微控制器生態系統市場經理這麼說道:“我們正著手做的是讓他們能極端簡單的借力 STM32 系列的特性和效能施展自己的才能,運用到富有想象力的新產品的創造中去。

Linux 是物聯網(IoT)閘道器和樞紐,及高階 IoT 終端的領先平臺。但是,大部分 IoT 革命,以及可穿戴裝置市場基於小型的低功耗微控制器,對 Cortex-M 晶片的運用越來越多。雖然其中的一小部分可以執行精簡的 uCLinux (見下文),卻沒能支援更全面的 Linux 發行版。取而代之的是實時作業系統(RTOS)們或者有時乾脆不用 OS 來控制。韌體的開發工作一般會在基於 Windows 的整合開發環境(IDE)上完成。

通過 ST 的自由工具,Linux 開發者們可以更容易的開疆拓土。ST 工具中的一些技術在第二季度應該會登入 Mac OS/X 平臺,與 STM32 Nucleo 、開發套件、以及評估板同時面世。Nucleo 支援 32 針、64 針、和 144 針的版本,並且提供類似 Arduino 聯結器這樣的外掛。

STM32CubeMX 配置器和 IDE SW4STM32 使 Linux 開發者能夠配置微控制器並開發除錯程式碼。SW4STM32 支援在 Linux 下通過社群更改版的 OpenOCD 使用除錯工具 ST-LINK/V2。

據 ST 稱,軟體相容 STM32Cube 軟體包及標準外設庫中的微控制器韌體。目標是囊括 ST 的全系列 MCU,從入門級的 Cortex-M0 核心到高效能的 M7 晶片,包括 M0+,M3 和 DSP 擴充套件的 M4 核心。

ST 並非首個為 Linux 準備 Cortex-M 晶片 IDE 的 32 位 MCU 供應商,但似乎是第一大自由的 Linux 平臺。例如 NXP,MCU 的市場份額隨著近期收購了 Freescale (Kinetis 系列 MCU,等)而增加,提供了一款 IDE LPCXpresso IDE,支援 Linux 、Windows 和 Mac。然而,LPCXpresso 每份售價 $450。

在其 SmartFusion FPGA 系統級晶片(SoC)上整合了 Cortex-M3 晶片的 Microsemi,擁有一款 IDE Libero IDE,適用於 RHEL 和 Windows。然而,Libero 需要許可證才行,並且 RHEL 版缺乏如 FlashPro 和 SoftConsole 的外掛。

為什麼要學習 MCU?

即便 Linux 開發者並沒有計劃在 Cortex-M 上使用 uClinux,但是 MCU 的知識總會派上用場。特別是牽扯到複雜的 IoT 工程,需要擴充套件 MCU 終端至雲端。

對於原型和業餘愛好者的專案,Arduino 板為其訪問 MCU 提供了非常便利的介面。然而原型之外,開發者常常就會用更快的 32 位 Cortex-M 晶片以及所帶來的附加功能來替代 Arduino 板和板上的那塊 8 位 MCU ATmega32u4。這些附加功能包括改進的儲存器定址,用於晶片和各種匯流排的獨立時鐘設定,以及晶片 Cortex-M7 自帶的入門級顯示晶片。

還有些可能需求 MCU 開發技術的地方包括可穿戴裝置,低功耗、低成本和小尺寸給了 MCU 一席之地,還有機器人和無人機這些使用實時處理和電機控制的地方更為受用。在機器人上,你更是有可能看看 Cortex-A 與 Cortex-M 整合在同一個產品中的樣子。

對於 SoC 晶片還有這樣的一種溫和的局勢,即將 MCU 加入到 Linux 驅動的 Cortex-A 核心中,就如同 NXP i.MX6 SoloX。雖然大多數的嵌入式專案並不使用這種混合型 SoC 或者說將應用處理器和 MCU 結合在同一產品中,但開發者會漸漸地發現自己工作的生產線、設計所基於的晶片正漸漸的從低端的 MCU 模組發展到 Linux 或安卓驅動的 Cortex-A。

uClinux 是 Linux 在 MCU 領域的籌碼

隨著物聯網的興起,我們見到越來越多的 SBC 和模組計算機,它們在 32 位的 MCU 上執行著 uClinux。不同於其他的 Linux 發行版,uClinux 並不需要記憶體管理單元(MMU)。然而,uClinux 對市面上可見 MCU 有更高的記憶體需求。需求更高階的 Cortex-M4 和 Cortex-M4 微控制器內建記憶體控制器來支援外部 DRAM 晶片。

Amptek SBC 在 NXP LPC Cortex-M3 和 -M4 晶片上執行 uClinux,以提供常用的功能類似 WiFi、藍芽、USB 等眾多介面。Arrow 的 SF2+ 物聯網開發套件將 uClinux 執行於 SmartFusion2 模組計算機的 Emcraft 系統上,該模組計算機是 Microsemi 的 166MHz Cortex-M3/FPGA SmartFusion2 混合 SoC。

Emcraft 銷售基於 uClinux 的模組計算機,有 ST 和 NXP 的,也有 Microsemi 的 MCU,是 32 位 MCU 上積極推進 uClinux 的重要角色。日益頻繁的 uClinux 開始了與 ARM 本身 Mbed OS的對抗,至少在高階的 MCU 工程中需要無線通訊和更為複雜的操作規則。Mbed 和 modern 的支持者,開源的 RTOS 們,類似 FreeRTOS 認為 uClinux 需要對 RAM 的需求太高以至於難以壓低 IoT 終端的價格,然而 Emcraft 與其他 uCLinux 擁躉表示價格並沒有如此誇張,而且擴充套件 Linux 的無線和介面也是相當值得的,即使只是在像 uClinux 這樣的精簡版上。

當被問及對於這次 ST 釋出的看法,Emcraft 的主任工程師 Vladimir Khusainov 表示:“ST決定將這款開發工具 移植至 Linux 對於 Emcraft 是個好訊息,它使得 Linux 使用者能輕易的在嵌入式 STM MCU 上展開工作。我們希望那些有機會熟悉 STM 裝置,使用 ST 配置器和嵌入式庫的使用者可能對在目標機上使用嵌入式 Linux (以 uClinux 的形式)感興趣。”

最近關於 Cortex-M4 上執行 uClinux 的概述,可以檢視去年 Jim Huang 與 Jeff Liaws 在嵌入式 Linux 大會上使用的幻燈片。更多關於 Cortex-M 處理器可以檢視這裡過的 AnandTech 總結


via: http://www.linux.com/news/embedded-mobile/mobile-linux/884961-st-releases-free-linux-ide-for-32-bit-mcus

作者:Arun Pyasi 譯者:martin2011qi 校對:wxy

本文由 LCTT 原創翻譯,Linux中國 榮譽推出

相關文章