Hallo, wollte mich mal mit MPLAB IDE mit C18 Compailer versuchen. Leider gibt es beim kompilieren folgenden Fehler: Error - Device not specified. Use /p option to specify a device Habe das erste Beispielprogramm mit Hello world verwendet. Für das Projekt wurde der Pic 18f25k22 ausgewählt. Im Anhang befindet sich noch ein screenshot vom Programm. Das richtige Linker Script hab ich auch für diesen Pic ausgewählt. Daher verstehe ich nicht, was da falsch sein könnte? Schon mal vielen Dank für eure Antworten!
Weil da steht, was du tun sollst (kleiner Tip: es ist blau).
:
Bearbeitet durch User
soweit versteh ich das schon. Komm nur nicht dahinter, wie ich das im folgenden Satz umsetzen soll. "Use /p option to specify a device" Bei Projektanlegung hab ich diesen Pic entsprechend ausgewählt.
:
Bearbeitet durch User
Elias Weiß schrieb: > soweit versteh ich das schon. > Komm nur nicht dahinter, wie ich das im folgenden Satz umsetzen soll. > > "Use /p option to specify a device" > > Bei Projektanlegung hab ich diesen Pic entsprechend ausgewählt. Hi, Das /p müsstest du beim Aufruf des Linkers in die Komandozeile schreiben. Aber das läuft normalerweise Automatisiert... Schmeiss mal das Linker Scribt ersatzlos aus dein Projekt raus. Die LKR Skripte sind heute nur noch dann nötig wenn du mit den Standardeinstellungen nicht zurecht kommst - Beispielsweise wegen überlanger Arrays, du den für den SW Stack reservierten RAM Bereich verkleinern oder vergrößern musst usw. Also sicher nicht für ein Hello Welt ;-) Wenn es dann noch nicht funktioniert überprüfe ob unter Project -> Build Options -> Project -> (Tab) Linker im Feld MPLINK Linker unter dem Button "Restore Default" etwas Sinnvolles in der Zeile steht: Sofern du da nicht bewusst etwas geändert hast steht da normalerweise: /m"$(BINDIR_)$(TARGETBASE).map" /w /o"$(BINDIR_)$(TARGETBASE).cof" (Erhälst du mit Restore Default) Gruß Carsten
@Carsten: Vielen Dank für dein Post. Da scheint es wirklich ein Problem mit dem Linker-Script zu sein. Nachdem ich dies entfernt habe, funktionierte es ohne Probleme. Nochmals vielen Dank für diesen Tipp! Gruß Elias
Was macht das printf beim PIC eigentlich. Ich habe schon viel PIC programmiert, habe das printf aber nur am PC gesehen. Könnte mit bitte jemand sagen, was das printf auf dem PIC macht?
Per Definition gibt printf Daten an den Standard-Ausgabe-Stream aus [1]. Das ist beim Mikrocontroller in der Regel eine Ausgabe per UART, die du zum Beispiel mit TeraTerm ansehen kannst. Gruß Dennis [1] http://www.cplusplus.com/reference/cstdio/printf/?kw=printf
Habe das printf schon über den CCS-Compailer an einem PIC erfolgreich eingesetzt. Das printf macht dann über die UART-Schnittstelle die Ausgabe. Speziell bei diesem Programm hab ich es nur bei der Simulation verwendet. Sollte nur zur Übung dienen. Hab bisher mit dem CCS Compailer gearbeitet.
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.