mikrocontroller.net

Forum: Digitale Signalverarbeitung / DSP TMS320F2812 - Flash Zugriff


Autor: Andreas (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich steige gerade in ein Projekt ein, welches den TMS320F2812 mit Flash 
benutzt und versuche gerade zu verstehen wie ein Lese- und 
Schreibzugriff auf das Flash erfolgen soll. Zweck - Speicherung von 
Konfigurationsparametern. Bisher kannte ich dies so, dass hierfür ein 
externes EEPROM verwendet wird, welches einen Treiber, meißt I²C, 
benötigt. Das bedeutete dann, dass bei einem Lese- oder Schreibzugriff 
auf die Konfigurationsparameter eine entsprechende Funktion des Treibers 
augerufen wurde.
Nun wird eben das interne Flash des TMS320F2812 verwendet. Bisher konnte 
ich durch die Handbücher herausfinden, dass ich das Flash in 
verschiedene Power-States setzen kann und Programm Code etwa vom Flash 
oder RAM ausführen kann. Jedoch habe ich noch keinen Plan, wie ein 
Zugriff auf das Flash zur Laufzeit funktioniert. Ich weiß nur, dass es 
noch einen Pipeline Mode gibt, welches Lese- und Schreibzugriffe 
schneller macht.
Für Hinweise, Links oder womöglich Beispiel wäre ich sehr dankbar.

Autor: Andreas (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Einen Teil kann ich nun selbst beantworten. Ich habe nochmals in den 
Untiefen des Netzes weitergesucht.
Für Schreibzugriffe, wie Programmieren und löschen, muss die FLASH API 
von Texas Instruments verwendet werden. In diesem Fall von folgender 
Seite herunterladbar 
http://focus.ti.com/docs/toolsw/folders/print/sprc125.html
Jetzt sind noch zwei Fragen und weitere Frage offen.
1.) Wie erfolgen Lesezugriffe? Ist es womöglich ausreichend die Daten 
mit der API Funktion memcpy ins RAM kopieren?
2.) CRC Prüfung - Wenn der Programm Code im Flash liegt und die CRC 
geprüft werden soll, kann ganz normal mit Zeigern auf diesen Bereich 
zugegriffen werden?
3.) Zusatz zu 2.) CRC über Programm Code erstellen?

Autor: Dirk (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Andreas,

Du hast ganz richtig erkannt, dass Du zum schreiben des Flash die 
Flash-API benutzen musst. Leider ist die Integration derselben in eigene 
Applikationen nicht trivial. Mit einiger Einarbeitung jedoch sicher 
machbar.

Das Auslesen der Daten aus dem Flash ist ganz selbstverständlich über 
die Addresierung des entsprechenden Speicherraumes (der dann eben ins 
Flash zeigt) möglich. Ein Kopieren in das Ram ist nicht nötig.

Allerdings erscheint mir die Ablage von Konfigurationsdaten im Flash 
recht aufwändig, bzw. auch nicht sehr effizient. Es gilt beim 
TMS320F2812 zu beachten, dass der Flash-Speicher in Segmente aufgeteilt 
ist. Diese Segment können immer nur im Ganzen gelöcht und neu 
programmiet werden. Damit gehen beim kleinsten Segment des TMS auf jeden 
Fall 8k-Worte drauf, auch wenn man nur 5 Worte benötigt.

Wie gesagt, die Verwendung der Flash-API ist nicht ganz einfach und 
birgt auch einige Gefahren (versehentliches Beschreiben des 
Code-Security-Passworts). Wenn möglich würde ich also eher ein externes 
EEProm anschließen. Ist einfacher anzusteuern. Das ist dann bei 
kleineren Datenmengen auch deutlich schneller.

Gruß,

Dirk.

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.