- 9675. PIC16F873について [K.H.O] 2006/02/20 22:44
- PIC16F873について質問です。MPLABで、プログラムを作って、Build Allをしたんですが、以下 のようなMessageが出て、BUILD FAILEDとなってしまいます。
TRISA,TRISB,TRISC,PR2,ADCON1の所で、
Message[302]・・・Register in opeland not in bank 0.Ensure that bank bits are correct.
TRISAの前で、bcf STATUS,RP1
bsf STATUS,RP0 として、バンク1にしているはずなんですが・・・。
また、decfszの命令の所で、
Message[305]・・・Using defalut destination of 1(file).
また、青い字で、
MPLINK 3.94,Linker.
Copyright (c) 2005 Microchip Technology Inc.
Error - section '.org.1' can not fit the absolute section.
section '.org.1' start = 0x00000004. length = 0x000000e2
Errors : 1
また、MPLABは、MPLAB IDEv7.20, ライタが、MPLAB ICD2,
アセンブラが、MPASM Assembler, Linker Scriptsが、16f873.lkr です。
プログラムはおかしいところはないはずなんですが・・・。
どなたか、原因がわかる方がいらっしゃればお願いいたします。
- 9677. Re: PIC16F873について [HHHH] 2006/02/21 09:09
- > TRISA,TRISB,TRISC,PR2,ADCON1の所で、
> Message[302]・・・Register in opeland not in bank 0.Ensure that bank bits are correct.
> TRISAの前で、bcf STATUS,RP1
> bsf STATUS,RP0 として、バンク1にしているはずなんですが・・・。
>
Message[302] はエラーではなく「Bank の切り替えが行われているか確認しましょう」と言った意味ですので
bsf STATUS,RP0 などを忘れていなければ気にしなくて良いでしょう。
> また、decfszの命令の所で、
> Message[305]・・・Using defalut destination of 1(file).
Message[305] は、「,w」や「,f」などを忘れている場合に表示されます。
> また、青い字で、
> MPLINK 3.94,Linker.
> Copyright (c) 2005 Microchip Technology Inc.
> Error - section '.org.1' can not fit the absolute section.
> section '.org.1' start = 0x00000004. length = 0x000000e2
> Errors : 1
最終的にエラーになっているのはここですね。
リロケータブルな記述をしていない(org や equ を使用している)のなら .lkr ファイルをプロジェクトから外して見てはいかがでしょう。
これらは、Help,Topics に書かれていますので、翻訳サイトなどで 日本語に直して読んでみると良いでしょう。
- 9678. Re: PIC16F873について [と] 2006/02/21 11:21
Messageはエラーではなく、警告(Warning)ですらありません。
アセンブラでは間違っているのか判断できないけれど、よく間違いやすいところを知らせてくれているだけです。
不要であればメッセージを出さないようにもできます。
リンカースクリプトはほとんどの場合、修正が必要です。(Helpに方法が書いてあるはず)
たぶん、以下の2行を修正すればエラーは消えるでしょう。
CODEPAGE NAME=vectors START=0x0 END=0x3 PROTECTED
CODEPAGE NAME=page0 START=0x4 END=0x7FF