www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik externes Flash


Autor: Ich (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi Leute!
Ich habe eine prinzipielle Frage. Das interne Flash ist nicht 
ausreichend, also kann man ja ein externes Flash dranhängen.

Nun meine Frage:
* Wie wird das externe Flash programmiert?
* Wie schaut das im Code aus? Welche Codestücke werden dann im Flash 
abgelegt und wo?
* wie werden die dann aus dem externen Flash exekutiert?

Es geht nur ums Prinzip! Bitte um Hinweise :-)

thx

Autor: Zwirbeljupp (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Das interne Flash ist nicht ausreichend, also kann man ja ein externes
> Flash dranhängen.
Im Prinzip ja.

> * Wie wird das externe Flash programmiert?
kommt darauf an

> * Wie schaut das im Code aus? Welche Codestücke werden dann im Flash
> abgelegt und wo?
hängt davon ab...

> * wie werden die dann aus dem externen Flash exekutiert?
mal so mal so

> Bitte um Hinweise :-)
Es gibt nicht nur eine(n) Prozessor(architektur).
Grundsätzlich muss natürlich ein Businterface für externen 
(Programm)Speicher vorhanden sein.

Autor: Ich (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Zwirbeljupp schrieb:
>> Das interne Flash ist nicht ausreichend, also kann man ja ein externes
>> Flash dranhängen.
> Im Prinzip ja.
>
>> * Wie wird das externe Flash programmiert?
> kommt darauf an
>
Was gibt's da für Möglichkeiten?

>> * Wie schaut das im Code aus? Welche Codestücke werden dann im Flash
>> abgelegt und wo?
> hängt davon ab...
>
Wovon? Wie sag ich das dieser Code im Flash liegt? Bzw. wie sag ich das 
dem Compile?

>> * wie werden die dann aus dem externen Flash exekutiert?
> mal so mal so
>
und zwar?

>> Bitte um Hinweise :-)
> Es gibt nicht nur eine(n) Prozessor(architektur).
> Grundsätzlich muss natürlich ein Businterface für externen
> (Programm)Speicher vorhanden sein.
Naja nehmen wir nen einfach Adress-Daten-Bus?

Autor: Zwirbeljupp (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>>> * Wie wird das externe Flash programmiert?
>> kommt darauf an
> Was gibt's da für Möglichkeiten?
üblicherweise über einen Bootloader.

>>> * Wie schaut das im Code aus? Welche Codestücke werden dann im Flash
>>> abgelegt und wo?
>> hängt davon ab...
> Wovon? Wie sag ich das dieser Code im Flash liegt? Bzw. wie sag ich das
> dem Compile?
Dem Compiler ist das egal, der Linker muss über den externen Speicher 
bescheidwissen. Für sowas gibt es z.B. Linkerskripts. Aber wie gesagt: 
hängt davon ab (vom Prozessor, von der verwendeten 
Entwicklungsumgebung...)

>>> * wie werden die dann aus dem externen Flash exekutiert?
>> mal so mal so
> und zwar?
Wenn der externe Speicher so angebunden ist, dass der Prozessor darauf 
zugreifen kann, wie auf seinen internen Programmspeicher, dann brauchst 
Du Dich um nichts kümmern. Andernfalls musst Du den Code aus dem 
externen Speicher erstmal in einen internen Speicher kopieren, aus dem 
der Prozessor Befehle ausführen kann. Oder einen Befehlsinterpreter 
programmieren... oder oder oder... Alles recht hypothetisch

Autor: Hc Zimmerer (mizch)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Für eine brauchbare Beantwortung fehlen grundlegende Angaben, wie µC-Typ 
und verwendeter Compiler.

Autor: Ich (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
OK danke für die Info!

µC: LPC32x0
Compiler: GCC

Der genannteµC hat ein internes RAM von 256 kByte. Über ein 
angeschlossenes Flash kann über den Flash Controller der Programcode 
beim booten ins interne RAM geladen werden. Sehe ich das Richtig?

Kann der Programmcode größer sein als das interne RAM - so dass dies 
entsprechend nachgeladen werden kann?

Wie programmiere ich dan dieses externe Flash?

thx

Autor: Helmut Lenzen (helmi1)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich schrieb:
> er genannteµC hat ein internes RAM von 256 kByte. Über ein
> angeschlossenes Flash kann über den Flash Controller der Programcode
> beim booten ins interne RAM geladen werden. Sehe ich das Richtig?
>

In deinem Startupcode must du halt dafuer sorgen das das Programm ins 
interne RAM kopiert wird oder das Progamm im externen Flash ausfuehren.
beides geht.

> Kann der Programmcode größer sein als das interne RAM - so dass dies
> entsprechend nachgeladen werden kann?
>

Theoretisch ja. Aber dann must dein Compiler das aber auch 
unterstuetzten.
Verschiedene Programmteile liegen ja dann im RAM auf den gleichen 
Addressen.
Wie soll der Compiler das unterscheiden ?  Der Compiler muss dann 
Codebanking beherrschen.

> Wie programmiere ich dan dieses externe Flash?

In dem du dir eine Programmierroutine zum flashen des externen Flash 
schreibst und die bei Inbetriebnahme dir deinen Code in externe Flash 
schreibt.

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.