SSブログ

簡単ファイルシステム評価ボード ALFATを使ってみよう! 其の十三 [ALFAT]

※注意!
これからこのブログを書きながら最終的なハードウエアデバック、アプリケーションソフトウエアの構築に入ります。なので、写真や文章と実際の製品では異なる部分が出る可能性が有ります。その点をご了承下さい。

ヒューマンデータさんありがとう!編 続き


引き続きヒューマンデータさんから提供していただいたμALFATを実装したFAT-005をいじっています。

このチップの特徴は、

  1. 一文字コマンド
    ALFATが二文字のコマンドだったのに対してより短くなっています。また、ALFATの場合はエラー以外はプロンプトの表示だったのに対して、μALFATでは成功でも、失敗でもリザルトコードが返ります。
  2. フレームモードの廃止。
    イマイチ使い方の良く判らなかったフレームモードが廃止となり、全てテキストモード?となっています。
  3. ファイルの同時オープン数が16から4へ。
    まあ16は必要無いでしょうからね。
  4. 小型化
    64pinQFPから48pin QFPになっています。
  5. CPUパワーアップ
    50MHzから最大70MHzとなったのかな。
  6. RTC内蔵
    従来はソフトウエアで時計機能を実現していましたが、μALFATではハードウエアでRTCをサポートしています。の為、32KHzのクリスタルを外付けできるようになっています。
その他細かい所の変更、機能強化が有ったと思いますが、まあこの辺で止めて置きます。 さて、実際に動かして見ます。まずプログラミング的に大きく変わったと実感できるのは、Boot Loaderの扱いです。ALFATではUART、SPI、I2Cの全てのインタフェースでBoot Loaderの操作が可能だったのですが、μALFATではUARTのみしかBoot Loaderにアクセスできません。H8とはI2Cで接続しているのですが、いきなりファームウエアが起動してしまうので、通常の使用では問題無いのですが、ファームウエアの更新をする時にどうするか困っています。
Renesas H8/3694F Test Program for HEW3.   →これは自分のクレジット
designed by hamayan.
Copyright (C) hamayan since 2004.

 GHI Electronics, LLC   →ここからμALFATのクレジットが始まる
----------------------
   Boot Loader 2.02
   uALFAT(TM) 2.05
!00  →リザルトコード 0 (0は成功を示す)

!00  →改行(\r)でもリザルト=0
I  →"I"コマンドでSD/MMCカードをマウントします。
!00
細かい点では、ALFATではコマンドに使える文字は大文字でも小文字でも構わなかったのですが、μALFATの場合は大文字のみです。まあこれはそれ程問題では無いのですが。
v  →小文字でコマンドを入力
!FD  →だめーーー
V
uALFAT 2.05  →ファームウエアのバージョン
!00  →成功
また、ディレクトリのリストコマンド(ALFATなら"LF")が無くなっていますね。代わりになるのは"@"コマンドと"N"コマンドでしょうか?。
@  →"@"コマンドでディレクトリエントリの初期化を行って、
!00
N  →"N"コマンドでファイル名またはディレクトリ名を順次出力します。
!00
ALFATFWR.GHI 20 00012630  →左からファイル名、拡張子、属性、サイズです。
!00
N
!00
ABCD    .TXT 00 00000010
!00
N
!00
EFGH    .TXT 00 00000010
!00
N
!00
TEMPER02.CSV 00 00000093
!00
N
!00
TEMPER02.ODS 20 00003AAB
!00
N
!00
TEMPER03.CSV 00 00005CDF
!00
N
!00
TEMPER03.ODS 20 00010DEB
!00
N
!4D  →ディレクトリリストの最後を示します。
では、新たにディレクトリを作成し、そこに二つのファイルを書き込みモードでオープンし、適当なデータを書き込み、ファイルをクローズ、ディレクトリを取ってファイルが出来ている事を確認、今度は読み出しを行い、ファイルの削除を行う所までをデモしてみます。
M LOG_DATA  →ディレクトリの作成
!00
A LOG_DATA  →ディレクトリの移動
!00
O 1W>VOLTAGE.LOG  →書き込みモードでオープン。ファイルハンドルは"1"
!00
O 2W>CURRENT.LOG
!00
W 1>7  →ファイルハンドル"1"に7文字書き込み
!00
12.123V$00000007  →「12.123V」が入力したデータ、「$00000007」は実行結果
!00
W 2>A
!00
1234567890$0000000A
!00
C 1  → ファイルハンドル"1"をクローズ
!00
C 2
!00
@
!00
N
!00
.       .    10 00000000  →カレントディレクトリ
!00
N
!00
..      .    10 00000000  →ROOTディレクトリ
!00
N
!00
VOLTAGE .LOG 00 00000007  →出来ている
!00
N
!00
CURRENT .LOG 00 0000000A  →これも出来ている
!00
N
!4D
A ..  → ROOTディレクトリに移動
!00
@
!00
N
!00
ALFATFWR.GHI 20 00012630  →ROOTディレクトリのファイル
!00
A LOG_DATA  → 再び作成したディレクトリに移動
!00
O 1R>VOLTAGE.LOG  → 読み出しモードでオープン
!00
O 2R>CURRENT.LOG
!00
R 1Z>8  → FILL文字"Z"で8文字読み出し
!00
12.123VZ$00000007  →「12.123V」までは先程書いたデータ、"Z"はFILL文字
!00
R 1Z>7  → そのまま更に読み出してみた
!00
ZZZZZZZ$00000000  →ファイルポインタが最後に達しているので、
FILL文字の"Z"のみ7文字出力
!00
R 2Z>A
!00
1234567890$0000000A
!00
C 1  →ファイルをクローズ
!00
C 2
!00
D VOLTAGE.LOG  → ファイル削除コマンド
!00
@  →ディレクトリを取ってみる
!00
N
!00
.       .    10 00000000
!00
N
!00
..      .    10 00000000
!00
N
!00
CURRENT .LOG 00 0000000A
!00
N
!4D  → 「VOLTAGE.LOG」は削除されてしまった。
先のBOOT LOADERの問題以外は、これは使えるのではないでしょうか。 この一文字コマンド体系も、ヒューマンインタフェースではイマイチですが、マイコンからの操作の場合はむしろ容易になると思います。

追記

ファームウエアのバージョンアップですが、ファームウエア上から"X S"コマンドを発行する事で、更新処理に入ります。但し、ALFATのファームウエアの時の様にI2C上でも「W??」と言うメッセージが出ないので、どのタイミングで停止して良いのかさっぱり判りません。
Renesas H8/3694F Test Program for HEW3.
designed by hamayan.
Copyright (C) hamayan since 2004.

 GHI Electronics, LLC
----------------------
   Boot Loader 2.02
   uALFAT(TM) 2.06
!00
うーん、困った。
nice!(0)  コメント(0)  トラックバック(0) 

nice! 0

コメント 0

コメントを書く

お名前:[必須]
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

※ブログオーナーが承認したコメントのみ表示されます。

トラックバック 0

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。