忍者ブログ
 30年ぶりに復活した隊長の電子工作指令本部

開発環境

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()等のちょっとしたマクロを
使っているのみで、他は使用していません。

 

拍手[0回]

PR
この記事へのトラックバック
この記事にトラックバックする:
隊長

ブログ内検索

Copyright © [ The 電子工作 ] All rights reserved.
Special Template : 忍者ブログ de テンプレート and ブログアクセスアップ
Special Thanks : 忍者ブログ
Commercial message : [PR]