mbedクラウドでプログラムを作る


 ■はじめに
MC11U35 CPUボードに搭載されているLPC 11U35はARM CORETEX-M0 アーキテクチャのCPUです。
このシリーズのCPUはUSBのターゲットコントローラを内蔵しています。またUSBのサポートプログラムはROM内に含まれています。
ISPでのドラッグアンドドロップでの書き込みには、内蔵されたUSB機能が使われます。
また、USBの機能を司る基本のファームウエアは、ユーザプログラムから呼び出して利用できる様になっています。

購入直後のMC11U35 CPUボードには、出荷試験用として、搭載LEDを交互に点滅させるプログラムが書かれています。
PCのUSB端子とminiBタイプのUSBケーブルで接続する事により、出荷時に書かれたプログラムが動作します。    
   

 ■mbedクラウドを使ったプログラミング    
mbedクラウドは、PC上にコンパイラをインストールする事なく利用可能なオンラインコンパイラです。PCでのインストールは不要です。
動作させるには、インターネットとの接続が必要になります。回線速度は速い方が快適に動作しますが、コンパイルはmbed.orgのクラウド上のコンピュータが行うため、回線速度や、操作しているPCの性能とは殆ど関係しません。

初めて利用する場合は登録が必要になりますが、利用は無料です(以前はmbedボードを持っている事が利用条件でしたが、現在は自由に利用できます)
 登録には...
ブラウザにて下記アドレスにアクセスしてください。
http://www.mbed.org

初期画面が表示されます。

右の方の「Login or signup」のボタンをクリックすると下の画面になります。


右の方の「signup」をクリック(デカいmbedと書かれた四角をクリックでも良い)
登録確認画面になります。

新規登録の場合は、右の方の「No,I haven't created an account before」をクリックします。
サインアップの画面」になります。


左側、Signupの項目を埋めていきます。
自己のメールアドレス、ログイン名、パスワード、パスワードの確認、名前の各項目を埋めます。
同意する□にチェックをつけて「Signup」をクリックすると、アカウントが作成されます。



ログインの初期画面が表示されます。
最初と違うところは、右上に登録したユーザ名が表示され、ボタンが「Logout」になっています。
ログイン状態をから抜ける場合はLogoutをクリックします。
次回からは、ログイン操作で、この画面がでます。

 コンパイラの操作画面を出します。
上の方、右端にある[Compiler]の文字をクリックします。
loading.. initarizing..と表示され、コンパイラ操作画面になります。



左の方、My Programの下に、自分の作ったプログラムがツリー表示されます。

 プラットフォームの追加
画面上の方、右端に「No device selected」とICの形のアイコンが表示されています。
この表示は、これから作成するプログラムを動作させるプラットフォームの選択を兼ねています。
No device selectedは、利用するmbedボードが何も登録されていない事を表しています。
「No device selected」の部分をクリックしてください。

選択画面が表示されます

左下の[+]ボタンをクリックします。

現在使用可能なmbedボードの候補が表示されます。



利用可能なmbedボードの種類が表示されたら、スクロールさせて、「EA LPC11U35 QuickStart Boad」をクリックしてください。
(MC11U35 CPUボードは、登録にありませんので、同種のCPUを使用しているEA LPC11U35 QuickStart Boadを利用します)



右の方を見ながら、少しスクロールさせると、[Add to your mbed Compiler]のアイコンが出てきますので、これをクリックします。
Platform 'EA LPC11U35 QuickStart Board' is now added to your account!
と表示され、ボードがコンパイラに追加されました。

タブブラウザの場合はmbed Compiler Workspace Managementのタブをクリックするか、履歴からコンパイラ画面に戻ってください。
再読み込みを実行します。
デバイス追加前の表示、「No device selected」が「EA LPC11U35 QuickSt」に変わっています。
 最初のプログラム
上列左のNewボタンから[New Program]を選択するか、左のリスト表示の[My Program]を右クリックしてNew Program...を選んでください。

テンプレートが出ます。
Platform:    EA LPC11U35 QuickStart Boad 
Template:   Blinkey LED Hello World
Program   mbed_blinky 

Platformは動作させるmbedの種類で、プルダウンリストに登録しているボードの名前が出ます。
Templateは作るプログラムの雛形になります。
Program Nameはプログラムに付ける名前です。

Blinkey LED Hello WorldはLEDを点滅させるプログラムで、一般に「Lチカ」と呼ばれています。
雛形ですので、なるべく自分の作りたい機能を持ったテンプレートを選択してください。
と言っても、選択したテンプレートのプログラムしかできない訳ではなくて、全て書き換えても問題ありません。

とりあえず、表示されたままで、[OK]をクリックしてください。

プログラムの作成画面になります。


右側のウィンドウに、二つの項目が表示されています。
main.cpp これから作成するプログラムのメイン部分です。
mbed  mbed環境用のライブラリです。

左のMy Programsのツリーにも同じ項目が表示されますが、+と−を使って折り畳みがコントロールできます。

左のmain.cppをクリックしてください。ソースを表示/編集を行う画面になり、マウスでカーソルを移動、キーボードで自由に入力できます。
編集メニューはメニューバーにはなく、キーボードによるショートカットになっています。


**注意**
漢字モード(FEPがON状態)になっていると、キー入力が無視されます

漢字入力になっていると、キー入力が画面に反映されないため、暴走したかの様に見えるますが、漢字モードを止めて通常の英語入力にすると、入力可能になります。
漢字モードで、キーを入力しても、警告等は一切出ません。
(説明書製作時点で漢字対応のβ版が公開されています。本式対応も時間の問題と思われます)

画面のプログラムは基板搭載のLEDを点滅させるプログラムです。
DigitalOutは指定のポートを出力に設定します。
()の中はピンの名称です。
(LED1)はEA LPC11U35 QuickStart Boadのピン割り当てでMC11U35と異なっているため、修正します。
MC11U35のLEDはP0_20に右側(LED2と表記)、P0_21に左側(LED1と表記)が接続されています。
左側のLEDを使うとして、()の中をP0_21に書き換えます。
DigitalOut myled(
LED1);
    ↓
DigitalOut myled(
P0_21);
修正が終われば、上列の左から5番目、「Compile」をクリックすれば、コンパイルを開始します。
コンパイルに成功すれば、mbed_blinky_LPC11U35_401.bin等の拡張子が.binになった実行ファイルがダウンロードされてきます。
これで、コンパイル作業は終わりです。
自分の入力したプログラムは、mbed.orgのクラウド上で保管されますので、場所やPCを替えても、ネットアクセスが出来ればコンパイル環境が利用できます。

 ピンの名称に付いて
mbed対応で、DIP形式の基板を持つプラットフォームでは、ピンの足番号を名称として使用しています。
例えばmbed 1768 では、I2C用の端子ならP9,P10、アナログ端子のP15と表します。
一方、MC11U35 CPUボードはLPC11U35データシート上のピン名称を短縮した形で指定します。
PIO0_10をGPIOとして、出力にする場合は、
DigitalOut test_led(P0_10);
Pin名称 PIO0_10はP0_10になります。
データシート上のピン名称はPIO0_??とPIO1_??が使われています。
PIO0はPIOの英数字0です。オーではありません。
P0_??に読み替える場合も、Pゼロ_??です。
ピン番号カードには、短く読み替えた名称が記載されています。
 
 プログラムの書き込み
MC11U35 CPUボードに搭載されているLPC11U35はUSB経由でオンチップ書き込みに対応しています。
mbedクラウドで作成、ダウンロードした実行プログラムを書き込みます。

オンチップでの書き込み機能はLPC11U35に初期搭載されており、以下の何れかの方法で起動させる事ができます。
・CPU内部にプログラムが書かれていない状態でUSBに接続(本基板は出荷時に試験用プログラムを書き込んでいますので、この方法は利用できません)
・ISPボタンを押しながら、USBケーブルでPCと接続した後、ISPボタンを離す。
・PCとUSB接続後、ISPボタンを押しながらRESETボタンを押して離し、ISPボタンを離す。
以上の何れかの条件で、MC11U35に実装されているCPUが、マスストレージクラスとして認識される様になります。

初めて接続した場合は、新しいドライブとして認識され、ドライバーが組み込まれます。
(ドライバー組み込みは、windowsやIOS内に予め備えられた標準ドライバーが使われます)
出現したドライブのフォルダの中を見てください。
「firmware.bin」の名前で、容量が約64Kbyteのファイルがあります。
これは、USBとして認識されると必ず出現します。
また、CPU内部に仮想的に存在するため、消去しても、上記のISP起動操作を行ってUSBドライブとして認識させると、何度でも出現します。

書き込み手順は以下の通りです。
USB接続して、上記方法でISPモードにします。
出現したフォルダ内のfirmware.binを削除します。
先ほど作成した*****.binファイルをドラッグアンドドロップで、MC11U35で出現したフォルダにコピーします。
MC11U35のリセットボタンを押すか、USBのケーブルを抜き差しすれば、プログラムが走りはじめます。

firmware.binを消去しないと、空エリアがありません。
消去せずにコピーを実行すると、書き込むエリアが不足している旨のメッセージが表示されます。

再度ISPモードで起動して、マスストレージのホルダからファイルを表示しても、先に書き込んだ*****.binは無くなっていて、firmware.binだけが存在します。
プログラムはCPUに書き込まれています。
 

取り扱い説明書に戻る