試玩~arm Mbed OS on BBC micro:bit (含線上版 、CLI版)

緣起:之前玩 BBC micro:bit 時,對於 arm Mbed OS 和 DAL感到好奇,在玩 MakeCode 時也看到了 arm yotta module,雖然我的C㡳子差、英文閱讀慢且韌體也不太懂,但興趣驅使我試著去瞭解及學習...

楔子:arm在IoT Device的市佔率是不容小覷,其Arm Mbed OS( 參攷 https://www.mbed.com/en/platform/mbed-os/ )考慮層面非常值得學習,只要學會它就可以操控大部分的 arm's microcontroller,正是我需要的...

準備環境

  • Windows 10/MacBook Pro筆電


由於主角是 BBC micro:bit,所以請到arm網頁 https://os.mbed.com/platforms/Microbit/ ...
其中,它詳細說明了 micro:bit 的硬體 Pinout、DAL、Features、mbed Libraries等,說穿了就是要用 C/C++ 來寫程式...
再者,它提供了範例及學習影片,如下圖





看完了 04'23" 影片介紹(在macOS X平台上),就學會了使用線上版的 Arm Mbed Online Compiler 來寫 C++ 的 Hello World! 小程式...它讓我對C的恐懼和藉口化為烏有...
以下是我依樣畫葫蘆的影片...

另外,arm也提供了離線版的 Arm Mbed CLI ... 請參攷 https://os.mbed.com/docs/v5.6/tutorials/blinky-on-arm-mbed-cli.html
其示範安裝影片(在Windows平台上),如下

在此,我習慣使用MacBookPro(Unix-like, 也適用Ubuntu, Raspberry Pi)來依序安裝 Python, Git, Mercurial, GCC...並執行檢查,如下圖

安裝 mbed CLI,如下圖


再依據示範影片,如下

先下載 blinky 範例檔 ( https://os.mbed.com/users/andresag/code/microbit-blinky/ ), 如下圖


將 micro:bit 插上筆電USB,再執行檢查,如下圖

發現...之後錯誤一堆!!

改到網頁範例 https://os.mbed.com/teams/microbit/code/microbit-hello-world/ 在右方選擇 Import with CLI 及 copy 連結路徑,如下圖


再到 終端機 下載檔案,如下圖

又是一堆錯誤,如下圖


此時,發現示範影片使用 Windows平台 應該事有蹊蹺(在micro:bit專案中,arm與microsoft合作很愉快...因為iphone,arm與Apple...),改用 Windows10筆電操作,依照之前的示範影片( https://www.youtube.com/watch?v=cM0dFoTuU14&t=139s ),如下圖

再到示範網頁 https://os.mbed.com/teams/microbit/code/microbit-hello-world/ 複製路徑,如下圖(其中有二個錯誤需排除)

再次執行 mbed detect 時,它會提醒你 micro:bit 没插,如下圖

接著又是一堆錯誤,如下圖

正當要放棄之際,看到在目錄 C:\Users\davis\microbit-hello-world\microbit\README.md 的檔案,閃過一線希望,如下圖

依照網頁指示 https://lancaster-university.github.io/microbit-docs/offline-toolchains/#yotta 安裝 yottasrecord 再下載範例檔,如下圖

再執行 Yotta,如下圖

再依序 Set your yotta target -> Build the project -> Flash your micro:bit ... 如下圖

終於看見 micro:bit say hello 了,如下影片

最後,再重回 MacBookPro筆電,安裝 yottasrecord 再下載範例檔,如下圖


再到 App 執行 yotta,如下圖




終於成功了,之後就可以鑽研及修補我 C++ 的大洞...:-)

留言