PIC初心者用掲示板

★★ 質問する前に下記をチェック ★★
(PICに関する疑問は必ず解決するはず)
←←←「電子工作の実験室」へ
←←←← 

■最新ツリー一覧

□このツリー付近のツリー一覧

★新規ツリー作成

◆ 9675. PIC16F873について [K.H.O2006/02/20 22:44


9675. PIC16F873について [K.H.O2006/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について [HHHH2006/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