楽天市場
[無料でホームページを作成] [通報・削除依頼]

極小ブートローダー まとめ


HID方式のシリアル変換アダプターを用いた68ワードのブートローダーが完成しました。

同じホストでPIC10F322とATTinyの両方が書き込めるようになりました。

PIC10F322はEEPROMを搭載していませんのでフラッシュの書き込みのみ行います。
ATTinyの場合はフラッシュの書き込みに加えて、HEXファイルと同名のEEPファイルが存在する場合にEEPROMも書き込みます。

2015.03.12 追記 −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
本ページで紹介したHID方式のシリアル変換アダプターはPIC12F1822を使用したものですが、
シリアル受信を使用していないためPIC12F1822ではやや残念な(勿体無い)使い方といえます。

同じ機能のシリアル変換アダプターがPIC12F609で実現可能です。回路がやや複雑になり、基板サイズも一回り大きくなりますがご紹介します。

img_20150312-132452.png
img_20150312-131029.jpg
別館の容量に空きが無くなってきたので、ダウンロードはこちらから
http://sourceforge.net/p/tinypicbootload/discussion/general/thread/585b203b/4120/attachment/HIDseril%20Adapter_PIC12F609%28TX%20RI%29.zip

追記ここまでーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー

1.HID方式のシリアル変換アダプター
基本的に"極小ブートローダー PIC10F322 其の5"に記載した回路と同じ回路ですが信号線の途中に10kの抵抗を追加しました。
従来ソケットを搭載していた部位に抵抗とスイッチを配置しました。

img_20150303-224003.jpg

<配線図>
img_20150303-224038.jpg

<回路図>
img_20150303-224139.png


2.ターゲットのファームウエア
PIC10F322 :下記仕様に変更しました。
ATTiny :TeraTermマクロで動作させる段階で下記仕様に変更済み。
?フラッシュ/EEPROMデータの書き込み開始の時点で出力信号をHighレベルにセット、書き込み完了の時点で出力信号をLowレベルに戻す仕様としました。
?チェックサムの値を含めて正常に受信できなかった場合には出力信号をHighレベルにセットしたままHaltする仕様としました。


3.ホストプログラム
"極小ブートローダー PIC10F322 其の4"で作成したホストプログラムをベースに改良しました。
追加点:デバイスを選択するcomboBox
変更点:ステータスを表示するtextBoxをprogressBarに変更しました。
書き込みエラーが発生するとprogressBarの進行が途中で停止します。


4.使い方
?起動画面
img_20150303-224258.jpg

?書き込みしたいデバイスを選択
img_20150303-224418.jpg

?HEXファイルを選択
img_20150303-224506.jpg

?ターゲットに電源投入後、速やかに"File transfer"ホタンを押す。
 データが転送されるとボタン右側のprogressBarが進行。
 EEPROMも書き込む場合はprogressBarが2回進行する。
img_20150303-224853.jpg

?progressBarがクリアされれば転送完了
img_20150303-224506.jpg



上記ソフト一式は以下からダウンロードできます。

ダウンロード先

Bequest333のページ(別館)

http://hp.vector.co.jp/authors/VA058115/

https://drive.google.com/file/d/1EXSLPnI7_s1Yys7F7hgXv7GaxHBJgxMc/view?usp=drivesdk











.