mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik AVR Butterfly Programm passt nicht in Flash?


Autor: Tom Heinrich (dastoem)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Leute,

ich hab ein Programm für meinen Butterfly erstellt, dass recht viele 
Strings und sonstige Daten enthält. Die Größe der Hex-Datei ist 
inzwischen auf 135kByte angewachsen.

AVR Studio 4 sagt mir beim flashen, dass das Programm nicht in den 
Flashspeicher passen würde. Der Butterfly hat doch aber 4Mbit (=512 
kByte) Flash. Sollte doch passen oder?

Die Strings habe ich als:
static const char FREQ_STRING0[] PROGMEM = "Zeugs0";
.
.
.
.
static const char FREQ_STRING984[] PROGMEM = "Zeugs984";

deklariert.

Ein weiteres struct als
const FREQ_DATA FREQ[] PROGMEM = {

{FREQ_STRING0, 1, 983},
{FREQ_STRING1, 2, 0 ,70 ,6 ,25000 ,688 ,635 ,625 ,568 ,623},
{FREQ_STRING2, 3, 1 ,60 ,7 ,184 ,230 ,568 ,635 ,688 ,2632 ,1000},
{FREQ_STRING3, 4, 2 ,420 ,1 ,647},
{FREQ_STRING4, 5, 3 ,60 ,7 ,958 ,874 ,150 ,130 ,94 ,1136 ,1134},
{FREQ_STRING5, 6, 4 ,210 ,2 ,1502 ,636},
{FREQ_STRING6, 7, 5 ,420 ,1 ,8333},
{FREQ_STRING7, 8, 6 ,105 ,4 ,688 ,635 ,568 ,50},
.
.
.
.
{FREQ_STRING983, 0, 982 ,420 ,1 ,233},

};

Kann mir jemand weiterhelfen?

Autor: holger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Der Butterfly hat doch aber 4Mbit (=512
>kByte) Flash. Sollte doch passen oder?

512kB externes Flash. Damit kann AVRGCC nichts anfangen.
Der ATMega169 selbst hat nur 16kB.

Autor: Tom Heinrich (dastoem)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Okay, wie kriege ich die Daten dann ins externe Flash?

Autor: 6641 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Na mit einem Programm, das die Daten ueber die serielle Schnittstelle 
ansaugt und dort reinschiebt.

Autor: Tom Heinrich (dastoem)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Okay, mit welchem Programm kann ich den externen Flash beschreiben und 
wie spreche ich die Daten anschließend durch mein eigenes Programm 
wieder an?

Autor: Sebastian (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wie wär's damit: Zuerst ein Programm schreiben (für den Butterfly), das 
Daten über RS232 einliest und in den DataFlash schreibt. Dafür mußte es 
Bibliotheken geben, vielleicht hier im Forum irgendwo. Im DataFlash, dem 
externen Speicher, soll also, wenn ich das richtig verstehe, eine 
String-Tabelle angelegt werden. Jeder String muß dann natürlich durch 
seine Startadresse angesprochen werden.

Wenn nun das richtige Anwendungsprogramm in den Controller geschrieben 
wird, muß dieses eine Funktion zum Lesen des DataFlash enthalten und den 
jeweils benötigten String temporär in den RAM kopieren.

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.