Hallo Leute, ich habe ein Problem im MPLAB und komme einfach nicht auf die Ursache.... Ich habe ein kleines Testprogramm geschrieben um meinen PIC und die Hardware mal zu testen. Ich möchte ganz gerne eine LED Segmentanzeige ansprechen und das funktioniert soweit auch alles ganz super mit einem kleinen Testprogramm was alle Segmente einmal aufleuchten lässt. Aber kaum versuche ich mein richtiges, wesentlich größeres Programm zu builden, erscheint immer diese Meldung: MPLINK 4.11, Linker Copyright (c) 2007 Microchip Technology Inc. Error - section '.org_3' can not fit the absolute section. Section '.org_3' start=0x00000018, length=0x000000e8 Errors : 1 Leider finde ich die Ursache nicht, zu groß wird mein Programm für den Speicher mit Sicherheit nicht sein.... Vielleicht kann mir ja jemand weiterhelfen, verzweifel da schon seit einigen Stunden dran :-( LG Fred
>Leider finde ich die Ursache nicht, zu groß wird mein Programm für den >Speicher mit Sicherheit nicht sein.... Dein Programm nicht, aber das RAM in der Section ist wohl zu klein.
Okay, bin absoluter Anfänger... wie gehe ich da denn nun ran? Habe das Datenblatt grad vor mir liegen, aber weiss nicht so recht nach was genau ich nun suchen muss... Aber danke schonmal für den Hinweis!
>Okay, bin absoluter Anfänger... wie gehe ich da denn nun ran? Habe das >Datenblatt grad vor mir liegen, aber weiss nicht so recht nach was genau >ich nun suchen muss... Im Datenblatt findest du das nicht. Irgendwo in deinem Code wird eine org3 Section benutzt. Da musst du mal nach suchen. Definiert wird diese Section in einer Linkerdatei. Also son Ding was hinten .lkr hat.
Ah okay, kann ich da denn einfach den Speicherbereich vergrößern?
>Ah okay, kann ich da denn einfach den Speicherbereich vergrößern?
Keine Ahnung. Welchen Pic benutzt du eigentlich?
Ich benutze einen 18F1220 Hier einmal der Inhalt meines Linkers: // $Id: 18f1220.lkr,v 1.8 2006/05/09 22:38:18 nairnj Exp $ // File: 18f1220.lkr // Sample linker script for the PIC18F1220 processor // Not intended for use with MPLAB C18. For C18 projects, // use the linker scripts provided with that product. LIBPATH . CODEPAGE NAME=vectors START=0x0 END=0x29 PROTECTED CODEPAGE NAME=page START=0x2A END=0xFFF CODEPAGE NAME=idlocs START=0x200000 END=0x200007 PROTECTED CODEPAGE NAME=config START=0x300000 END=0x30000D PROTECTED CODEPAGE NAME=devid START=0x3FFFFE END=0x3FFFFF PROTECTED CODEPAGE NAME=eedata START=0xF00000 END=0xF000FF PROTECTED ACCESSBANK NAME=accessram START=0x0 END=0x7F DATABANK NAME=gpr0 START=0x80 END=0xFF ACCESSBANK NAME=accesssfr START=0xF80 END=0xFFF Leider konnte ich da kein org3 finden oder etwas anderes was dem Speicherbereich entsprechen würde.... Aber ich bin schonmal sehr dankbar für deine Hilfe. Weiss grad echt nicht weiter...
Also ich habe mir die Entwicklungsumgebung MPLAB heruntergeladen und nutze die. Arbeite derzeit mit einem Einstiegsbuch und arbeite mich etwas in die Thematik ein. MPLAB assembliert doch selbstständig ohne externen Compiler oder nicht?
Achso, ich programmiere in Assembler, nicht dass da Unstimmigkeiten entstehen
>Achso, ich programmiere in Assembler, nicht dass da Unstimmigkeiten >entstehen Achso, dann bin ich hier raus;) Aber das hier: >start=0x00000018, length=0x000000e8 Sieht nach den Interruptvektoren aus. Ist also kein RAM Problem. Da sollte nicht mehr drin stehen als ein Sprung zu deiner Interruptroutine. Schreib da also nicht dein ganzes Programm rein.
Ich habe das Problem lösen können. Habe nebenbei mal die eine oder andere Seite gesucht und auch einiges probiert. Nach entfernen der .lkr datei lässt sich das Programm problemlos builden und programmen. Dir erstmal ganz herzlichen Dank für das Interesse, deine Zeit und 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.