概要 | 特長 | 型番一覧 | ドキュメント/技術情報

mbed - クラウドオンラインですぐに使える高速プロトタイプツール
トラ技増刊, mbed/トラ技ARMライタ特集 トラ技増刊, mbed/トラ技ARMライタ特集

トラ技増刊, mbed/トラ技ARMライタ特集

概要

mbedはARMが運営しているWebサイト上でC++で開発する高速プロトタイピングツールです。 開発環境のPCへのインストールは不要です。Webにアクセスできる環境であればどこからでも開発でき、 60秒で「Hello World」が可能です。
mbedには直感的な分かりやすいAPIと豊富なサンプルコード、ドライバ、ライブラリがあり、 組み込み初心者でも簡単に始めることができます。 高度に抽象化されたライブラリ群を用いることで、下層レイヤに時間を取られず、 高機能なアプリケーションに集中して取り組めます。
Webサイト上には日本語情報も豊富で、問題発生時はフォーラム上で共有、解決が可能です。
mbedモジュール、ボード および デバイスは国内でも流通しておりますので、簡単に入手可能です。

最近、各種mbedボード/モジュールがリリースされていますが、完成度が最も高く、初心者でも上級者でもハマらずに、簡単に、多くのことを実現できるmbedは ARM純正 元祖 青色 mbed LPC1768 !!です。
どのモジュール/ボードを使ったらよいか迷っている方は、この元祖 青色 mbed LPC1768を選択されることを強くお勧めします。

mbedボード/モジュールには、mbedインタフェースチップの有無 及び 種類によって違いがあります。 mbedインターフェースチップは、USBドラッグ&ドロップ書き込み、USB-UART変換(VCOM) 及び オフラインでのCMDIS-DAPデバッグをサポートしています。 各mbedボード/モジュールのmbedインターフェースチップは、下記「型番一覧」をご覧ください。

特長

簡単!! 箱を開けてから10分以内に「Hello World」
    1. 箱を開けてmbedとPCをUSBで繋ぎます。PCはmbedを「MBED」という名前のマスストレージ(ドライブ)として認識します。 フォルダー内の「MBED.HTM」をダブルクリックします。 Webページの”Signup”を選択し、ご自身のアカウントをつくります。
      アカウント作成はこちらを参照ください、アカウント作成はメールアドレスさえあれば作れます。

      ※「MBED」ドライブが現れるのは、ARM純正 mbed LPC1768/LPC11U24 や mbedインターフェースチップ搭載モジュール/ボードのみ。
      USBのないDIPデバイス LPC1124FN28、USBはあるがmbedインターフェースチップを搭載していないmbedサポートモジュール/ボードなどをmbedとしてお使いになる場合も こちらを参照してアカウントを作成してください。
    1. Platforms」から使用するモジュール、ボードを選択し、自分のmbedオンライン・コンパイラに追加してください。
    1. 画面右上の「Compiler」をクリック。Compiler画面、右上の「New」をクリック。 プログラム名を入れます、例えば”HelloWorld”(全角文字は使わないでください)。
      画面上部の「Compile」をクリックすると、binファイルのダウンロード先を聞かれるので、分かる場所に保存。 保存したバイナリファイルを「MBED」ドライブの中にドラッグ&ドロップすると、LEDがチカチカしてプログラムが書き込まれる。

      ※mbedインターフェースチップなしで、USB-ISPから書き込みの場合は、こちらを参照。
    1. リセットボタン(mbed LPC1768/ mbedLPC11U24の場合は真ん中のボタン)を押せば、「Lチカ Hello World」プログラムが実行され、LEDがチカチカします。
とっても簡単!!ですね。

    1. (書いている私も、C++に馴染みないんですが。。。)
      実際に書き込んだ「Lチカ Hello World」のコードは
        
      #include "mbed.h"
      
      DigitalOut myled(LED1);
      
      int main() {
          while(1) {
              myled = 1;
              wait(0.2);
              myled = 0;
              wait(0.2);
          }
      }
      
      3行目に
        "DigitalOut"ってあります、これC++では「クラス」って言う名前のものです。C++に馴染みのない方は、高級な関数くらいに思っておいてください。 ピンを「GPIOの出力」にしています。 "myled"ってあります、これはmbedライブラリで定義済みの「DigitalOutクラス」に適当名前として"myled"って、勝手に名前をつけて(名前は自分が分かる様に勝手につけよい)、「DigitalOutクラス」をこの名前で使える様にしています(「オブジェクトを作成する」って言います)。 "LED1"は使用する「ピン名」で引数です。
      7行目で、
        3行目で作った"myled"って名前の「DigitalOut」に"1"を入れてます。"えっ!、クラスって高級な関数みたいなものなのに直接数字代入しちゃっていいの!?" C++ではいいんです! (C++のこの仕組みを知りたかったら、「operator、演算子のオーバーロード」でググってください、mbedライブラリがC++を使っているのは、簡単にプログラムを書けちゃう様にするためです。 (まずはサンプルを見ながら、使い方に慣れることです。サンプルプログラムを見て使い方さえ分かれば、プログラムを書けちゃえる様にmbedライブラリがしてくれています。 使い方に慣れてから、C++の仕組みを知りたい方やさらに高度なC++の使い方は勉強しましょう!mbedライブラリ内のクラスを派生(拡張/変更)して、自分用にカスタマイズしたクラスを作ることができます、「継承」って言います)。
      8行目、9行目、
        8行目で"0.2秒"の「wait」をして、9行目で「DigitalOut」に"0"を入れて"LED1"ってピン名のGPIOを「Low」にしています。
      これを回して、mbedの"LED1"って名前のGPIOピンを0.2秒毎にHigh/LowでLチカさせています。

mbedインターフェースチップ
mbedにはターゲットマイコン以外に「USBドラッグ&ドロップによるプログラムの書き込み」や「USB-UART(シリアル)変換」をしているチップ(mbedインターフェースチップ)があります。
mbedインターフェースチップが非搭載ボード または デバイス単品の場合、他の方法(ISPモードでの書き込み)でターゲットマイコンにプログラムの書き込みを行う必要があります。 USBからのプログラム書き込み(USB-ISP)機能のあるLPCマイコンであれば、USBからドラッグ&ドロップ書き換えが可能です。
各ボード/デバイスの個別情報はこちら

mbedオンラインコンパイラは「日本語入力」をサポート、詳細はこちら

「Handbook」と「Cookbook」
mbedのWebページは、「Handbook」ページ と「Cookbook」ページがあります。
  • 「Handbook」ページにはDigital I/O, Analog I/O, 通信といったハードウェアの下周りのAPI関数の使い方情報があります。 右下図 “mbedライブラリ・アーキテクチャ”の”mbed Library”部分が「Handbook」部分になります。
  • 一方、「Cookbook」にはHTTP Server, USBSerial, Xbeeといったアプリケーションに近いレイヤーのライブラリです。 これらを使うことで、マイコンの分厚いマニュアルを読まなくても高性能ARMマイコンを使うことが可能です。

mbedはご自身のプログラムを公開することができます。公開されていれば、他の人プログラムもご自身の環境にインポート可能です。 世界のどこかで面白いプログラムを作った人がいれば、それと同じものを試してみることができます。
デバッガを使いたいときは、プロジェクトをエクスポートしてLPCXpresso IDE+LPC-LINK等でデバッグすることも可能です。エキスポート可能は開発環境はこちらを参照ください。

mbedのピン配置:

mbed2.0
mbed2.0がリリースされ、下記の様な機能が追加されました。
  • mbedライブラリ(mbed-SDK)がオープンソースになった(Apache2.0ライセンス)
      これまでバイナリで提供されていたmbedライブラリ(「DigitalOut」,「I2C」,「Ethernet」,「LocalFileSystem」など)のソースが公開され、自分の環境にインポート出来る様になりました。
      mbedライブラリ中を変更したい場合は、プロジェクトからmbedライブラリを削除し、ライブラリのソースをインポートし変更することが出来ます。「mbed-src」をインポートしてください。 mbed-SDKのページはこちら
      mbedライブラリの構造はmbed library internlasのページをご覧ください。
      ※mbedの公開コードページが「Page error」になる場合は、英語モード(en):"http://developer.mbed.org/setlang?lang=en"でページを開いてください。

  • オンボードmbedチップがCMSIS-DAPデバッグをサポート
      mbedオンライン・コンパイラ環境で作ったプログラムはオフラインの開発環境にエクスポート可能です(上記参照)。
      mbedにはデバッガ接続用コネクタがありませんが、mbedチップ(mbedインターフェース)のファームウェアをこのCMSIS-DAPをサポートする最新のファームウェア(mbed2.0 mbed-HDKをサポート)へアップデートすることで、mbedチップがCMSIS-DAPデバッガになります。これでCMSIS-DAPデバッガをサポートする開発環境でデバッグが可能になります。 CMSIS-DAP対応のファームウェアのアップデート 及び MDK-ARM(μVison)にエクスポート/オフライン・デバッグはこちらのページをご覧ください。
      ※Windoesの場合で、このページにある様に3つのUSBデバイスが現れない場合、「Driver issue」の手順で「serial driver」をインストール


新しくなった mbed2.0 の使い方ビデオ (日本語字幕付き)



mbed LPC1768 (青mbed)


mbed LPC11U24 (黄mbed)


LPC4088 QuickStart (赤mbed)

型番一覧


mbedプラットフォーム mbedインターフェースチップ
mbed LPC1768 あり:オリジナルインターフェースチップ
mbed LPC11U24 あり:オリジナルインターフェースチップ
LPC4088 QuickStart あり:LPC11U35/501
トラ技ARMライタ
TG-LPC11U35-501
なし
単体の場合:USB-ISP
トラ技ARMライタx2:LPC11U35/501
mbed LPC1114FN28 なし
DIP28単体の場合:ISP
mbed LPC1114FN28:LPC11U35/501
トラ技ARMライタ:LPC11U35/501
LPCXpresso824-MAX あり:LPC11U35/501
LPC812-MAX あり:LPC11U35/501
LPCXpresso LPC1549 あり:LPC43xx
LPCXpresso LPC11U68 あり:LPC43xx




ドキュメント/技術情報

※次ののボード情報(回路図など)はそれぞれのページをご覧ください。
LPC4088 QuickStart(mbed LPC4088)のページトラ技ARMライタ(TG-LPC11U35-501)のページ
LPC812-MAXのページLPCXPressoのページ

Warning: file_get_contents(http://www.nxp-lpc.com/cgi-bin/linkv2.cgi?word=mbed_&cond=0): failed to open stream: HTTP request failed! HTTP/1.1 500 Internal Server Error in /home/users/web10/9/3/0260739/www.nxp-lpc.com/cgi-bin/mbed.php on line 475