mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik M1626 Flash Update


Autor: Til Stork (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi alle,


Ich entwickel gerade auf einem M16C26 einen Embedded Server. Es wird
möglich sein diesen Server über das Internet mit neuer Software zu
versorgen.

Dazu empfange ich das 64kByte große Bin File aus dem Internet und
speicher es in ein Eeprom, so weit so gut. Jetzt muss das Bin File noch
aus dem Eeprom in den Flash ab Adresse 0x0F0000 kopiert werden.

Leider habe ich keinen RAM mehr frei, um dort mein Flash Kopier
Routinen hin zu kopieren und dort auszuführen. Die einzige Möglichkeit
ist also den beiden Blöcke A und B (0x00F000-0x00FFFF) als Codesegment
zu nutzen. Also hab ich im sect30.inc ein entsprechendes Codesegment
angelegt und sehe dies auch ab Adress 0x00F000 im Bin File. Das doofe
ist jetzt nur, das der M16C Flasher nur die 64kByte ab Adresse 0x0F0000
in den Controller überspielt.

Bin also für alle guten Ideen und Anregungen offen!! Das einzige, was
mir nämlich im Moment einfällt, ist per Hand meine Flash Routinen im
Bin File irgendwo an eine freie Stelle in den 64kByte Block rein zu
kopieren und nachher beim Start wieder in den Block A und B zu
kopieren.

Autor: Peter Kasi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Kannst du event. einen Teil deines Speichers dynamisch reservieren
(vieleicht hast du ja ein paar große arrays). Wenn du dann in den
Updatemode gehst, brauchst du die Arrays nicht mehr und kannst sie
freigeben. Dann hast du auch wieder genug Speicher um deine
Flashroutine aus dem RAM auszuführen.

Autor: Til Stork (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ne, das geht leider nicht, solche Speicherbereiche gibt es bei mir im
RAM nicht. Evtl. hab ich jetzt ne Lösung gefunden, ich versuche gerade
soweit Segmente hin und her zu schieben, das ich einen Flash Block
komplet frei bekomme, dann kann ich darin mein Eeprom->Flash Kopier
Routine halten.

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.