2016年10月31日

mbed-osなどを使ってみよう(17):mbed-osの起動を追いかける

昨日まででダウンロードしたmbed-osのアプリを手元のPCでEWARMを使ってメイク、ビルドまでできました。 

せっかくなので、mbed-osがどう動くのか?などを見ようとしたのですが、ダウンロードして実行するときにはもうmain関数です。
mbedB_00083.png

起動シーケンスを追いかけるにはEWARMのオプション設定を変更する必要があります。
実際には以下の画面になります。
mbedB_00084.png

これにより、ダウンロード直後からデバッグを開始することが出来ます。
mbedB_00085.png

ポイントはこの関数ですね。
mbedB_00086.png

mbedの使い方としては、クラウド側でコンパイルしBINファイルを書き込めばよいですのですが、デバッガなどを考えるとオフライン環境も使えると便利です。


タグ:LPC1768
posted by EWARMJP at 12:00| Comment(0) | TrackBack(0) | RTOS | このブログの読者になる | 更新情報をチェックする

2016年10月30日

mbed-osなどを使ってみよう(16):トラブルを解消

せっかく昨日はクラウド側のプロジェクトをダウンロードしてEWARMでコンパイルまでして、EWARM上からダウンロードしようとしてトラブりました。

問題は何だったかと言うとこんなエラーが出たのです。
mbedB_00077.png

こうした時には、デバッガ周りのオプションをチェックします。
EWARMのプロジェクトオプションを開き、[デバッガ]-[設定]を確認します。ドライバがCMSIS DAPなのでOKです。
mbedB_00079.png


次に[ダウンロード]を確認すると、以下のようにチェックが入っていません。フラッシュにコードは書く必要がありますので、以下の2つにはチェックを入れます。

mbedB_00080.png

これで再度ダウンロードを実行してみますが、駄目です。

mbedB_00077.png

次にはCMSISーDAPの設定を確認します。リセットの設定を[ハードウェア]に変更してみます。
mbedB_00082.png

これで再度ダウンロードすると、動きました。
mbedクラウドで動いているソフトを手元のPCにdownloadし、EWARMでメイクしてビルド完成です。
mbedB_00083.png





posted by EWARMJP at 12:00| Comment(0) | TrackBack(0) | RTOS | このブログの読者になる | 更新情報をチェックする

2016年10月29日

mbed-osなどを使ってみよう(15):ダウンロードしたプロジェクト

昨日はmbedのクラウド上でのプロジェクトをダウンロードしました。その話はこちら → mbed-osなどを使ってみよう(14):クラウドからのダウンロード

ダウンロードしたファイルを解凍しましょう。
mbedB_00073.png

するとこんな感じですので、ワークスペースファイルをEWARMで開きます。
mbedB_00074.png

こうなります。それでは”メイク”します。
mbedB_00075.png

結構なファイルがあるようで、そこそこ時間はかかりますが、エラーはなく(ワーニングはあるけど)メイクが終了します。
mbedB_00076.png

で、そのまあダウンロードをしようとしますが、うまく行きません。
mbedB_00077.png

原因を調べないといけません。

posted by EWARMJP at 12:00| Comment(0) | TrackBack(0) | RTOS | このブログの読者になる | 更新情報をチェックする

2016年10月28日

mbed-osなどを使ってみよう(14):クラウドからのダウンロード

これまでmbed CLIを使ってきました。 昨日の話はこちら → mbed-osなどを使ってみよう(13):mbed CLIサンプルでターゲットボードを変更

今日はクラウド側のアプリをダウンロードしてみます。

まずmbed のクラウドコンパイラのログインしましょう。今回はLPC1768のボードを使いますので、もし、プラットフォームに登録していない場合に右側のボードのところクリックして追加しておきましょう。下の図では、Renesas GR-PEACHとなっているところをクリックするとボードを選択する画面が出てきます。
mbedB_00070.png

ここまで準備ができたら、新しいプロジェクトを作成しましょう。プラットフォームにmbed LPC1768、テンプレートにmbed OS Blinky LED helloworldです。
mbedB_00069.png

自分のPCで実行するために、速攻でエキスポートします。プロジェクトを選んで右クリックし、プログラムのエキスポートを選びます。
mbedB_00071.png


この時に、以下の選択を実施します。ツールをIAR SystemsとExport All filesにチェックを入れます。
mbedB_00072.png

これでExportをクリックするとZIPファイルがダウンロード出来ます。


posted by EWARMJP at 12:00| Comment(0) | TrackBack(0) | RTOS | このブログの読者になる | 更新情報をチェックする

2016年10月27日

mbed-osなどを使ってみよう(13):mbed CLIサンプルでターゲットボードを変更

昨日はコンパイラがちがうことで結果が違うことを確認しました。 

これまでの活動で、mbed CLIに必要なツールをインストールして、サンプルダウンロードし、GCCやEWARMでコンパイルが出来るようになりました。
これまではmbed CLIのページにあった、コンパイルの仕方を見てやっていたので、K64F用にターゲットを作成していました。

FRDM-K64F持ってません。


それで、どのボードに対応しているか?を調べる方法を考えました(私が考えたので本当に正しいか知りません)。
いまは、mbed-os-example-blinkyをダウンロードして使っていますが、そのフォルダを見てみます。
重要なところを抜き出してみると、以下のようになっています。
└─mbed-os
    ├─hal
    │  ├─api
    │  ├─common
    │  ├─hal
    │  │  └─storage_abstraction
    │  └─targets
    │      ├─cmsis
    │      │  ├─TARGET_Freescale
    │      │  │  └─TARGET_MCU_K64F
    │      │  │      ├─TOOLCHAIN_ARM_STD
    │      │  │      ├─TOOLCHAIN_GCC_ARM
    │      │  │      └─TOOLCHAIN_IAR
 ・・・
    │      │  ├─TARGET_NXP
・・・
    │      │  │  ├─TARGET_LPC176X
    │      │  │  │  ├─TOOLCHAIN_ARM_MICRO
    │      │  │  │  ├─TOOLCHAIN_ARM_STD
    │      │  │  │  ├─TOOLCHAIN_GCC_ARM
    │      │  │  │  │  └─TARGET_XBED_LPC1768
    │      │  │  │  ├─TOOLCHAIN_GCC_CR
    │      │  │  │  ├─TOOLCHAIN_GCC_CS
    │      │  │  │  └─TOOLCHAIN_IAR


mbed-osのしたにhal層があり、target以下にいろいろなマイコンのフォルダがあります。
たとえば、K64FやLPC176Xなどが見えます。

いま私の手元にはmbedに対応したLPC1768ボードがあります。こいつをターゲットにしたいと思います。
mbedB_00067.png

それではプロジェクトをコンパイルしてみましょう。
C:\Tmp\mbedos\A1\mbed-os-example-blinky>mbed compile -m LPC1768 -t IAR
Building project mbed-os-example-blinky (LPC1768, IAR)
・・・
+-------------+-------+-------+------+
| Module      | .text | .data | .bss |
+-------------+-------+-------+------+
| Misc        |  7824 |   360 |  240 |
| hal/common  |  1574 |     0 |  116 |
| hal/targets |  3116 |     4 |  244 |
| rtos/rtos   |    20 |     4 |    0 |
| rtos/rtx    |  5770 |    36 | 7038 |
| Subtotals   | 18304 |   404 | 7638 |
+-------------+-------+-------+------+
Allocated Heap: 8192 bytes
Allocated Stack: 4096 bytes
Total Static RAM memory (data + bss): 8042 bytes
Total RAM memory (data + bss + heap + stack): 20330 bytes
Total Flash memory (text + data + misc): 18708 bytes
Image: .\.build\LPC1768\IAR\mbed-os-example-blinky.bin

動作させるためには、フォルダ.buildの下にLPC1768¥IARがありますので、そこにあるBINファイルを書き込みます。
書き込むのはボードをUSBに接続して、そのBINファイルを、コピーしてやれば終わりです。

mbedB_00068.png

LEDが点滅しています!










posted by EWARMJP at 12:00| Comment(0) | TrackBack(0) | RTOS | このブログの読者になる | 更新情報をチェックする

2016年10月26日

mbed-osなどを使ってみよう(12):mbed CLIでのGCC/EWARM?

mbed CLIでとうとうEWARMを使ってコンパイルして実行することが可能になりました。 → mbed-osなどを使ってみよう(11):mbed CLIでEWARMを使う

今日は昨日までやったことで気になった点を確認したいと思います。mbed CLIで実行すると最後にコンパイル結果が示されます。
こんな感じですね。
mbedB_00065.png

これは、興味深いですね。同じソース群で、GCCとIARのEWARMの結果を見ることが出来ます。
mbedB_00066.png

あれあれ、ぜんぜん違いますね。。。
いまだに、コンパイラの出す結果は違うのですね。





続きを読む
posted by EWARMJP at 12:00| Comment(0) | TrackBack(0) | RTOS | このブログの読者になる | 更新情報をチェックする