モダンOSのお砂場(61) Keil Studio Cloudへの自動変換、赤でもビルドでき

Joseph Halfmoon

年末で閉鎖のArm Online Compilerの移行方法の1番手はKeil Studio Cloudへの自動COPYです。COPY成功しても古いAPIを使っていると新しいAPIで動作しているKeil Studio CloudのIDE上はエラーが出る件(けれどビルド可能)、一番ボロボロだったケース、ご参考まで。

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

Keil Studio Cloud 上で使えるOnline Complierからのプロジェクトの自動コピー機能を使えば、多くのプロジェクトをOnline Compilerから「救い出す」ことが可能です。ただし、前回述べたとおり、行先のターゲットボードのKeil Studio Clouldでのサポートが十分でないケース(例BBC micro:bit)は失敗することがあるかもしれません(個人の経験です。)

今回は、自動コピー機能で救い出せ、かつ、Keil Studio Clould上でビルド可能、そして実行OKであったけれども、IDE上は「ボロボロ」に見えるケースです。自動コピー機能でOS2プロジェクトをコピーするとまず間違いなく遭遇することになるケースですが、今回のはOS5プロジェクトでした。OS5レベルでもダメダメに見えることがあるのね。知らんけど。

コピー成功後のプロジェクトフォルダ

自動コピーは短く済むプロジェクトは結構素早く行われるのですが、今回のプロジェクトについては結構時間かかってました。ハングしたのかと思って一度閉じてしまいました。そして開きなおしたらプロジェクトがコピーされてました。該当プロジェクトをターゲットプロジェクトに設定し、ターゲットボードは大丈夫なハズのNucleo-F401REに設定してみました。こんな感じ。

ProjectWindow

この時点で、赤の×印が登場しており、通常であればビルドできない雰囲気です。

IDE上で問題を列挙してくれる Problemsタブを見ると以下のとおり。まあOnline Compiler上ではエラーにならないソースなのによくもまあここまでエラーがでるもんだと。大体 mbed.hがnot foundってどういうこと!

problems

ソースを開けば上記の問題報告を反映し、以下のように真っ赤。こうもボロボロでは。。。SRC_WINDOW

なお、ライブラリを確認してみたら、OS5.7.0でした。数年前に練習したプロジェクトだったのでOS2かと思ったけれど、Threadとか使っているからOS5だったのね。意外と新しいじゃん。

でもエラーは報告されるのね。library

それでもビルドしてみる

上のようにIDE上ではエラー出まくりでも、ビルドできるケースをやってきているので、ためらわずビルドボタンを押します(ホントにダメなケースはビルドボタンを押すこともできませぬ。)

ビルドの結果が以下に。BuildResults

Build succeeded とな。ビルドできたじゃん。

オブジェクトファイルをNucleo-F401REボードへ書き込んで、仮想シリアル端末(TeraTermPro)でUSBシリアルを眺めてみればこんな感じ。

RTOSworking

動いておるみたいよの。ボロボロに見えても大丈夫です。

モダンOSのお砂場(60)Arm Online Compilerからの脱出、まとめ へ戻る

モダンOSのお砂場(62) UNO R4、ルネサスRA4M1でFreeRTOS、タスク生成 へ進む