Ich bin mich gerade am Herantasten an die MC-Welt. Nachdem ich nun doch schon einiges gelesen habe und auch schon viel verstehe, bin ich nun jedoch an ein Problem gestossen. Ich verwende MPLAB IDE v8.46 und den C18 Compiler. Schlussendlich möchte ich einen PIC18F4520 benützten. Als erstes benutzte ich die MPASM Toolsuite, konnte bereits LED's ansteuern und den PIC damit programmieren. Da ich aber die Assembler-Sprache nicht geläufig habe, wollte ich das selbe mit der C18 Toolsuite erreichen. Hatte mir dazu folgendes Tutorial angeschaut: http://www.youtube.com/watch?v=84Tu4eLTLVY How To Program A PIC18F452 With MPLAB IDE? Habe dies so durchgeführt, bin dann aber beim "Buid All" auf die folgende Fehlermeldung gestossen: ************************************************************************ Debug build of project `C:\Users\Pascal Stadelmann\Documents\Technikerschule\Mikrocontrollertechnik\CaseStudy Zutrittssystem\Test2mitC18.mcp' started. Language tool versions: MPASMWIN.exe v5.35, mplink.exe v4.38, mcc18.exe v3.37.01, mplib.exe v4.38 Preprocessor symbol `__DEBUG' is defined. Target debug platform is `__MPLAB_DEBUGGER_ICD3=1'. Debug platform options are: `__ICD2RAM=1', `__MPLAB_SWBPS_ON=1'. Sun Jan 30 18:48:56 2011 ---------------------------------------------------------------------- Clean: Deleting intermediary and output files. Clean: Deleted file "C:\Users\Pascal Stadelmann\Documents\Technikerschule\Mikrocontrollertechnik\CaseStudy Zutrittssystem\TestCode.o". Clean: Done. Executing: "C:\Program Files\Mikrocontroller\Microchip\MPLAB C18\v3.37.01\bin\mcc18.exe" -p=18F4520 "C:\Users\Pascal Stadelmann\Desktop\TestCode.c" -fo="TestCode.o" -D__DEBUG -D__MPLAB_DEBUGGER_ICD3=1 -Ou- -Ot- -Ob- -Op- -Or- -Od- -Opa- C:\Users\Pascal Stadelmann\Desktop\TestCode.c:6:Warning [2066] type qualifier mismatch in assignment Executing: "C:\Program Files\Mikrocontroller\Microchip\MPLAB C18\v3.37.01\bin\mplink.exe" /l"C:\Program Files\Mikrocontroller\Microchip\MPLAB C18\v3.37.01\lib" "..\..\..\..\..\..\Program Files\Mikrocontroller\Microchip\MPLAB C18\v3.37.01\bin\LKR\18f4520_g.lkr" "TestCode.o" "C:\Program Files\Mikrocontroller\Microchip\MPLAB C18\v3.37.01\lib\p18F4520.lib" "C:\Program Files\Mikrocontroller\Microchip\MPLAB C18\v3.37.01\lib\p18F4520_e.lib" /u_CRUNTIME /u_DEBUG /u_DEBUGCODESTART=0x7d80 /u_DEBUGCODELEN=0x280 /u_DEBUGDATASTART=0x5ef /u_DEBUGDATALEN=0x11 /z__MPLAB_BUILD=1 /z__MPLAB_DEBUG=1 /z__MPLAB_DEBUGGER_ICD3=1 /z__ICD2RAM=1 /z__MPLAB_SWBPS_ON=1 /o"Test2mitC18.cof" /M"Test2mitC18.map" /W MPLINK 4.38, Linker Copyright (c) 1998-2010 Microchip Technology Inc. Error - Device not specified. Use /p option to specify a device. Errors : 1 Link step failed. ---------------------------------------------------------------------- Debug build of project `C:\Users\Pascal Stadelmann\Documents\Technikerschule\Mikrocontrollertechnik\CaseStudy Zutrittssystem\Test2mitC18.mcp' failed. Language tool versions: MPASMWIN.exe v5.35, mplink.exe v4.38, mcc18.exe v3.37.01, mplib.exe v4.38 Preprocessor symbol `__DEBUG' is defined. Target debug platform is `__MPLAB_DEBUGGER_ICD3=1'. Debug platform options are: `__ICD2RAM=1', `__MPLAB_SWBPS_ON=1'. Sun Jan 30 18:48:57 2011 ---------------------------------------------------------------------- BUILD FAILED *********************************************************************** ERROR - DEVICE NOT SPECIFIED... was ist da falsch gelaufen? ...das folgende ist mein Source-Code: ************************************************************************ * #include <p18f4520.h> #include <stdio.h> void main() { printf("Hello World \n"); } ************************************************************************ *
Pascal Stadelmann schrieb: > Error - Device not specified. Irgendwo hast du was beim Einstellen des verwendeten PICs was vermurkst. Verwendest du auch einen PIC18F452 ? Pascal Stadelmann schrieb: > Schlussendlich möchte > ich einen PIC18F4520 benützten. Ansonsten musst du natürlich das Linkerscript auch für den PIC184520 raussuchen (wie im Video beschrieben). Im Project-Wizzard (auch siehe Video) natürlich auch den richtigen PIC verwenen. Video ab 2:08.
Danke für deine rasche Antwort. Ich verwende nur einen PIC18F4520, habe dies im Projekt-Wizzard so ausgewählt und "selbstverständlich" auch die Linkerdateien dazu (PIC18F4520) ausgesucht. ...muss wohl weiter suchen.
Pascal Stadelmann schrieb: > ...muss wohl weiter suchen. Versuch mal die versch. Linkerscripte durch. Alle die dem Namen nach zum PIC passen. Hast du denn den entsprechenden PIC auch im Projekt-Explorer eingebunden (wie im Video) Pascal Stadelmann schrieb: > #include <p18f4520.h> > #include <stdio.h> > > void main() > { > printf("Hello World \n"); > } Mach mal was anderes als Dinge die man auf einen PIC eigentlich nicht nutzt (stdio.h, printf) Ein PIC braucht immer eine endlos-Schleife. Was du noch erzählen musst ist was du mit einem printf in einem PIC Programm hast. Mach was sinnvolles: int a=0; a=8; Wenn das geht dann liegt's am stdio.h Das glaube ich aber eher nicht ... ansonsten versuch mal das Tutorial: http://pic-projekte.de/pic_c.html Da einrichten wie beschrieben.
Michael vielen Dank für deine Antwort, dein Link ist toll. Grundsätzlich sehr einfach beschrieben, aber das ganze Thema auch wirklich gut zusammengefasst. Zu meinem Problem...Ich habe den Fehler gefunden. Die Pfadlänge der Linker/Library-Dateien (Project Wizzard->C18 Toolsuite...) waren zu lange! Das Problem ist auch daran zu erkennen, das jedes mal beim Erstellen eines neuen Projektes diese Dateien ausgewählt werden müssen, da ein rotes X vor der jeweiligen Datei zu finden ist. Danke jedoch allen für die Hilfe!!!
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.