mbedでつくるアプリケーション(ケース4)
- 2010/08/27
- 19:57

mbedでつくるアプリケーション
シリーズ第4回は、ローカルファイルです。
Mbed汎用プログラム
(ケース4-ローカルファイル)
-作成手順とサンプル
1.はじめに
2.ローカルファイル
2.1 mbedメモリ構成仕様
2.2 ローカルファイルシステム
2.3 テキストファイルの操作
・fgets()関数
・sscanf()関数
2.4 データロガー的プログラム
⇒文書最終頁へ
1.はじめに
mbedモジュールでプログラムの開発環境とプログラムが実行されるデバイス装置を手にすることができました。
プログラムの開発には、実行結果の確認やデバッグの用途からも、ファイルにログを収集できると便利です。
mbedのC++インターフェースでローカルファイルシステムの利用を宣言することができます。。
簡単にmbed上のローカルファイルシステムを利用すると便利です。
「2.ローカルファイル」ではその利用方法について説明します。
・製品mbedについて
ここでは、下記製品を対象としています。
製品名「mbed NXP LPC17668」
Type Number[LPC1768FBD100] Max. CPU Speed 100 MHz /Flash512 kB/Total SRAM 64 kB
2.ローカルファイル ⇒文書先頭頁へ
2.1 mbedメモリ構成仕様
(001)メモリマップと周辺端末部アドレス詳細
ARM Cortex-M3プロセッサは、連続4GBのアドレス区間があります。 このアドレス空間のLPC17XXでの使われ方は次のようになります。


(002)メモリマップと周辺端末部アドレスダイアグラム

(003)フラッシュメモリとRAM
512KB フラッシュメモリと64KBRAMを持ちます。

(004)ディスクスペース
・ビリュームラベル:MBED
・種類:リムーバブルディスク
・ファイルシステム:FAT
・容量:2,064,384バイト(約2Mバイト)
2.2 ローカルファイルシステム ⇒文書先頭頁へ
2.2.1 mbed上にテキストファイルをプログラムから出力する
*mbedはWindows OS下でドライブ(ex.「F:」など)として認識される。
(001)mbedサイトのHandbookを開き、C++インターフェースを参照します。

(002)「LocalFileSystem」リンクをクリックすると、使い方の説明が表示されます。
.jpg)
(003)サンプルプログラム「Hello World!」の実行。
・「local」という名前のローカルファイルシステムを作ります。
・「out.txt」という名前のファイルが作成されます。

(004)プログラム開発IDE画面に入ります。





2.2.2 テキストファイル
テキストファイル出力を複数行行なったところ、出力結果を「メモ帳」で見たところ、改行がない状態で表示されました。この件について、以下、簡単にレポート致します。
(001)テキスト2行出力プログラム



2.3 テキストファイルの操作 ⇒文書先頭頁へ
2.3.1 fgets()
テキストファイルに書かれた行データの読み込み
(001)fgets()利用ソースコード(pgx_03t)
*このプログラムではシリアル通信pcコンストラクタを用い、実行経過をモニタしています。(ハイパーターミナルを利用)

(002)fgets()利用プログラム実行結果

2.3.1 sscanf()
テキストファイルに書かれた1行内データの単語別読み込み
(001)sscanf()利用ソースコード(pgx_03u)


2.4 データロガー的プログラム ⇒文書先頭頁へ
テキストファイルにデータを書き込み、プログラムの実行動作履歴をある程度保持するようなシステムを考えます。動作記録のタイムスタンプ的なものも考慮しました。
*実際に使用するプログラムとしては、下記動作仕様の制限下のものとして、改めて検討が必要です。
(001)プログラム動作仕様
-履歴ログファイル
A、B、2つのログファイルを用意します。各1000行の履歴を保持します。Aファイルに1000行書き込まれると、次のデータはBファイルに書き込まれます。Bファイルに1000行書き込まれると、次のデータは、Aファイルをクリアし、その1行目から書き始められます。このA、B両ファイルへのデータ書き込みを交互に繰り返します。10回繰り返すとログ収集をそれ以上行なわず、プログラム実行を終わります。
-プログラム動作モニタ
ハイパーターミナルプログラムでプログラム実行中の動作履歴を表示します。
-タイムスタンプ
ログされる履歴レコードごとのタイムスタンプは、初期値として、とりあえず、ローカルに設定した年月日時分秒になっています。
(002)ソースコード(pgx_04a)_1

(002a)ソースコード(pgx_04a)_2


(004)実行結果-ログファイル内容
-ログファイルA(PGX_04LA.TXT)

-ログファイルB(PGX_04LB.TXT)

⇒文書先頭頁へ
- 関連記事
-
- EJB01-01 組立てマニュアル (2010/09/06)
- mbedで作るアプリケーション (ケース5-RTCタイマ操作) (2010/09/03)
- mbedでつくるアプリケーション(ケース4) (2010/08/27)
- 【商品情報】/【DM183022】【DM240001】 (2010/08/06)
- mbedでつくるアプリケーション(ケース3) (2010/08/05)