PICのプログラムがアセンブルできない

このQ&Aのポイント
  • MPLAB X(v3.05)とPICkit3とPIC16F84Aによりアセンブラプログラムを勉強を始めました初心者です。下記のプログラムがビルドエラーが出てhexファイルを生成できません。
  • 8個のLEDを一つおきに点灯するだけのものですがエラーが出て、しかもその意味が分からない状態で悩んでおります。マニュアルを見ても糸口すら掴めないでおります。
  • どなたか解決策をご教授いただけると幸いです。アセンブラはMPLAB X(v3.05)組み込みのMPASM、関係あるかわかりませんがPCのOSはXP(SP3)です。どうかよろしくお願いいたします。
回答を見る
  • ベストアンサー

PICのプログラムがアセンブルできない

MPLAB X(v3.05)とPICkit3とPIC16F84Aによりアセンブラプログラムを勉強を始めました初心者です。下記のプログラムがビルドエラーが出てhexファイルを生成できません。 8個のLEDを一つおきに点灯するだけのものですがエラーが出て、しかもその意味が分からない状態で悩んでおります。マニュアルを見ても糸口すら掴めないでおります。どなたか解決策をご教授いただけると幸いです。アセンブラはMPLAB X(v3.05)組み込みのMPASM、関係あるかわかりませんがPCのOSはXP(SP3)です。 どうかよろしくお願いいたします。 プログラム list p=16F84A #include "p16F84A.inc" __CONFIG _FOSC_HS & _WDTE_OFF & _PWRTE_ON & _CP_OFF ;************************************** LEDD EQU 0x55 ;************************************** ORG 0x00 BSF STATUS,RP0 CLRF TRISB BCF STATUS,RP0 CLRF PORTB MOVLW LEDD MOVWF PORTB WAIT GOTO WAIT END 以下エラー内容です。 make -f nbproject/Makefile-default.mk SUBPROJECTS= .build-conf make[1]: Entering directory 'C:/PIC_prog/test1.X' make -f nbproject/Makefile-default.mk dist/default/production/test1.X.production.hex make[2]: Entering directory 'C:/PIC_prog/test1.X' "C:\Program Files\Microchip\MPLABX\v3.05\mpasmx\mplink.exe" -p16f84a -w -m"dist/default/production/test1.X.production.map" -z__MPLAB_BUILD=1 -odist/default/production/test1.X.production.cof build/default/production/5_1_1.o build/default/production/16F84ATEMP.o MPLINK 5.08, LINKER Device Database Version 1.25 Copyright (c) 1998-2011 Microchip Technology Inc. Error - Configuration settings have been specified for address 0x00002007 in more than one object module. Found in './build/default/production/16F84ATEMP.o', previously found in './build/default/production/5_1_1.o' Errors : 1 make[2]: *** [dist/default/production/test1.X.production.hex] Error 1 make[1]: *** [.build-conf] Error 2 make: *** [.build-impl] Error 2 nbproject/Makefile-default.mk:128: recipe for target 'dist/default/production/test1.X.production.hex' failed make[2]: Leaving directory 'C:/PIC_prog/test1.X' nbproject/Makefile-default.mk:78: recipe for target '.build-conf' failed make[1]: Leaving directory 'C:/PIC_prog/test1.X' nbproject/Makefile-impl.mk:39: recipe for target '.build-impl' failed BUILD FAILED (exit value 2, total time: 94ms)

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

単なる英語のなぞなそかな? エラーの意味:0x2007のアドレスに対する設定が2回以上なされたよ!  Error - Configuration settings have been specified for address 0x00002007 in more than one object module. 解決策: ミスがこれだけかどうか不明だけど(他にもやっちゃってるんじゃないの。)、 __CONFIG _FOSC_HS & _WDTE_OFF & _PWRTE_ON & _CP_OFF の中で不要なもの(他のオブジェクトモジュールで設定しているもの)を削る。 多分何を削ればいいか分かんないんだろうから、 一旦全部消して、成功するまで一つづつ加えながらエラーメッセージとにらめっこしていく。 高々4つの組み合わせなのでひたすら頑張る。

retroman_1
質問者

お礼

早速の御回答ありがとうございます。 文中の「設定が2回以上なされた」とのことからヒントを得ることができました。同じプロジェクト内のファイルに、このプログラム以外にテンプレートから作ったもう一個のプログラムがあったのです。それを削除したところ難無くアセンブルに成功しました。1プロジェクトに1ファイルの規則があるのですね。お陰様でプログラムどおりLEDが点灯しました。大変お世話になりありがとうございました。

関連するQ&A

  • MPLAB X IDE の質問

    今までMPLAB V8.5 を使ってPICのプログラムを作っていましたが、MPLAB X IDE というのが新しいと知り、ダウンロードしました。 使っている教本(後閑哲也著、電子工作のためのPIC18F本格活用ガイド)に付属していたCDROMからCのサンプルプログラムをコピーして、新しいプロジェクトのソースファイルにしてビルドしましたが、エラーが二つ出てうまくいきません。 ヘッダーやリンカーをプロジェクトに追加してみても同じでした。 コンパイラーからのメッセージは以下に添付したものですが、いろいろなドキュメントをあたってエラー2というのが何なのか調べようとしたのですがわかりませんでした。 どうすればうまくビルドできて、いままでみたいにPICをプログラムできるようになるのか、どなたか詳しい方がいらっしゃいましたら教えていただきたいと思います。 出力されたメッセージ: make -f nbproject/Makefile-default.mk SUBPROJECTS= .build-conf make[1]: Entering directory `C:/Documents and Settings/shiro/My Documents/PIC-�J���֌W/MPLAB-Projects/PIC18F2320/USARTtest01.X' make -f nbproject/Makefile-default.mk dist/default/production/USARTtest01.X.production.hex make[2]: *** No rule to make target `F:/�W�', needed by `build/default/production/_ext/1481603316/usart1.o'. Stop. make[1]: *** [.build-conf] Error 2 make[2]: Entering directory `C:/Documents and Settings/shiro/My Documents/PIC-�J���֌W/MPLAB-Projects/PIC18F2320/USARTtest01.X' make: *** [.build-impl] Error 2 make[2]: Leaving directory `C:/Documents and Settings/shiro/My Documents/PIC-�J���֌W/MPLAB-Projects/PIC18F2320/USARTtest01.X' make[1]: Leaving directory `C:/Documents and Settings/shiro/My Documents/PIC-�J���֌W/MPLAB-Projects/PIC18F2320/USARTtest01.X' BUILD FAILED (exit value 2, total time: 219ms) ちなみに、空白の四角形がある部分は、自分が漢字を使っているファイルパスの一部です。 どうかよろしくお願いいたします。

  • PICのプログラムについて質問です

    使用するPICは16F84Aで、MPLAB IDEv8.88を使ってこのようなプログラムを作りました。 #include"pic.h" static void pic_init(); static void Delay_ms(unsigned char ms); static void Delay_1ms(); void main(){ pic_init(); while(1) { RB0 = 1 ; Delay_ms(250); Delay_ms(250); Delay_ms(250); RB0 = 0 ; Delay_ms(250); Delay_ms(250); Delay_ms(250); } static void pic_init() { // GPIO = 0b00000000; TRISA = 0xFF ; TRISB = 0x00 } static void Delay_ms(unsigned char ms) { unsigned char c; for (c=ms ; c>0 ; c--) { Delay_1ms(); } } static void Delay_1ms() { unsigned int cnt; unsigned int i; cnt = 76; for (i=0 ; i<cnt ; i++) { NOP(); } } ポートB0の出力を0から1にするプログラムなのですが、実行すると Error [314] C:\Users\moriwaki\Desktop\PIC program\step_test2.c; 52.24 ";" expected Error [254] C:\Users\moriwaki\Desktop\PIC program\step_test2.c; 77.0 undefined variable: "pic_init" ********** Build failed! ********** というエラーが出ます。このようなエラーが出る原因を教えて頂けないでしょうか。お願いします。

  • Makefileについて

    makeファイルの書き方で悩んでいます。 makeファイルは書いたことがなく、ほとんど丸写しです。 私がしたいのは、 (1)run:部分で削除するファイルがなかった場合、エラーとなり次の行へ進みません。なくても(エラーでも/エラー回避して)次の行へ進む方法が知りたいです。 もうひとつは(2)run:部分で、cleanを実行し、makeしてrunを実行させる方法が知りたいです。 --------------以下、サンプルMakefileです。 CC = gcc OBJS = main.o sub.o PROG = test.exe .c.o: $(CC) -c $< -o $@ $(PROG) : $(OBJS) $(CC) $(OBJS) -o $(PROG) $(OBJS) : Makefile clean: rm -f *.o $(PROG) run: rm *.log <---- (1)ここでファイルがないとエラーで止まる $(PROG) all:   <-- (2)[clean]を実行して、makeして、[run]を実行させたい 以上です。

  • PIC12C509A のアセンブルができない!(MPLAB IDE V

    PIC12C509A のアセンブルができない!(MPLAB IDE V8.40) MPLAB IDE V8.40 を使っております。 PIC12C509Aをアセンブルしようとすると、以下のエラーが出ます。 どのように対処すればよいのでしょうか? ちなみに、他のPICでは大丈夫のようです。 ---------------------------------------------------------------------- Debug build of project `C:\My_MPLAB\test2\test2.mcp' started. Language tool versions: MPASMWIN.exe v5.34, mplink.exe v4.34 Preprocessor symbol `__DEBUG' is defined. Mon Oct 04 12:52:29 2010 ---------------------------------------------------------------------- Make: The target "C:\My_MPLAB\test2\test2.o" is out of date. Executing: "C:\Program Files\Microchip\MPASM Suite\MPASMWIN.exe" /q /p12C509A "test2.asm" /l"test2.lst" /e"test2.err" /o"test2.o" /d__DEBUG=1

  • PICに関するプログラミングの質問です

    使用PIC PIC16F690 使用ソフト MPLAB IDE,HI-TECC c言語でプログラミングしているのですが LEDを点灯する簡単なプログラミングさえできません ソースファイル(1)を作ってビルドすると以下の様なエラーに関する文(2)がでるのですが 何が間違っているのかが分かりません ご指摘お願いします (1) #include <pic.h> __CONFIG(INTIO & WDTDIS & PWRTDIS & MCLRDIS & UNPROTECT & BORDIS & IESODIS & FCMDIS); void main(void) {      TRISC=0;      PORTC=0x01; } (2) HI-TECH C Compiler for PIC10/12/16 MCUs (Lite Mode) V9.81 Copyright (C) 2010 Microchip Technology Inc. (1273) Omniscient Code Generation not available in Lite mode (warning) Error [800] test1.as; 45. undefined symbol "FCMDIS" Error [800] test1.as; 45. undefined symbol "IESODIS" Error [800] test1.as; 45. undefined symbol "BORDIS" Error [800] test1.as; 45. undefined symbol"UNPROTECT" Error [800] test1.as; 45. undefined symbol "MCLRDIS" Error [800] test1.as; 45. undefined symbol "PWRTDIS" Error [800] test1.as; 45. undefined symbol "WDTDIS" Error [800] test1.as; 45. undefined symbol "INTIO" ********** Build failed! **********

  • PICマイコンPIC12F509について

    これからPICを勉強しようとしているPIC未経験者です。 とりあえず使用するPICはPIC12F509を考えています。ネットの情報量からすると本当はPIC12F683の方が良いのかも知れませんが価格面からPIC12F509を検討しています。 PICはこれから購入しますが一番最初に触るPICマイコンとしてPIC12F509を選択しても大丈夫でしょうか? 一応言語はアセンブラを勉強しようと考えています。また、最初の目標として入力1に5Vがかかった時に出力1から何ミリ秒か遅れて5Vが出力され、入力1の加わる5Vが不定期に素早くON-OFFを繰り返えしてもPICの電源をOFFするまでずっと繰り返し動作する程度の物を組みたいと思っています。 現在の開発環境はPCにMPLAB X IDE v3.26等のソフトをインストール、PICkit3を入手程度です。 先日、MPLAB IPE v3.26を使用しHEXファイルをPIC18F2550に書込みを初めてしてみました。これが初めてのPICとのふれあいです。 以上、PIC知識人の皆さまご教示を宜しくお願い申し上げます。

  • gnu make empty target

    Managing Projects with GNU Make, 3rd Editionを読んでいます。 p.15 Empty targetについてのサンプルでエラーが出ます。 Makefileは以下のとおりです。 ----- prog: size prog.o gcc $(LDFLAGS) -o $@ $^ prog.o: prog.c gcc -c $^ size: prog.o size $^ touch size ----- make prog と実行すると以下のエラーとなります。 ----- gcc -c prog.c size prog.o text data bss dec hex filename 152 0 0 152 98 prog.o touch size gcc -o prog size prog.o size: file not recognized: File truncated make: *** [prog] Error 1 ----- 自分なりの理解では、sizeという空ファイルを作り、そのタイムスタンプをtouchで更新することにより、progをmakeすることができるということだと思います。 ただ、最後に gcc $(LDFLAGS) -o $@ $^ をする時に$^に空ファイルsizeが含まれていて、そのため size: file not recognized: File truncated というエラーを出しているように思います。 そもそものサンプルMakefileが間違っているのでしょうか? あるいはどこかを修正すれば、Empty targetというのが使い物になるのでしょうか?

  • PICマイコンのエラー内容について

    はじめまして。PIC初心者です。 大学の頃にPICを用いてLEDの点灯制御を少しだけしたことがあります。 最近になってまた趣味でPICを動かしたいと思ったのですが、使用していたPCが変わり、うまく動作しません。コンパイラ?はMPLAB XCを今日インストールしてビルドしてみたのですがエラーの内容が理解できません。内容は以下の通りです。 Build C:\Users\Morita\Desktop\DIY\testo1 for device 16F876A Using driver C:\Program Files (x86)\Microchip\xc8\v1.32\bin\xc8.exe Make: The target "C:\Users\Morita\Desktop\DIY\hiroshi.p1" is out of date. Executing: "C:\Program Files (x86)\Microchip\xc8\v1.32\bin\xc8.exe" --pass1 C:\project\hiroshi.c -q --chip=16F876A -P --runtime=default --opt=default -N-1 -D__DEBUG=1 -g --asmlist "--errformat=Error [%n] %f; %l.%c %s" "--msgformat=Advisory[%n] %s" "--warnformat=Warning [%n] %f; %l.%c %s" Error [141] C:\project\hiroshi.c; 1.19 can't open include file "16f876A.h": No such file or directory (908) exit status = 1 ********** Build failed! ********** 初心者すぎて変な質問しているかもしれませんが、どうしても休日に電子工作をしたいのでお付き合いお願いいたします!

  • PIC kit2 エラーについて

    PICマイコンのプログラムの書き込みにPIC kit2を使用していましたが、 以下のようなエラーが出て、止まってしまいました。  PIC kit2がこわれたのでしょうか? 対応策を教えてください。  ちなみにその前までは、Build ==> 書き込みが出来ていました。  マイコンはPIC16F873Aです。    ******** いかがエラーメッセージです ****************************************** Programming Target (2013/10/24 16:17:59) PKWarn0003: Unexpected device ID: Please verify that a PIC16F873A is correctly installed in the application. (Expected ID = 0xE40, ID Read = 0x3FA0) Erasing Target Programming Program Memory (0x0 - 0x2A7) Verifying Program Memory (0x0 - 0x2A7) PK2Error0027: Failed verify (Address = 0x0 - Expected Value 0x118A - Value Read 0x1700) PICkit 2 Ready

  • No rule to make targetとは

    teensyでドット絵を作ろうと思ってます。が、 C:\Users\本名\Desktop\Switch-Fightstick-master>python bin2c.py supura0717ikatako.data supura0717ikatako.data converted with original colormap and saved to image.c C:\Users\本名\Desktop\Switch-Fightstick-master>make makefile:30: ../LUFA/LUFA/Build/lufa_core.mk: No such file or directory makefile:31: ../LUFA/LUFA/Build/lufa_sources.mk: No such file or directory makefile:32: ../LUFA/LUFA/Build/lufa_build.mk: No such file or directory makefile:33: ../LUFA/LUFA/Build/lufa_cppcheck.mk: No such file or directory makefile:34: ../LUFA/LUFA/Build/lufa_doxygen.mk: No such file or directory makefile:35: ../LUFA/LUFA/Build/lufa_dfu.mk: No such file or directory makefile:36: ../LUFA/LUFA/Build/lufa_hid.mk: No such file or directory makefile:37: ../LUFA/LUFA/Build/lufa_avrdude.mk: No such file or directory makefile:38: ../LUFA/LUFA/Build/lufa_atprogram.mk: No such file or directory make: *** No rule to make target `../LUFA/LUFA/Build/lufa_atprogram.mk'. Stop. とでます。原因と対策を教えてください。何卒宜しくお願い致します。

専門家に質問してみよう