PICBASICコンパイラ
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
まるでインタプリタ。でもコンパイラです。超カンタン超シンプルです。
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
[第170回]
●PIC18F4550の書き込みテスト
前回までのところでPIC18F2450/PIC18F2550の書き込み/ベリファイについて正しく動作することが確認できました。
それに続いて今回はPIC18F4550の書き込み/ベリファイのテストを行いました。
下はテストを行なったときのログです。
logfile piciolog\1203154359.txt open *** pic i/o *** picio-30 connected >/erase endcode=01 >/hload bs4550be.hex loading bs4550be.hex ... i=93027,binbfend=41338 >/picwr startcode=01 i=6,b=2,[04]0000*i=26,b=12,[00]0000*i=66,b=16,[00]0020*i=86,b=16,[00]0030*i=106,b=16,[00]0040*i=126,b=16,[00]0050*i=146,b=16,[00]0060*i=166,b=16,[00] 0070*i=186,b=16,[00]0080*i=206,b=16,[00]0090*i=226,b=16,[00]00a0*i=246,b=16,[00]00b0*i=266,b=16,[00]00c0*i=286,b=16,[00]00d0*i=306,b=16,[00] 00e0*i=326,b=16,[00]00f0*i=346,b=16,[00]0100*i=366,b=16,[00]0110*i=386,b=16,[00]0120*i=406,b=16,[00]0130*i=426,b=16,[00]0140*i=446,b=16,[00] 0150*i=466,b=16,[00]0160*i=486,b=16,[00]0170*i=506,b=16,[00]0180*i=526,b=16,[00]0190*i=546,b=16,[00]01a0*i=566,b=16,[00]01b0*i=586,b=16,[00] 01c0*i=606,b=16,[00]01d0*i=626,b=16,[00]01e0*i=646,b=16,[00]01f0*i=666,b=16,[00]0200*i=686,b=16,[00]0210*i=706,b=16,[00]0220*i=726,b=16,[00] 0230*i=746,b=16,[00]0240*i=766,b=16,[00]0250*i=786,b=16,[00]0260*i=806,b=16,[00]0270*i=826,b=16,[00]0280*i=846,b=16,[00]0290*i=866,b=16,[00] 02a0*i=886,b=16,[00]02b0*i=906,b=16,[00]02c0*i=926,b=16,[00]02d0*i=946,b=16,[00]02e0*i=966,b=16,[00]02f0*i=986,b=16,[00]0300*i=1006,b=16,[00] 0310*i=1026,b=16,[00]0320*i=1046,b=16,[00]0330*i=1066,b=16,[00]0340*i=1086,b=16,[00]0350*i=1106,b=16,[00]0360*i=1126,b=16,[00]0370*i=1146,b=16,[00] 0380*i=1166,b=16,[00]0390*i=1186,b=16,[00]03a0*i=1206,b=16,[00]03b0*i=1226,b=16,[00]03c0*i=1246,b=16,[00]03d0*i=1266,b=16,[00]03e0*i=1286,b=16,[00] 03f0*i=1306,b=16,[00]0400*i=1326,b=16,[00]0410*i=1346,b=16,[00]0420*i=1366,b=16,[00]0430*i=1386,b=16,[00]0440*i=1406,b=16,[00]0450*i=1426,b=16,[00] 0460*i=1446,b=16,[00]0470*i=1466,b=16,[00]0480*i=1486,b=16,[00]0490*i=1506,b=16,[00]04a0*i=1526,b=16,[00]04b0*i=1546,b=16,[00]04c0*i=1566,b=16,[00] 04d0*i=1586,b=16,[00]04e0*i=1606,b=16,[00]04f0*i=1626,b=16,[00]0500*i=1646,b=16,[00]0510*i=1666,b=16,[00]0520*i=1686,b=16,[00]0530*i=1706,b=16,[00] 0540*i=1726,b=16,[00]0550*i=1746,b=16,[00]0560*i=1766,b=16,[00]0570*i=1786,b=16,[00]0580*i=1806,b=16,[00]0590*i=1826,b=16,[00]05a0*i=1846,b=16,[00] 05b0*i=1866,b=16,[00]05c0*i=1886,b=16,[00]05d0*i=1906,b=16,[00]05e0*i=1926,b=16,[00]05f0*i=1946,b=16,[00]0600*i=1966,b=16,[00]0610*i=1986,b=16,[00] 0620*i=2006,b=16,[00]0630*i=2026,b=16,[00]0640*i=2046,b=16,[00]0650*i=2066,b=16,[00]0660*i=2086,b=16,[00]0670*i=2106,b=16,[00]0680*i=2126,b=16,[00] 0690*i=2146,b=16,[00]06a0*i=2166,b=16,[00]06b0*i=2186,b=16,[00]06c0*i=2206,b=16,[00]06d0*i=2226,b=16,[00]06e0*i=2246,b=16,[00]06f0*i=2266,b=16,[00] 0700*i=2286,b=16,[00]0710*i=2306,b=16,[00]0720*i=2326,b=16,[00]0730*i=2346,b=16,[00]0740*i=2366,b=16,[00]0750*i=2386,b=16,[00]0760*i=2406,b=16,[00] 0770*i=2426,b=16,[00]0780*i=2446,b=16,[00]0790*i=2466,b=16,[00]07a0*i=2486,b=16,[00]07b0*i=2506,b=16,[00]07c0*i=2526,b=16,[00]07d0*i=2546,b=16,[00] 07e0*i=2566,b=16,[00]07f0*i=2586,b=16,[00]0800*i=2606,b=16,[00]0810*i=2626,b=16,[00]0820*i=2646,b=16,[00]0830*i=2666,b=16,[00]0840*i=2686,b=16,[00] 0850*i=2706,b=16,[00]0860*i=2726,b=16,[00]0870*i=2746,b=15,[00]0880*i=2766,b=2,[00]0890*i=10346,b=2,[00]2040*i=40972,b=2,[04]0000*i=41298,b=2,[04] 0000*i=41316,b=14,[00]0000*i=41322,b=2,[04]0000*vfend >/verify inbfend=0 startcode=01 i=6,b=2,[04]0000[01]*i=26,b=12,[00]0000[01]*i=66,b=16,[00]0020[01]*i=86,b=16,[00]0030[01]*i=106,b=16,[00]0040[01]*i=126,b=16,[00]0050[01]*i=146,b=16,[00] 0060[01]*i=166,b=16,[00]0070[01]*i=186,b=16,[00]0080[01]*i=206,b=16,[00]0090[01]*i=226,b=16,[00]00a0[01]*i=246,b=16,[00]00b0[01]*i=266,b=16,[00] 00c0[01]*i=286,b=16,[00]00d0[01]*i=306,b=16,[00]00e0[01]*i=326,b=16,[00]00f0[01]*i=346,b=16,[00]0100[01]*i=366,b=16,[00]0110[01]*i=386,b=16,[00] 0120[01]*i=406,b=16,[00]0130[01]*i=426,b=16,[00]0140[01]*i=446,b=16,[00]0150[01]*i=466,b=16,[00]0160[01]*i=486,b=16,[00]0170[01]*i=506,b=16,[00] 0180[01]*i=526,b=16,[00]0190[01]*i=546,b=16,[00]01a0[01]*i=566,b=16,[00]01b0[01]*i=586,b=16,[00]01c0[01]*i=606,b=16,[00]01d0[01]*i=626,b=16,[00] 01e0[01]*i=646,b=16,[00]01f0[01]*i=666,b=16,[00]0200[01]*i=686,b=16,[00]0210[01]*i=706,b=16,[00]0220[01]*i=726,b=16,[00]0230[01]*i=746,b=16,[00] 0240[01]*i=766,b=16,[00]0250[01]*i=786,b=16,[00]0260[01]*i=806,b=16,[00]0270[01]*i=826,b=16,[00]0280[01]*i=846,b=16,[00]0290[01]*i=866,b=16,[00] 02a0[01]*i=886,b=16,[00]02b0[01]*i=906,b=16,[00]02c0[01]*i=926,b=16,[00]02d0[01]*i=946,b=16,[00]02e0[01]*i=966,b=16,[00]02f0[01]*i=986,b=16,[00] 0300[01]*i=1006,b=16,[00]0310[01]*i=1026,b=16,[00]0320[01]*i=1046,b=16,[00]0330[01]*i=1066,b=16,[00]0340[01]*i=1086,b=16,[00]0350[01]*i=1106,b=16,[00] 0360[01]*i=1126,b=16,[00]0370[01]*i=1146,b=16,[00]0380[01]*i=1166,b=16,[00]0390[01]*i=1186,b=16,[00]03a0[01]*i=1206,b=16,[00]03b0[01]*i=1226,b=16,[00] 03c0[01]*i=1246,b=16,[00]03d0[01]*i=1266,b=16,[00]03e0[01]*i=1286,b=16,[00]03f0[01]*i=1306,b=16,[00]0400[01]*i=1326,b=16,[00]0410[01]*i=1346,b=16,[00] 0420[01]*i=1366,b=16,[00]0430[01]*i=1386,b=16,[00]0440[01]*i=1406,b=16,[00]0450[01]*i=1426,b=16,[00]0460[01]*i=1446,b=16,[00]0470[01]*i=1466,b=16,[00] 0480[01]*i=1486,b=16,[00]0490[01]*i=1506,b=16,[00]04a0[01]*i=1526,b=16,[00]04b0[01]*i=1546,b=16,[00]04c0[01]*i=1566,b=16,[00]04d0[01]*i=1586,b=16,[00] 04e0[01]*i=1606,b=16,[00]04f0[01]*i=1626,b=16,[00]0500[01]*i=1646,b=16,[00]0510[01]*i=1666,b=16,[00]0520[01]*i=1686,b=16,[00]0530[01]*i=1706,b=16,[00] 0540[01]*i=1726,b=16,[00]0550[01]*i=1746,b=16,[00]0560[01]*i=1766,b=16,[00]0570[01]*i=1786,b=16,[00]0580[01]*i=1806,b=16,[00]0590[01]*i=1826,b=16,[00] 05a0[01]*i=1846,b=16,[00]05b0[01]*i=1866,b=16,[00]05c0[01]*i=1886,b=16,[00]05d0[01]*i=1906,b=16,[00]05e0[01]*i=1926,b=16,[00]05f0[01]*i=1946,b=16,[00] 0600[01]*i=1966,b=16,[00]0610[01]*i=1986,b=16,[00]0620[01]*i=2006,b=16,[00]0630[01]*i=2026,b=16,[00]0640[01]*i=2046,b=16,[00]0650[01]*i=2066,b=16,[00] 0660[01]*i=2086,b=16,[00]0670[01]*i=2106,b=16,[00]0680[01]*i=2126,b=16,[00]0690[01]*i=2146,b=16,[00]06a0[01]*i=2166,b=16,[00]06b0[01]*i=2186,b=16,[00] 06c0[01]*i=2206,b=16,[00]06d0[01]*i=2226,b=16,[00]06e0[01]*i=2246,b=16,[00]06f0[01]*i=2266,b=16,[00]0700[01]*i=2286,b=16,[00]0710[01]*i=2306,b=16,[00] 0720[01]*i=2326,b=16,[00]0730[01]*i=2346,b=16,[00]0740[01]*i=2366,b=16,[00]0750[01]*i=2386,b=16,[00]0760[01]*i=2406,b=16,[00]0770[01]*i=2426,b=16,[00] 0780[01]*i=2446,b=16,[00]0790[01]*i=2466,b=16,[00]07a0[01]*i=2486,b=16,[00]07b0[01]*i=2506,b=16,[00]07c0[01]*i=2526,b=16,[00]07d0[01]*i=2546,b=16,[00] 07e0[01]*i=2566,b=16,[00]07f0[01]*i=2586,b=16,[00]0800[01]*i=2606,b=16,[00]0810[01]*i=2626,b=16,[00]0820[01]*i=2646,b=16,[00]0830[01]*i=2666,b=16,[00] 0840[01]*i=2686,b=16,[00]0850[01]*i=2706,b=16,[00]0860[01]*i=2726,b=16,[00]0870[01]*i=2746,b=15,[00]0880[01]*i=2766,b=2,[00]0890[01]*i=10346,b=2,[00] 2040[01]*i=40972,b=2,[04]0000[01]*i=41298,b=2,[04]0000[01]*i=41316,b=14,[00]0000[01]*i=41322,b=2,[04]0000[01]*vfend >/exit リモート接続を終了しました logfile closed at Tue Dec 03 15:45:33 2024 |
今回のテストで元にしたHEXファイルはBS4550be.HEXです。
今年の8月に作成した訳ありのファイルです。
PICBASICコンパイラプログラムの作成過程で作ったPIC18F4550用のプログラムなのですがそのプログラムの作成中にパソコンのトラブルがあってソースプログラムを失ってしまいました。
唯一残ったのは最後にPIC18F4550の中に書き込んだマシン語プログラムだけ。
このプログラムはどうしても残しておきたいプログラムでしたのでただ1個のPICにだけ残っているというのはいかにも心細い。
そこでそのPIC18F4550を秋月のPICプログラマにかけてHEXファイルとして読み出したのがBS4550BE.HEXです。
PIC18F4550のプログラムエリアとCONFIGエリアを全部読み出したために非常に大きなファイルになってしまいました。
でもほとんどは何も書かれていないオールFFのエリアです。
こういうHEXファイルをもとにしてそのままPICに書き込むと時間ばかりかかって効率が悪くなります。
そこでCPPプログラムを修正してHEXファイルのうち1行16バイトのデータが全てFFのときはPICWR回路には送出しないことにしました。
HEXファイルは16進数1バイトををASCII文字2バイトで示します。
そのファイルサイズはなんと93Kバイトもあります。
それを16進数1バイトに直しても41Kバイトもあります。
大変なデータ量です。
そこから1行16バイトが全部FFの行は無視することにしたため、ログのようにうんと少なくなりました。
それでも結構なデータ量ですが、書き込み、ベリファイともエラーなく正常に完了しました。
なお前回までにテストをしたPIC18F2450/PIC18F2550も今回のPIC18F4550も本来は書き込み時のVPP電圧は+12Vで行なうべきですがともに下限ぎりぎりの+9Vで行ってエラーなく書き込み、ベリファイができました。
PICBASICコンパイラ[第170回]
2024.12.3 upload
前へ
次へ
ホームページトップへ戻る