5にボードを対応させるにあたって知ったことなどをメモしておく。2.0(Classic)に極めて近い構造を持っている。5のリポジトリは、GitHubでホストされている。Enabled」であるには、パートナーであることが必須要件。5のテクニカルな情報は有用だと思うのでメモしておきます。5のビルドシステムに参照される、もっとも大事なファイルはtargets.jsonとなりました。"5"]といった記述が存在します。"STDIO_MESSAGES"],といった具合に、デバイスが持っている機能を記述したりするようになりました。詳しくは、次のドキュメントに記載があります。5、IARの三種をサポートするということが必須要件として記載されています。mbed_settings.pyにコンパイラのパスを記載して、テストを行いましょう。CLIの詳細な説明は、次のページに記載されています。https://github.com/ARMmbed/mbed-cli/blob/master/README.mdテストの手順は簡単です。newをして、開発環境を作ります。test-appこのディレクトリの中にあるmbed-osディレクトリの中に追加したいターゲットを記述します。テスト用のバイナリをビルドします。さきほど記した様に、コンパイラはARMだけでなく、GCC_ARM、IARもサポートしていなければなりません。ターゲットが検出できることも確認します。3このようなメッセージが表示されます。最後に、テストを実行しましょう。次の例は、armccでビルドしたバイナリを使ったテストの実行です。ARMこのテストは、RTOSの機能テストで、約15分程度要します。コンパイラ三種ぶんですので、これを三回実行します。全てのテストにパスをしたら、mbed-osリポジトリからforkしたコードにmbed-osディレクトリ以下に施した変更を反映させるなどして、プルリクエストを送ります。プルリクエストを送るときには、15分×3回待って生成された、テストレポートをコメントに貼り付けておくと良いでしょう。テストレポートは、コマンドプロンプトの「画面バッファーのサイズ」を幅300以上にしておくと快適にコピーできます。Markdown(GFM)の「```」で括っておくと良いでしょう。ソースコードの記述スタイルや、プルリクエストを送るときの依頼事項は、次のページに記載されています。newしたときには、あなたの変更が反映されたコードがダウンロードされるはずです。前までは得られなかったスピード感なので、gitと統合されたことによるメリットを感じられます。newして作ったディレクトリの中に、main.cppを作ってみましょう。}}こんな内容で、とりあえず作ってみました。そこで、コンパイルすると、自分で書いたコードをビルドすることができます。ARMコンパイルが終わると、次の様なメッセージが出力されます。.¥.build¥TY51822R3¥ARM¥test-app.hexこれを、ターゲットのmbedにコピーします。個のファイルをコピーしました。ここで、ターゲットのリセットボタンを押すと、アプリケーションの実行が始まるはずです。5に対応させる作業をしているので、プロセッサが動くことを確認したのちにBLEが動くことも確認したいと思います。URIBeaconのサンプルをimportし、それからmbed-osを最新にします。(これまでのプロセスでプルリクを送ってmergeされたものにしました。"https://github.com/ARMmbed/mbed-os/#2776dd7dd3968a12870e7780e0cf189dd595bd70"ここまでできたら、あとはビルドしてみます。個のファイルをコピーしました。あとは、ターゲットのリセットボタンを押すだけです。CLIでIDEにexportするには、次の様にします。ty51822r3が、新規のボードはexportについても設定を記述しなければなりません。project_generator_definitionsの、project_generator_definitions/target/targets.pyに追記をしなければなりません。},こんなコードを追記しました。今回は、MCUであるnRF51822は既に登録されているので、YAMLを記載する必要はありませんでしたが、新しいMCUを追加したときにはproject_generator_definitionsのREADME.mdを読んでYAMLを作らなければならないと思います。installなどと、ローカル環境にインストールをします。次に、exporterは、mbed-osのtargets.jsonも参照しているみたいです。"ty51822r3"},こんな内容を記述しました。最後に、exporterは、uV4と5、IAR向けのプロジェクトファイルの生成にテンプレートを必要としなくなりました。2.0では必要でした。)しかし、GCC_ARM用のMakefileを生成するには、テンプレートが必要な様です。mbed-os¥tools¥exportに、テンプレートを用意しておきましょう。このディレクトリにある「gccarm.py」にプラットフォーム名の追記も必要です。