mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Fehler beim compilieren / linken branch out of range


Autor: Fabio S. (codehamster)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo zusammen,

ich habe heute ein Update meiner Programmierumgebung gemacht. Und 
bekomme nun einen Fehler den ich nicht kenne. Vermutlich habe ich ein 
problem beim Linken.

Das Projekt konnte ich mit der Vorgänger Version ohne Probleme 
compilieren.

Kann jemand etwas mit der Fehlermeldung branch out of range etwas 
anfangen??? Bin um jede Hilfe dankbar.

MFG codehamster

!E servicecard.s(865): branch out of range
!E servicecard.s(866): symbol 'L75': address changed at phase 3: old 
03DE new 03DC at line 866
!E servicecard.s(893): symbol 'L82': address changed at phase 3: old 
03FC new 03FA at line 893
!E servicecard.s(900): symbol 'L83': address changed at phase 3: old 
0400 new 03FE at line 900
!E servicecard.s(913): symbol 'L79': address changed at phase 3: old 
040C new 040A at line 913
...
...
...
!E servicecard.s(3862): symbol 'L270': address changed at phase 3: old 
172E new 172C at line 3862
C:\iccv7430\bin\imakew.exe: Error code 1
C:\iccv7430\bin\imakew.exe: 'servicecard.o' removed.

Autor: Fabio S. (codehamster)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
jemand eine idee?

wenn ich die golbale Optimierung einschalte wird nicht mehr gemeckert...

branch tönt nach einem Sprung, ich verwende keine goto befehle, jedoch 
werden wohl if / else und for Bedingungen auch mit Sprüngen abgebildet.

würde das ganze auch gerne ohne Optimierung kompilieren können.

Autor: Bernhard R. (barnyhh)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die Antwort ist 42!

Welcher Processor?
Welche Programmiersprache?
Welcher Compiler?
Welche Compiler-Versionen?

Bernhard

Autor: Fabio S. (codehamster)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Bernhard R. schrieb:
> Die Antwort ist 42!
>
> Welcher Processor?
MSP430F449
> Welche Programmiersprache?
C
> Welcher Compiler?
ICC430 von Imagecraft.com
> Welche Compiler-Versionen?
Version 7.12B Professional
>


codehamster

Autor: Kai S. (zigzeg)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Fabio S. schrieb:
> Hallo zusammen,
>
> Kann jemand etwas mit der Fehlermeldung branch out of range etwas
> anfangen??? Bin um jede Hilfe dankbar.
>

Relative branches haben oft einen beschraenkten Sprungbereich. Hier 
scheint dieser nicht auszureichen. Vielleicht erzeugt Deine neue 
Tool-Version (wenn ich das bei Dir richtig verstanden habe) groesseren 
Code ?

Moegliche Loesungen:
1) Andere Compiler-Optionen verwenden (z.B. fuer kompakteren code)
2) Module in anderer Reihenfolge zusammenlinken (vielleicht macht das 
die globale Optimierung ?)
3) Branch durch Jump ersezten. Ist bei C code (ist es C code ?) 
natuerlich nicht so einfach.

ZigZeg

Autor: Fabio S. (codehamster)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Kai,

danke für die Tipps. Ich werde Sie verfolgen. Allenfalls diese 
Monsterfunktion in kleinere Pakete unterteilen. Ist ein älteres Projekt 
dass ich wieder hervorholen musste und nun mit dem neuen Compiler so 
nicht mehr funktioniert. Aber der wird ja aus gutem Grund meckern. Somit 
versuche ich erstmal die unschöne Monsterfunktion in kleinere 
unterfunktionen zu zerlegen. Ev. funktionierts ja dann.

MFG Codehamster

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.