• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:pickit3 レッスンプログラムが動作しません)

pickit3のレッスンプログラムが動作しないエラーの解決方法を教えてください

このQ&Aのポイント
  • pickit3のレッスンプログラムがビルド時にエラーが発生してしまいます。
  • エラーの内容は、ファイル内で'symbol 'TRISD'の定義が見つからない'です。
  • 解決方法を知っている方、助けてください。

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

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

 今度は「Delay10TCYxというシンボルが見付からない」というリンクエラーが出ています。同じように見直してみてください。 > このエラーは、delays.h がリンクされていればOKなんだと思うのですが、、ほかになにかあるのでしょうか?  一般的にヘッダファイルでは外部参照やマクロが宣言されているだけで、実体は別に定義されています。コンパイラは宣言だけで参照の有効(というか、その参照のデータ型が正しく使われているか)を判定しますが、実体があるかどうかは判定しません。なぜなら、コンパイラはソースコードをオブジェクトファイルというコンポーネントに変換するだけで、実行ファイルそのものを作るわけではないからです。  複数のオブジェクトファイルや、それを集めたライブラリファイルを結合し、メモリロケーションを決めて実行ファイルを作るのがリンカです。この時に参照されているシンボルの実体があるかどうかがチェックされます。実態がなければ結合出来ないからです。  したがって、ソースコード自身に実体の定義が無く、ヘッダファイルでは参照の宣言だけがなされているシンボルはライブラリとして提供されている可能性が高いと思われます。  今回、コンパイラでのエラーではなくリンカでのエラーが出ているので、参照の宣言は正しく取り込めているけど、実体を定義したライブラリがリンクされていないと考えるのが妥当だと考えられます。

PIC0002
質問者

お礼

解決しました^^ わかりやすい説明、ありがとうございました。 レッスン1と見比べてもリンク設定に違いは無く、悩んでいたのですが ファイル名がちがうことに気づき、ホルダーを C:\mcc18\lkr\ から C:\MCC18\bin\LKR に変更し、 ファイルを 18f45K20i.lkr から、 18f45k20_g.lkr に変更することで 正常に動作しました。 しかし、レッスンといいつつ、こんなに設定変更が必要ってどうなんでしょう ファイル名も勝手に替えて良いのかな^^; でも、おかげさまで コンパイルのことがよくわかりました。 ありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (1)

回答No.1

エラー内容は「TRISDというシンボルが見付からない」というリンクエラーです。 ソースまたはインクルードファイル内でTRISDの有効な実体が定義されていないか、実体を定義したライブラリファイルがリンクされていないかというところだと思います。

PIC0002
質問者

補足

ありがとうございます ご指摘のようにリンクが切れていたため、.h 、.lkr ファイルを再設定で動作しました。 レッスン1、2,3 は、設定変更で動作したのですが、 レッスン04では、ホルダーを設定してもエラーとなります。 このエラーは、delays.h がリンクされていればOKなんだと思うのですが、、 ほかになにかあるのでしょうか? ---------------------------------------------------------------------- Release build of project `D:\PIC\PICkit 3 Debug Express Lessons\04 Switch Input\04 Switch Input.mcp' started. Language tool versions: mpasmwin.exe v5.35, mplink.exe v4.35, mcc18.exe v3.35 Thu May 27 21:16:13 2010 ---------------------------------------------------------------------- Clean: Deleting intermediary and output files. Clean: Deleted file "D:\PIC\PICkit 3 Debug Express Lessons\04 Switch Input\04 Switch Input.o". Clean: Deleted file "D:\PIC\PICkit 3 Debug Express Lessons\04 Switch Input\04 Switch Input.mcs". Clean: Done. Executing: "C:\Program Files\Microchip\MCC18\bin\mcc18.exe" -p=18F45K20 "D:\PIC\PICkit 3 Debug Express Lessons\04 Switch Input\04 Switch Input.c" -fo="04 Switch Input.o" -Ou- -Ot- -Ob- -Op- -Or- -Od- -Opa- MPLAB C18 v3.35 (evaluation) Copyright 2000-2010 Microchip Technology Inc. Days remaining until evaluation becomes feature limited: 60 Executing: "C:\Program Files\Microchip\MCC18\bin\mplink.exe" /l"C:\Program Files\Microchip\MCC18\lib" "C:\Program Files\Microchip\MPASM Suite\LKR\18f45k20i.lkr" "04 Switch Input.o" /u_CRUNTIME /z__MPLAB_BUILD=1 /o"04 Switch Input.cof" /M"04 Switch Input.map" /W MPLINK 4.35, Linker Copyright (c) 1998-2010 Microchip Technology Inc. Error - could not find definition of symbol 'Delay10TCYx' in file './04 Switch Input.o'. Errors : 1 Link step failed. ---------------------------------------------------------------------- Release build of project `D:\PIC\PICkit 3 Debug Express Lessons\04 Switch Input\04 Switch Input.mcp' failed. Language tool versions: mpasmwin.exe v5.35, mplink.exe v4.35, mcc18.exe v3.35 Thu May 27 21:16:13 2010 ---------------------------------------------------------------------- BUILD FAILED

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • 18FシリーズのPICマイコンでのトラブル

    MPLAB IDE にてエラーがおきてしまい困っています ---------------------------------------------------------------------- Debug build of project `C:\Program Files\pic\w.mcp' started. Language tool versions: mpasmwin.exe v5.34, mplink.exe v4.34, mcc18.exe v3.34 Preprocessor symbol `__DEBUG' is defined. Fri Oct 30 18:09:44 2009 ---------------------------------------------------------------------- Clean: Deleting intermediary and output files. Clean: Deleted file "C:\Program Files\pic\rei.o". Clean: Done. Executing: "C:\MCC18\bin\mcc18.exe" -p=18F2320 /i"C:\MCC18\bin\LKR" -I"C:\MCC18\h" "rei.c" -fo="rei.o" -D__DEBUG -mL -Oa -Ou- -Ot- -Ob- -Op- -Or- -Od- -Opa- MPLAB C18 v3.34 (evaluation) Copyright 2000-2009 Microchip Technology Inc. Days remaining until evaluation becomes feature limited: 59 Executing: "C:\MCC18\bin\mplink.exe" "..\..\MCC18\bin\LKR\18f2320_g.lkr" "rei.o" /u_CRUNTIME /u_DEBUG /z__MPLAB_BUILD=1 /z__MPLAB_DEBUG=1 /w /o"w.cof" MPLINK 4.34, Linker Link step failed. ---------------------------------------------------------------------- Debug build of project `C:\Program Files\pic\w.mcp' failed. Language tool versions: mpasmwin.exe v5.34, mplink.exe v4.34, mcc18.exe v3.34 Preprocessor symbol `__DEBUG' is defined. Fri Oct 30 18:09:44 2009 ---------------------------------------------------------------------- BUILD FAILED プログラムのエラーを修正しErrorはなくなりました しかし、ビルドが成功しません この原因のご指摘をよろしくお願いいたします

  • PIC MCC18でコンパイルすると

    PIC MCC18でコンパイルすると xecuting: "C:\Program Files\Microchip\MCC18\bin\mcc18.exe" -p=18F1320 "ctesut1.c" -fo="ctesut1.o" -Ou- -Ot- -Ob- -Op- -Or- -Od- -Opa- Executing: "C:\Program Files\Microchip\MCC18\bin\mplink.exe" "C:\Program Files\Microchip\MCC18\bin\LKR\18f1320_g.lkr" "C:\Program Files\MPLAB IDE\project1\ctesut1.o" /o"Ctest1.cof" /M"Ctest1.map" MPLINK 4.31, Linker Error - could not find definition of symbol 'INTCONbits' in file 'C:\Program Files\MPLAB IDE\project1\ctesut1.o'. BUILD FAILED: Fri Sep 24 22:56:52 2010 という内容が出てしまいます。何が問題でしょうか? MPLAB IDE はVer7.30 MCC18はLiteVer3.32 です。

  • MPLABにおけるsyntax errorについて

    MPLABを使って、PIC18f2550にプログラミングをしようと考えています。 MPLABの動作確認をしようと、非常に簡単なプログラムを打ちましたが、 「L:\mplab\source file\test.c:4:Error: syntax error」 なるエラーでビルド失敗します。 syntax error ってなんなのでしょうか。 全文を乗せると ----- Clean: Deleting intermediary and output files. Clean: Done. Executing: "C:\Program Files\Microchip\mplabc18\v3.43\bin\mcc18.exe" -p=18F2550 /i"C:\Program Files\Microchip\mplabc18\v3.43\h" "L:\mplab\source file\test.c" -fo="test.o" -D__DEBUG -Ou- -Ot- -Ob- -Op- -Or- -Od- -Opa- L:\mplab\source file\test.c:4:Error: syntax error Halting build on first failure as requested. ----- です。 また、Microdhip C18 Toolsuiteを使用しています。パスも設定しました。

  • PICkit3でのプログラム実行について

    PICkit3でのプログラム実行について PICkit3についているLessonのサンプルで プログラムの実行を行っているのですが、 Lesson7 ADCでデバッグ時は正常に動作をするんですが、 Programmerの方でProgramをすると動作しません。 なにか設定が悪いでしょうか? よろしくお願いします。 Windows7 64bit MPLAB IDE v8.46

  • MPLAB IDE Buildできず、エラーもなく

    PICのプログラムの本を見ながら、LED1個を点滅させる というプログラムをまる写しという感じで作りました。 ところがBuild AllをクリックしてもBUILD FAILEDになり、 その画面にエラーがありません。 エラーが出て、そこを直して成功した経験はありますが、 今回は分からず質問します。 Debug build of project `C:\Users\oyajin\Documents\led.mcp' started. Language tool versions: MPASMWIN.exe v5.37, mplink.exe v4.37, mplib.exe v4.37 Preprocessor symbol `__DEBUG' is defined. Mon Nov 04 19:46:30 2013 ---------------------------------------------------------------------- Clean: Deleting intermediary and output files. Clean: Done. Build aborted. The project contains no source files. ---------------------------------------------------------------------- Debug build of project `C:\Users\oyajin\Documents\led.mcp' failed. Language tool versions: MPASMWIN.exe v5.37, mplink.exe v4.37, mplib.exe v4.37 Preprocessor symbol `__DEBUG' is defined. Mon Nov 04 19:46:30 2013

  • MPLAB IDEにてアセンブルできずに

    MPLAB IDEにてアセンブルできずにこまっています。 ---------------------------------------------------------------------- Debug build of project `C:\pic\test_2.mcp' started. Language tool versions: MPASMWIN.exe v5.31, mplink.exe v4.31 Preprocessor symbol `__DEBUG' is defined. Wed Aug 12 09:20:05 2009 ---------------------------------------------------------------------- Clean: Deleting intermediary and output files. Clean: Done. Build aborted. The project contains no source files. ---------------------------------------------------------------------- Debug build of project `C:\pic\test_2.mcp' failed. Language tool versions: MPASMWIN.exe v5.31, mplink.exe v4.31 Preprocessor symbol `__DEBUG' is defined. Wed Aug 12 09:20:05 2009 ---------------------------------------------------------------------- BUILD FAILED エラー箇所もでないのでどこに問題があるのかもわかりません。 原因のご指摘をお願いします

  • 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)

  • プログラムを削除するには・・・

    NEC VALUESTARを使っています。 最初から入っている使わないプログラムを削除したいのですが、「プログラムの追加と削除を使用してください」と出ます。 名前が同じに書いていないので、プログラムの追加と削除のどれに当てはまるかよくわかりません。 はずしたいもの(3つ)のプロパティを開くと リンク先が次のように書かれています。 どういうふうに見ればいいのでしょうか? 1. インターネットを始めよう "C:\Program Files\DTS\DTS.exe" /I 2. オンラインサービスのご紹介 "C:\Program Files\DTS\DTS.exe" /O 3. ネットゲームが 1ヶ月無料!  "C:\Program Files\NgcPreInstall\NgcPreInstall.exe"      

  • 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

  • EclipseでC言語のプログラムが実行できない

    EclipseでC言語のプログラムが実行できない Cygwinはすでにインストールしてあったのでそのままコンパイルもできました。Ctrl+BでBuildするとコンソールに以下のメッセージがでました。実行しようとしているファイルの名前はKnowledge.cです。 **** Build of configuration Debug for project Knowledge **** make all Building file: ../src/Knowledge.c Invoking: Cygwin C Compiler gcc -O0 -g3 -Wall -c -fmessage-length=0 -MMD -MP -MF"src/Knowledge.d" -MT"src/Knowledge.d" -o"src/Knowledge.o" "../src/Knowledge.c" Finished building: ../src/Knowledge.c Building target: Knowledge.exe Invoking: Cygwin C Linker gcc -o"Knowledge.exe" ./src/Knowledge.o Finished building target: Knowledge.exe そしてRun > Run Configurationで新しいConfigurationを作りました。 Configurationを作った画面では ProjectはKnowledge Build ConfigurationはDebug C/C++ ApplicationはDebug\Knowledge.exe となっています。 Build Configurationの欄は他にUse Active, Releaseに選択できるようになっています。 このあとRunを押してもコンソールには何も表示されません。Knowledge.cはEclipseが作成してくれたHello Worldプログラムです。なぜでしょうか?