Categories: mbed

ARM mbed 開發 ARM Cortex-M 系列的利器!

前一篇開箱文曾提到 mbed 這四個英文單字,礙於當時的主軸,並未加以介紹,今天這篇文章將會帶各位看看 mbed 這個 ARM 公司全力支持的一個計畫。

智慧型手機的出現,使得以 ARM 為架構的 CPU 在市場從無人知曉的深淵竄升到幾乎可與 Intel 及 AMD 相比拼的世界舞台。但 ARM 的架構不只

mbed 是由 ARM 公司官方支持的一個計畫,主要是減低 ARM Cortex-Mx 系列開發的複雜度,縮短使用者實現點子的時間。

目前有數間與 mbed 合作的微電腦晶片公司,細節可以參考官方網站上的清單。

接下來讓我跟大家介紹一下 mbed 的特色以及使用方法。

硬體

mbed 的硬體核心為一 ARM Cortex-M 系列其中一的微處理器,型號與規格依各製作廠商不同而有所差異,舉例來說,同樣拿 Cortex-M3 的廠商,會因為 MCU 的高低階及所含功能而有價格、效能上的不同,這點在挑選的時候可以依照自己的實際需求來選擇。

這裡我附上兩個我目前擁有並使用過的開發板心得。

LPC1768

採用 ARM Cortex-M3 高效能處理器,效能較佳但價格較高,優點是體積小方便開發。這一款我就不贅述太多,請直接參考這篇文章吧。

ST Nucleo STM32F401

由 ST 意法半導體所推出的多款 mbed 開發板中的其中一款,採用 Cortex-M4 處理器,特色為內建有相容於 Arduino Uno 的擴充腳位,可將相容於 Arduino Uno 的擴充板(shield)轉移到這個板子上做更高效的開發。

優點除了較 LPC1768 便宜之外,其 IO 腳位也較多,高達 32 個腳位可供使用,詳細接腳圖可參考以下官方的圖示。而缺點則是開發板面積較大,無法直接插於麵包板上使用,需要利用較多的連接線與外部測試電路做連接。

燒錄

這是我認為 mbed 系列中最與眾不同的特色,他的燒錄方式採用非常簡單的拖拉式燒錄。

只要你將 mbed 的開發板插上電腦,他便會變成一個約莫數MB的隨身碟,這時只要將編譯完成後的 *.hex 檔案複製到這個隨身碟裡面後按下 mbed 開發板上的 reset 按鈕便完成燒錄。

燒錄過程非常快速,而且可立即看見結果,不需要再等待以及繁雜的插拔過程。這一功能實在是非常的便利與快速。

雲端 IDE

這是 mbed 系列的另一個特色我想非雲端 IDE 莫屬了,他擁有一套線上的整合開發環境,專門相容於 mbed 開發用。

雲端 IDE 與單機上的 IDE 最大的不同在於,前者不需要在你電腦上安裝容量大且用不到所有功能的編譯器,後者除了要安裝笨重的編譯器之外,有時還要隨時間去更新,非常的麻煩。

但單機上的 IDE 也不是沒有好處,目前的雲端 IDE 都沒有辦法做到即時的 Debug ,但單機的可以。而且單機的 IDE 還可以做單步執行、即時回傳、中斷等等功能,因此也是各有利弊。

操作介面

這是 mbed 的線上 IDE 的介面,看起來很像一個獨立的視窗對吧? 但實際上,這是我刻意截圖成的,原始的畫面還會有你的瀏覽器包覆在外面。不過這些都不是太重要,因為重點在於,你真的不用安裝多餘的程式就能看到這樣完整的畫面了!

這套 IDE 內建不少功能,除了不知道空間有多大的專案儲存空間之外,還可以直接搜尋其他人寫好並且公開出來的程式碼、函式庫(Library),並且透過內建類似於 Github 的機制匯入(import)到你的專案中使用。

程式也有版本控制系統,採用類似 Git 的方式做版本控制,不過在這裡不需要下指令,只需要用滑鼠點幾下就能做版本控制,相當方便。

結論

ARM mbed 算是一種革新的想法,除採用高效能 32-bit 的處理核心外,相較於其他 8-bit 或 16-bit 的開發板,其實 mbed 的單價不算太高,且選擇也非常多樣,各家所推出的板子各有用途可以發揮。

我相信它在未來的物聯網發展史中將會佔下相當分量的成就,因為它的快速開發、高效能、低成本且可大量擴充的特性,將可以為未來想接上物聯網的各種產品雛型開發時省下相當的時間與費用。並且也因為它的便宜易用性質,讓許多的 Geek 們也可以加入物聯網的這個戰局,為世界開創一個新的未來。

duye.chen

Recent Posts

[教學] 打造你的 NFT 智能合約 – ERC721A

GM!前些日子在幣圈亂玩,一路...

2 年 ago

JavaScript – Singleton 設計模式

前言 在設計程式時,我們有時會...

3 年 ago

PlaidML 讓你的 Mac 也能加速 Tensorflow 機器學習!

相信很多使用 Mac 或者手上...

3 年 ago

RESTful API 測試很煩,只好動手寫屬於自己的測試了

寫在最前面 嗨,大家好久不見!...

3 年 ago

Node.js 與 Socket.io – 即時聊天室實作:資料庫

經過前兩篇(一、二)文章,我們...

6 年 ago