Forum: Mikrocontroller und Digitale Elektronik Fehler im MPLAB, komme nicht weiter :-(


von Fred (Gast)


Lesenswert?

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

von holger (Gast)


Lesenswert?

>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.

von Fred (Gast)


Lesenswert?

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!

von holger (Gast)


Lesenswert?

>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.

von Fred (Gast)


Lesenswert?

Ah okay, kann ich da denn einfach den Speicherbereich vergrößern?

von holger (Gast)


Lesenswert?

>Ah okay, kann ich da denn einfach den Speicherbereich vergrößern?

Keine Ahnung. Welchen Pic benutzt du eigentlich?

von Fred (Gast)


Lesenswert?

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...

von holger (Gast)


Lesenswert?

Ähem, welchen Compiler benutzt du?

von Fred (Gast)


Lesenswert?

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?

von Fred (Gast)


Lesenswert?

Achso, ich programmiere in Assembler, nicht dass da Unstimmigkeiten 
entstehen

von holger (Gast)


Lesenswert?

>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.

von Fred (Gast)


Lesenswert?

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
Noch kein Account? Hier anmelden.