www.mikrocontroller.net

Forum: Digitale Signalverarbeitung / DSP DSP 320F Variablen in Flash speichern


Autor: michi02 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich nutzen einen TI DSP320F
Hallo ,
zur Berechnung von komplexen FIR Filter benötige ich viele grosse 
Arrays. Deren Werte ich zur Laufzeit berechne. Kann ich diese mangels 
RAM speicher auch im Flash speicher speichern?

Zusammengefasst ist es möglich Variablen im Flash speicher zu speichern?

Hierfür müsste ich ja während des laufenden Programms den flash speicher 
oder einen teil des flash speichers neu beschreiben. Geht das?

wäre klasse wenn jemand hierzu mehr sagen kann.

Autor: Peter Diener (pdiener) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja, das Flash kann während dem Betrieb beschrieben werden. Wichtig ist 
dabei, dass das Flash während dieser Zeit nicht verfügbar ist, das 
Programm, das das Flash beschreibt muss daher aus dem Ram laufen. Das 
wiederum bedeutet, dass der entsprechende Programmteil speziell auf den 
Rambereich gelinkt worden sein muss (zur Compilezeit).

Außerdem solltest du bedenken, dass man Flashspeicher nicht beliebig oft 
beschreiben kann, nach etwa 10000 Schreibzyklen funktioniert er nicht 
mehr. Wenn das Beschreiben nur alle paar Tage mal passiert, ist das kein 
Problem, wenn sich die Koeffizienten aber oft zyklisch ändern, würde ich 
empfehlen, dass du einen Prozessor mit mehr oder externem Ram 
verwendest.

Grüße,

Peter

Autor: michi02 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke Peter,
das hört sich doch gut an. Kannst du mir noch sagen in welcher Doku das 
beschrieben steht kann das irgendwie nicht finden.


Danke

Autor: Peter Diener (pdiener) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Für den F2812 kannst du hier nachschauen:
http://focus.ti.com/lit/an/spraal3/spraal3.pdf

Kapitel 4 behandelt das Schreiben des Flash mit einem eigenen Programm, 
das am DSP läuft.

Das kann dir auch weiterhelfen:

http://focus.ti.com/lit/an/spraau8/spraau8.pdf

Das behandelt die entsprechend notwendigen Schritte im Compiler, damit 
dieser Code erzeugt, der später vom Flash ins Ram kopiert werden kann 
und dort ausgeführt wird. Das muss dann praktisch alles von deinem 
Programm sein, das die Koeffizienten letztendlich ins Flash schreibt, 
denn wie ich schon gesagt habe, darf dieser Programmteil nicht aus dem 
Flash laufen.

Ich hoffe, das hilft weiter.

Grüße,

Peter

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.