2025.1.12
前へ
次へ
ホームページトップへ戻る


PICBASICコンパイラ

〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
まるでインタプリタ。でもコンパイラです。超カンタン超シンプルです。
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜

[第197回]



●PIC16F1827(10)CONFIG(2)

前回の終わりのあたりに書いたことの訂正です。
説明のためにそのところを再掲します。

下が作成されたHEXファイルです。


CONFIGに関するところは8、9、10の3行です。
8ではCONFIGの上位アドレスを0001であると既定しています。
CONFIGアドレスはプログラムエリアと同じ上位アドレス0000の8007と8008なんじゃありませんか?
それがなんと次の9、10の行では下位アドレスは000Eと0010だと書いています。

こちらはPIC16F1827のメモリマップです。

[出典]Microchip Technology Inc.PIC16F1827 Flash Memory Programming Specification

話がちごうとるじゃないのと言いたくなるのでありますが。
MicrochipさまのDataSheetをまともに読んだりするとまじ悩んでしまうことになります。

そのように書いたのでありますが。
まちがっていたのは私の方でした。
頭では十分わかっていたつもりだったのですが、つい数字に引っ張られてしまいました。
PIC16FのPROGRAM/CONFIGエリアはword幅(16bit)でした。
上のメモリマップをよく見ると4KWと書いてあります。
4KBではありません。
ということは。
図のアドレス表記は16bit幅なのでそれを8bit幅に直すと8000は10000になります。
インテルヘキサは8bit表記なのでそうすることになります。
すると確かに上位アドレスは0001になります。
またCONFIG1のアドレス8007は01000Eになりますし、8008は010010になります。
HEXファイルの表記とメモリマップの表記は一致しておりました。

以上の通り訂正いたします(いやお恥ずかしい)。

PICBASICコンパイラ[第197回]
2025.1.12 upload

前へ
次へ
ホームページトップへ戻る