[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
開発環境
① MPLAB v8.46 + C30 v3.23 マイクロチップテクノロジージャパン株式会社
一応、全て無料の環境で開発する事が出来ます。
ただし、ここで紹介するソースは、コンパイラの最適化を効かせないと、プログラムメモリに
入らないので注意して下さい。
C30の価版では、評価期限を過ぎると最適化が行われないため、容量オーバーでリンクエラー
となってしまいます。
ライタ&デバッガ
② PICkit 2 PICkit2の使用法
秋月電子で¥3500 で購入できます。
PIC32MXも使いたいので、PICkit3が欲しいですね。¥4500 で売っています。
それにしても、秋月では、この両ライタがよく在庫切れになっては、入荷しては・・
を繰り返しているようです。
利用ライブラリ
③ libjpeg Independent JPEG Group
歴史の古いライブラリです。最初に使ったのは、Win95が出た直後くらいでしょうか。
MS-DOS上で動かしていました。
(という経験があるので、dsPIC33F上でも動かせそうだと思ったわけですが)
昔からあるので、確かに実績はあって安心なのですが、細かいことを言えば、過去を
引きずる部分がある事もあり、パフォーマンスの高いコードとは言えないと思います。
しかしまぁ、現在のPC以上のシステムで普通に動かすには、何も問題ないでしょうが。。
必要メモリ量ですが、ドキュメントには、大体24KB使うがデータによって異なる・・と
記されています。また、スタックは、700Byte近くバッファを取っている箇所もあるので、
少なくとも1KBは取っておいた方が良いでしょう。
本作では、libjpeg 用に、24.5KBのメモリを確保しています。(それ以上増やせない)
しかしながら、デコードするJPEG画像のDCTブロック数に対して、縮小比率が小さいと
24KBを超えるメモリ量が、段階的に必要になるため、メモリ不足で表示されない画像が
あります。
なるべく多く割り当てれればいいのですが、1バイト単位で多くしても意味はありません。
例えば、24KBで足りない場合、次の段階は約 26KB 必要になります。
※表示性能を参照して下さい。
④ FatFs R0.08 FATファイルシステム・モジュール
HoneyBoxでもお世話になった軽量FATライブラリです。
あれから一つバージョンアップしたようです。
今回の環境では、エラー、問題、一切無しで一発動作しました。
他、使用しているC標準関数は、malloc() free() setjmp() です。
開発環境ライブラリ(C30)では、__delay_ms()や、Sleep()等のちょっとしたマクロを
使っているのみで、他は使用していません。