mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Out of Memory


Autor: Patrick (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich habe ein Problem beim brennen des ATtiny15 mit dem Programm von
Herrn Johann Aichinger (ATProg30).
Das Brennen von At90S2313 und AT90S8515 klappt problemlos.
Bei Brennen des Programms auf den tiny15 wird mir folgende
Fehlermeldung von ATProg30 ausgegeben: Out of memory: 0000
Das Programm ist mehr als einfach gehalten und sollte eigendlich nicht
das Problem darstellen.
Ebenfalls suche ich ein gutes Brennprogramm welches ähnlich das von
Herrn Aichinger ist, jedoch von Vornherein mehr als 1kb brennen kann.
Gibt es da welche(ich gehe mal davon aus, eben auch welche die meinen
Leichtbaubrenner vorerst unterstützen, demnächst gibts einen neuen über
Com-Port)oder sollte ich dieses freischalten lassen?

Danke und Gruß
Patrick

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
"... jedoch von Vornherein mehr als 1kb brennen kann."

Nun, das kann kein Programmer beim ATTiny15.


Peter

Autor: Patrick (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das habe ich doch auch garnicht behauptet, auf meiner Liste der zu
brennenden Controller stehen nicht nur ATtiny15er drauf...

Zumal das Programm die Größe der Hex-Datei einließt, und da habe ich in
diesem Fall eine für den Tiny15 mit 2,83kb.

Gruß
Patrick

Autor: Hannes Lux (hannes)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die Hexdatei ist eine Textdatei, in der die binären Werte hexadezimal
(ASCII-Text) mit Adressen, Prüfsummen und anderem Overhead dargestellt
werden. Deren Dateigröße ist also  bedeutend größer als die Größe des
damit dargestellten Programms. Die Angabe der HEX-Dateigröße ist also
nicht relevant.

...

Autor: Patrick (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
^^

Das wollte ich damit sagen, das Programm geht nach der Hex-Datei-größe
wie oben gesagt, und wie Hannes eben erwähnte ist diese bzw. kann diese
größer sein, daher die Beschränkung und die Möglichkeit den Code NICHT
auf den Tiny zu brennen.

gruß
Patrick

Autor: Patrick (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mit Programm meine ich in diesem Fall das ATProg30...

Autor: Hannes Lux (hannes)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> ist diese bzw. kann diese größer sein,

Sie kann nicht nur größer sein, sie ist definitiv größer. Aus einem
Byte Nutzdaten werden zwei Bytes Text, dazu kommt noch je Zeile die
Adresse, der Zeilentyp, die Prüfsumme und der Doppelpunkt. Und dann
noch die erste und letzte Zeile, die (meist) keinen Programmcode
enthalten.

Schau dir doch einfach mal das Format einer Intel-Hex-Datei an. Google
wird dir sicher zeigen, wo du die Erklärung zu diesem Dateiformat
findest.

Andererseits wird beim Assemblieren des Quelltextes angezeigt, wieviel
Flash, EEPROM und SRAM das Programm benötigt, zumindest ist das bei
AVR-Studio und Assembler der Fall.

Programme für den Tiny15 haben meist noch eine andere Eigenheit. Wenn
die Programme zeitkritisch sind, dann hat der Programmierer sicherlich
an die Calibration des internen RC-Oszillators auf 1,6MHz gedacht. Dazu
hat das AVR-Programm dann eine Routine, die das Calibrationsbyte von
einer vordefinierten Stelle des Programmcodes (meist das untere Byte
der letzten Flash-Zelle) in das Register OSCCAL schreibt. Da das
Calibrationsbyte exemplarabhängig ist, muss es der Anwender vor dem
Brennen ermitteln und an die dafür vorgesehene Speicherstelle
schreiben.

Ich will damit sagen, dass zum Umgang mit AVRs etwas mehr gehört, als
nur gesammelte HEX-Dateien anderer Leute in den AVR zu brennen und dann
zu erwarten, dass alles wie geplant funktioniert.

...

Autor: Patrick (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke Hannes, für die nochmalige Erklärung.

> Ich will damit sagen, dass zum Umgang mit AVRs... <

Na dann hab ich ja Glück, das es sich bei mir fast ausschließlich um
selbst geschriebene Programme handelt ;-)

Nun sind wir dabei jedoch vom eigendlichen Thema abgekommen :-)

Gruß
Patrick

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.