MPLab MCC18 Linker Probleme
Mittwoch, 23. Mai 2012
 
 

PIC Mikrocontroller Forum  |  PIC Mikrocontroller  |  Entwicklungswerkzeuge  |  MPLAB  |  MPLab MCC18 Linker Probleme « vorheriges nächstes »
Seiten: [1] Nach unten Drucken
Autor Thema: MPLab MCC18 Linker Probleme  (Gelesen 1909 mal)
 
Jutz
Gast
« am: Januar 24, 2010, 15:47:20 »

Servus,

ich versuche einen PIC18f2480 mit MPLab zu programmieren. Als Compiler soll der MCC18 dienen. Es ist mein erster M.prozessor, also hab ich relativ wenig ahnung. Ich hab schon endlos viele Tutorien durchprobiert und ales mögliche versucht, aber ich komme nicht weiter.
Ich kriege immer Fehler dieser Art angezeigt:

Error - could not find definition of symbol 'printf' in file 'C:\Projects32\LED-test\main.o'.
Errors    : 1

Es ist quasi immer der erste Befehl im Programm der nicht erkannt wird. Ich habe gelesen man kann einfach das Linker Script weglassen (und MPLab sucht sich automatisch was oder so), dann schimpft er bei mir aber, dass er kein Linker Script hat, also funktioniert nicht. Traurig

Wenn ich als Linker-Pfad nicht C:\Program Files\MCC18\bin\mplink.exe  sondern C:\Program Files\Microchip\MPASM Suite\mplink.exe angebe beschwert er sich dass er #DEFINE im Linker Script nicht kennt, also denke ich dass das eher noch schlechter ist, oder?

Zu dem Linker-Skript habe ich gelesen, man soll unbedignt eins aus MCC18/LKR nehmen. Dieses Verzeichnig gibt es aber nicht, sondern nur MCC18/bin/LKR. Kann das ein Problem sein?
Ich versuche es mit 18f2480_g.lkr

Wäre super, wenn mir jemand helfen kann dass ich zumindest mal Hello World hinkriege Lächelnd
Thx
Jutz
Gespeichert
Jutz
Gast
« Antworten #1 am: Januar 29, 2010, 17:30:38 »

Tach...
Das Problem ist nun auf nem anderen PC erstmal nichtmehr da...
Ich habe nun aber das  Problem, dass ich Pins nicht einzeln ansprechen kann. Im Datasheet steht in den Tabellen PORTA<1> usw. Das gibt aber einen syntaxfehler. Nach googlen hab ich mal PORTA.1 oder PORTA:1 gefunden, aber das gibt weiterhin syntax fehler.
Kann mir jemand sagen wie ich bei dem microcontroller die pins einzeln anspreche?
THX
Gespeichert
Stampede
Globaler Moderator
Hero Member
*****
Offline Offline

Beiträge: 969



Profil anzeigen WWW
« Antworten #2 am: Januar 29, 2010, 17:39:22 »

Hallo,

Code:
LATDbits.LATD2   // Latches um Ausgänge zu beschreiben
LATDbits.LATD3
PORTDbits.RD7    // Ports zum Einlesen
TRISAbits.TRISA5 // Tris Register zum Festlegen ob input oder output


oder über defines:

Code:
#define MUX_VOLTAGE_EN LATEbits.LATE0
...

        MUX_VOLTAGE_EN = 1;

Gruß
Stefan
Gespeichert

Jutz
Gast
« Antworten #3 am: Februar 01, 2010, 19:26:37 »

Servus,
funzt Smiley Danke.
 Nun habe ich ein neues kleines Problem. Wenn ich Variablen deffiniere kriege ich Syntax-fehler angezeigt  Traurig Einfaches:   int a; oder unsigned long = NewMessage; geben syntex-error. Ich hab zwar was laenger nicht mit c programmiert, aber das macht mweiner meinung nach keinen sinn... Das sollten doch standard befehle sein, oder bracueh ich dafuer irgendwleche speziellen header oder so? Oder ist das bei MPLab dann doch wieder was anders?
Gespeichert
Jutz
Gast
« Antworten #4 am: Februar 02, 2010, 15:24:08 »

Tach, ich hab nochmal ne leichte frage denk ich L&#228;chelnd
wenn ich mit printf einen text ausgegeben kriegen moechte, wo genau sollte der dann erscheinen? in meinem Output Window kommt da naemlich nichts... und auch sonst nirgendwo. Muss ich irgendwo noch einstellen, dass ein Ausgabefenster erstellt werden soll fuer texte oder so? thx
Gespeichert
techno
Newbie
*
Offline Offline

Beiträge: 27


Profil anzeigen
« Antworten #5 am: Februar 02, 2010, 20:16:49 »

Hallo JUTZ,

Zitat
in meinem Output Window kommt da naemlich nichts... und auch sonst nirgendwo.

1.Simulator einschalten.
2.Debugger>Settings auf Seite Uart1 IO Haken in Enable Uart1 IO

Kannst du alles nachlesen ww1.microchip.com/downloads/en/DeviceDoc/51295E.pdf 3.8.2 Testing with MPLAB® SIM

Gruß Mario
Gespeichert
Jutz
Gast
« Antworten #6 am: Februar 03, 2010, 10:35:43 »

Hallo Mario,

danke fuer den tipp. Im Sim Modus habe ich es auchschon geschafft,  wie du beschrieben hast Text auszugeben. Ich habe aber meinen microprozessor (PIC18F2480)ueber ICD2 angeschlossen, lasse ihn ueber den Debugger laufen, und moechte bei empfangenen CAN-Messages je nachdem was empfangen wird, verschiedene Ausgaben auf dem PC haben. Da das Ganze noch nicht wirklich laeuft, waere es sehr nuetzlich Texte auszugeben um wirklich zu sehen was gerade wann passiert... Geht das mit ICD2 auch irgendwie? Danke fuer die Hilfe.

Gruss,
Jutz
Gespeichert
Seiten: [1] Nach oben Drucken 
« vorheriges nächstes »
Gehe zu:  

Powered by MySQL Powered by PHP Made for Mozilla (Firefox) Made for Internet Explorer
Seite erstellt in 0.039 Sekunden mit 20 Zugriffen.
 
Top! Top!