« 2012年1月 | トップページ | 2012年3月 »

2012年2月15日 (水)

mbed RTOS (その1)

近々リリースされると噂でしたが、mbedのRTOS(リアルタイムOS) α版がリリースされました。
以前に紹介したmbedユーザーによるRTOSはありましたが今度はオフィシャルがCMSIS APIをサポートした形で公開されました。

http://mbed.org/handbook/RTOS

以下のRTOSの標準的な機能が使える様です。

スレッド(Thread)
排他制御(MUTEX)
セマフォ(Semaphore)
シグナル(Signals)
キュー(Queue)
メール(Mail)
RTOSタイマー(RTOS Timer)

RTOSを使うとスレッドによって複数の処理をスレッドという単位で同時に動かすイメージで扱うことが出来ます。排他制御、セマフォ、シグナル、キュー、メールはそのスレッド間で処理の順番やデータのやりとりを制御する機能です。
RTOSタイマーは一定の周期(間隔)で処理を動かしたいときに使う機能です。

今後、ちょっと使ってみて解析していきたいと思います。

| | コメント (0) | トラックバック (0)

2012年2月 8日 (水)

mbedのローカル開発

進化をし続けるmbedコンパイラですが、実はローカルの開発環境向けにワークスペースをエクスポートできる機能が加わっています。

今回は無料で使えるLPCXpresso IDEにインポートしてコンパイルする方法を紹介します。

取り敢えずここにあるmbedをUSBマウスにするプログラムをmbed.orgのオンラインコンパイラへインポート(もちろんWorkspaceは何でもOKです。)

インポートしたプログラムはこんな感じ
Usbmouse
これだけのプログラムでUSBマウスになっちゃうmbedがすごい。
(正確言うとライブラリの充実具合がやばい)

Workspace名の上で右クリックを押してExport Programをクリック。
すると下の様なダイアログが出てくるのでcode_redを選択してExport。
Export

するとzipで圧縮された状態でダウンロードされるので解凍する

[修正]ダウンロードしたファイルは解凍せずにIDEに取り込めるとのこと

LPCXpresso IDEを起動して、Project欄の上で右クリック。
(LPCXpresso IDEのインストール方法はこちらを参照)
Import01
Importを選ぶ。

表示されたダイアログでGeneral⇒Existing Projects into Workspaceを選択
Import02

次に表示されたダイアログでSelect archive fileからダウンロードしたzipファイルを選んでFinishを押す。Select root directoryのBrowseから解凍したフォルダを選んでFinishを押す。
Import04[修正]⇒Import08

Workspaceが開かれるのでProject⇒Build Allでコンパイルされる。
Import05

するとフォルダにDebugフォルダが出来るのでその中のbinファイルをいつも通りmbedのドライブに置いてリセットを押せば動きます。
Import06

Import07

今回のプログラムではmbedのD+,D-にUSB Bコネクタを取り付けパソコンに繋げばUSBマウスとして認識されマウスカーソルがグルグル動き出しました。
(USBマウスとして動作するのはmbed上のUSBコネクタではないので注意)
Dsc04830

もちろんLPCXpresso 1769に書き込んでも動作します。
Dsc04831

当たり前ですが、コードを変更してコンパイルできます。
なのでネットが使えないときやmbed.orgがサーバメンテのときは事前にダウンロードしておけばローカル環境で作ることが出来ます。

mbed祭り2012で参加者のみ公開されたmbed開発チームからの極秘情報によるとmbedのサイトはまだまだ進化するようで楽しみです。

| | コメント (0) | トラックバック (0)

« 2012年1月 | トップページ | 2012年3月 »