Externe Funktion braucht mehr RAM?

OP #2046990
Lesenswert?
• ▲
▼
Hallo,

ich wollte eine Funktion von mir in eine externe Datei auslagern, da ich 
diese noch in anderen Funktionen brauche.
Das Problem ist dabei nur, das wenn ich über die externe Datei starte, 
mir der Compiler eine Fehlermeldung ausgibt, die durch die Lib von Peter 
Fleury verursacht wird.
Habe ich diese Funktion allerdings 1:1 in der eigentlichen Datei, kommt 
keine Fehlermeldung.

Der Compiler meckert das der SRAM zu klein für die Buffer wäre, dies 
wird überprüft indem ein Wert von ENDRAM abgezogen wird. Setzt man 
diesen Wert allerdings manuell auf den Wert des AT90CAN128, so kommt 
keine Meldung es läuft auch normal.

Im Anhang noch die Datein


Danke schon mal im Vorraus

mfg
Angehängte Dateien:
Gast #2047909
Lesenswert?
• ▲
▼
Der Fehler sitzt vor dem Computer.

Ich hab mit jtzt tatsächlich die Mühe gemacht, deine zip-Datei 
auszupacken, kann darin aber weder ENDRAM noch buffer finden. Was genau 
ist also jtezt die Frage, und wie genau stellst du dir vor, daß das 
jemand beantworten kann (oder will)?

Oliver
OP #2048864
Lesenswert?
• ▲
▼
Entschuldigung für die Ungenauigkeit

Also die Funktion "uart_get_line" will ich auslagern, über die Datei 
"uart_get_l"

Diese arbeitet ja eigentlich zu 90% mit der Funktion aus der Lib von 
Peter Fleury
Diese Lib überprüft ob der TX und der TX Buffer auch in den SRAM passen, 
dabei kommt die Fehlermeldung, allerdings nur wenn die Funktion 
ausgelagert ist, wenn ich die Funktion "uart_get_line" in die 
"visuschni.c" schreibe, kompiliert er fehlerfrei.
Ich benutze AVRStudio und der µC ist ein "AT90CAN128"
Gast #2058194
Lesenswert?
• ▲
▼
Nun ja, du solltest dir angewöhnen, JEDES c-File für einen AVR mit der 
kleine Zeile
1
include <avr/io.h>

zu beginnen. Damit erst werden alle Konstanten auf die AVR-Spezifischen 
Werte gesetzt.

Bei dir ist die Reihenfolge der includes falsch.

Oliver
OP #2064415
Lesenswert?
• ▲
▼
Ok ich hab jetzt ein wenig mit der Reihenfolge der includes rumgespielt, 
aber ich hab ehrlich gesagt keine gefunden, in der der Fehler nicht mehr 
auftritt

Welche Reihenfolge ist denn die richtige? Und was sind die 
"Ranghöchsten" Libs? GIbt es da überhaupt so was wie eine Rangfolge? 
Falls ja, kann man diese einsehen?

Antwort schreiben

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.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.