ドライバをマージしたmes2.motではなく、ドライバをモジュール化したcore.motを使用してください
実はmes2版のbuild方法が分かりませんでした。CBarでコンパイルすると大量のコンパイルエラー。どなたか、正しくbuildする方法をご存じでしたら教えてください
以下に実験で使用したファイルを掲載しますので参考にしてください(たぶん、間違いや不要なパラメタが残っていると思います)
1.config.sys
dram b=400000 s=200000 bw=8 w=0 sci1 f=20000000 br=57600 memory b=400000 s=180000 ram0 b=580000 s=80000 ne0 b=200000 bw=8 irq=5 i2c0 p=6 clk=1 dat=0 size=20000 lcd0 p=4 d4=0 d5=1 d6=2 d7=3 rs=4 e=5 row=2 col=16 mmc1 p=11 cs=0 sio=2 boot dev=/ram0/ end
2.autoexec.bat
ne.exe ne0 b=200000 bw=8 ifconfig ne0 192.168.1.100 255.255.255.0 gateway 192.168.1.1 lcd.exe lcd0 p=4 d4=0 d5=1 d6=2 d7=3 rs=4 e=5 row=2 col=16 mmc.exe mmc1 p=11 cs=0 sio=2
3.module.sys
sci.exe sci0 f=20000000 br=57600 sci1 f=20000000 br=57600 ne.exe ne0 b=200000 bw=8 end
4.実行結果
(1)コンソール
(2)SDカードアクセス
手持ちのSDカードで動作確認しました。2010.4.22版のmmcドライバでKINGMAX 2GB SDカードにアクセス出来ています(セクタとクラスタを誤解していたので訂正しました。汗・・)
メーカ | 容量 | クラスタ | ファイル数 | 結果 | 備考 |
Mediafo | 512MB | 8KB | 約80個 | OK | SD&USBのコンボ。スーパJUSCOで398円!! |
Kingston | 1GB | 16KB | 約130個 | OK | Micro SDカード |
TOSHIBA | 16MB | 8KB | 約130個 | OK | mini SDカード SD-S16 |
TOSHIBA | 1GB | 16KB | NG→OK | Micro SDカード mountでDisk IO error | |
KINGMAX | 2GB | 32KB | NG→OK | mountでDisk IO error | |
Hagiwara | 1GB | 16KB | 約130個 | OK | SDカード |
※:「ファイル数」は最大搭載可能ファイル数
どうにも解せない結果(クラスタサイズと認識ファイル数)ですが、多分間違い無いと思います
あまり無いと思いますが800KB超のJPEGファイルをtftpすると、一度だけ失敗(Disk IO Error)しました。それ以降は上手く転送出来ています。数十KBのファイルは全く問題ありません。
転送速度は7KB/s強でEEPROMの6倍程度の速度が出ています
転送速度は7KB/s強でEEPROMの6倍程度の速度が出ています
DisktoolはWindows XP以前でしか動作しません。拙宅で通常使用しているのはWindows Vistaで、XPを使うためには再起動が必要になります(「7」を立ち上げ、その上でVMPlayerを起動しています)mmcドライバの試行錯誤中に毎回rebootやROM焼きは辛いものがあります
mmcドライバを何とかEEPROMに置けないか試してみました
1.config.sys
dram b=400000 s=200000 bw=8 w=0 sci1 f=20000000 br=57600 memory b=400000 s=180000 ram0 b=580000 s=80000 i2c0 p=6 clk=1 dat=0 size=20000 boot dev=/ram0/ end
2.autoexec.bat
ne.exe ne0 b=200000 bw=8 ifconfig ne0 192.168.1.100 255.255.255.0 gateway 192.168.1.1 i2c.exe i2c0 p=6 clk=1 dat=0 size=20000 mount i2c0 cd /i2c0 autoi2c.bat
ネットワークだけは立ち上げとかないと、何か有ったとき(普通あるのですが)何も出来なくなります。ネットワークが立ち上がっていれば最悪、ドライバを旧バージョンに戻せます
3.autoi2c.bat
mmc.exe mmc1 p=11 cs=0 sio=2 mount mmc1 cd /mmc1 autommc.bat
4.autommc.bat
lcd.exe lcd0 p=4 d4=0 d5=1 d6=2 d7=3 rs=4 e=5 row=2 col=16 type welcome.txt df
5.実行結果
(1)コンソール
mmcドライバを相当圧縮すれば別でしょうが、32KB(256Kbit)のEEPROMではうまくいきません(容量不足です)。1MbitのEEPROMを使用する場合はSIZEに注意してください(ハマリました)
i2c.exe i2c0 p=6 clk=1 dat=0 size=20000
SIZEを変更した場合はEEPROMをFORMATし直す必要が有るようです。FORMAT直後は動作が少し不安定でしたが、今のところ順調に稼働しています。ただ、mmcドライバを起動する時間が暫く(数十秒)掛かります
mmcドライバを直す予定がない場合はi2cを経由しないで直接autommc.batを起動するようにした方が良いと思います
SDカードボードの動作環境2 mmcドライバの改修2
コメントをかく