mikrocontroller.net

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


Autor: Fred (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: holger (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Fred (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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!

Autor: holger (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Fred (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ah okay, kann ich da denn einfach den Speicherbereich vergrößern?

Autor: holger (Gast)
Datum:

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

Keine Ahnung. Welchen Pic benutzt du eigentlich?

Autor: Fred (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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...

Autor: holger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ähem, welchen Compiler benutzt du?

Autor: Fred (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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?

Autor: Fred (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Achso, ich programmiere in Assembler, nicht dass da Unstimmigkeiten 
entstehen

Autor: holger (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Fred (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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!

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.