モダンOSのお砂場(55) Mbed Online Compiler 悲しいお知らせ

Joseph Halfmoon

『つひに行く道とはかねて聞きしかど昨日今日とは思はざりしを』お世話になってまいりました Web 開発環境 Arm Mbed Online Compiler、本年末をもって終了であります。後継は Keil Studio Cloud。かねて少しずつKeilへの移行を進めてまいりましたが、期限を切られるとあれこれ考えます。

※「モダンOSのお砂場」投稿順Indexはこちら

とうとう「お知らせメール」が来ちゃった

2年くらい前だったか、Arm社からWeb上の開発環境、Mbed Online Complierの廃止とKeil Stduio Cloudへの移行が示されました。でもね、まだ使えるもんね、ということでしつこくOnline Complierを使ってき、ようやく数か月前からそろそろヤバそうな雰囲気高まったということでKeil Studio Cloudを使うようにしてまいりました。その過程でいろいろあったことは過去回で何度か書きましたです。

当方手元に届いた2022年11月5日づけのメールにてとうとう以下のご宣告がありました。

The Mbed Online Compiler will be switched off at the end of December 2022.

とうとう来年1月には、Mbed Online Compilerにはアクセスできなくなるようです。どのタイムゾーンか書いてなかったので、JSTだと2023年になってからも数時間使えるのかもしれませんが。Mercurialのrepositoriesも使えなくなるからはよ Git へ移れということも書いてあります(私は使ってないから大丈夫だもんね。)

一応、2023年になってもKeil Stucio CloudへOnline Compilerの既存プロジェクトをインポートすることはできるみたいっす。まあ、数は多いけれども大したものがあるわけでないし、大丈夫だと思うけど。

新たに何か書くときはKeil Studio Cloudにしてます。でもね、Keil Studio Cloud上で古い Mbed OS2のソースのビルドは「一応」できるけれども「エディタ上ではエラーに見えたり」とOnline Complierのようにはいかないことも分かってます。OS2からOS6に移植してしまうのが一番良いのだろうけど。。。

もう一つの方法、Export ZIP Archiveでダウンロード

オンラインのKeil Studio Cloudへ移行する以外にもう一つのチョイスがあります。Arm Mbed Online ComplilerのExport機能を使って、プロジェクト全体をダウンロードして、オフラインというかローカルな開発環境でビルドする方法です。以下にExportのメニュー例を掲げましたが、ターゲットは超充実しています。こんな感じ。ExportToolchain

ターゲットの処理系を用意しておき、Online Complierからダウンロードしたプロジェクトを該当の処理系で処理すれば「よい」と。

でもね、なかなかそうは問屋が卸してくれないです。実は無料ツールの中で一番ベーシックということで Make-GCC-ARM 指定でOS2とOS6のプロジェクトを各1つづつZIP化してダウンロードしてみました。別件のMicroPythonネタでARMマイコン用のクロスツールをインストールして使えているWSL2環境(Ubuntu)に持ち込んでみました。OS2用はmake始めた最初の方で落ちます、なんだかファイルが足らないみたい。OS6用は相当沢山のファイルをコンパイル成功した最後の方でコケます。やはりファイルが足らないみたい。Armのクロス環境だけでなく、Mbedのための環境の追加が必要そうな感じ。要調査。

しかし移行先のチョイスは大量にあるので、OS2のプロジェクトを何も手を入れず、簡単にビルドできるものがないかいな、もちろん無料ツールで。今後の課題ね。

VScode上のPlatformIOでMbedのビルド

上記には登場しないのですが、PlatformIOを使ってもMbedプロジェクトのビルドが可能です。PlatformIOのウイザードで空Projectを作ってみたら、Mbed OS 6.9(最新版は6.15)で作られました。そこにソースを持ち込んでビルドすればオブジェクトの作成OKでした(実機上では動かしてないケド。)

ただしOS6なので、OS2のソースの中のAPIのいくつかは書き換えが必要となるでしょう。これならKeil Stduio Cloudと変わらんか?

ビルドを始めたところが以下に

pioBuild00

帯に短し、襷に長しというやつですかい?

モダンOSのお砂場(54) MbedOS6でATM0130カラーLCDを使う へ戻る

モダンOSのお砂場(56) MbedOS6、Make-GCC-ARMイクスポート成功 へ進む