« PCサーポート係 | トップページ | AVRのためのPIC再入門 »

2006年7月25日 (火)

AVRのためのPIC再入門

PICでAVRライタを作る5

いよいよ、フラッシュメモリ書き込み部を作る。

AVRシリアルプログラミング自体を良く理解しない内に作り始めてし
まったのたが、ここに来て問題発生。

一概にAVRISPといっても、フラッシュ/EEPROMの書き込み方法は、
各デバイスによって異なるらしい。どうも、最近のモデルはページ
書き込みといって、内部バッファにメモリイメージを設定しておいて、
ページ単位で一気に書き込むらしい。また、このページのサイズも
デバイスによって異なる。フラッシュメモリの大きい奴はページサイ
ズもでかい。

フラッシュメモリ書き込み時には、このページサイズ分のデータが
送られてくるのだが、12F683のメモリ容量ではページサイズが
大きい場合、収まり切らないかも知れない。
12F683は128バイトのSRAMを持っているのだが、リニアに繋
がっていない。96バイトと32バイトを2つのバンクに分けて実装
している。また、0バンク目の96バイト中最上位16バイトは
各バンクでシェア出来るちょいと特別な領域になっている。
実質的にリニアにアクセスできるバッファの最大サイズは
80バイト程しか確保できない。

Mega168は1つのページサイズが64ワード(128バイト)のサイズを
持っているので、80バイトのバッファでは受け取る事ができない。
もっとも、SRAMの全てをバッファに出来たとしても、全容量
128バイトでは結局足りないのだが。

幸い手持ちのMega88/48とTiny26は対応できそうなので、
このライタでMega168を使う事は、あきらめる事にする。

気を取り直して、フラッシュ/EEPROM書き込み部を書く。
各種様々な書き込み方法や検査方法、フラッシュ/EEPROMの
違いを網羅しながら、1つのエントリーポイントに収める。
さすがに、込み入ったコードになってしまったので、後々の為に
大量のコメント入れる。

ブレッドボード上に12F683と仲良く並ぶTiny26をターゲットに実験。
フラッシュメモリ、EEPROMともに無事書き込めている様だ。

|

« PCサーポート係 | トップページ | AVRのためのPIC再入門 »

コメント

コメントを書く



(ウェブ上には掲載しません)




トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/180469/11099624

この記事へのトラックバック一覧です: AVRのためのPIC再入門 :

« PCサーポート係 | トップページ | AVRのためのPIC再入門 »