久しぶりに登場する PIC の話。実は、MPLAB IDE デバッガで嵌っていた。なんとか自己解決したので、本当に正しいかどうかわからないが自分のメモのために書いてみる。
--
① MPLAB IDE の MPASM で PIC12F629 のプログラムを UDATA コマンドを使用して作った場合、
Error - section '.udata' can not fit the section.
Section '.udata' length=0x00000009
とかエラーが出たり、まぐれで通ってもデバッガのWatch Value のところに Restricted Memory エラーが出たりする。この原因は、12f629.lkr の内容の、
SHAREBANK NAME=gpr0nobnk START=0x20
END=0x5F
なので、ここの SHAREBANK を DATABANK にすれば直る。つまり、
DATABANK NAME=gpr0nobnk START=0x20
END=0x5F
だ。ただし、bank1 と重複するとまたエラーになるので、
SHAREBANK NAME=gpr0nobnk START=0xA0
END=0xDF
は削除しておかないとダメ。
--
② MPLAB IDE の MPASM のデバッガで、SLEEP モードに入るとそのまま抜けれなくなる。
結局のところ、; SLEEP とコメントアウトしてデバッグして後で戻す・・・という方法しか見つからず。
--
① MPLAB IDE の MPASM で PIC12F629 のプログラムを UDATA コマンドを使用して作った場合、
Error - section '.udata' can not fit the section.
Section '.udata' length=0x00000009
とかエラーが出たり、まぐれで通ってもデバッガのWatch Value のところに Restricted Memory エラーが出たりする。この原因は、12f629.lkr の内容の、
SHAREBANK NAME=gpr0nobnk START=0x20
END=0x5F
なので、ここの SHAREBANK を DATABANK にすれば直る。つまり、
DATABANK NAME=gpr0nobnk START=0x20
END=0x5F
だ。ただし、bank1 と重複するとまたエラーになるので、
SHAREBANK NAME=gpr0nobnk START=0xA0
END=0xDF
は削除しておかないとダメ。
--
② MPLAB IDE の MPASM のデバッガで、SLEEP モードに入るとそのまま抜けれなくなる。
結局のところ、; SLEEP とコメントアウトしてデバッグして後で戻す・・・という方法しか見つからず。