www.mikrocontroller.net

Forum: Digitale Signalverarbeitung / DSP Optimierung und Verteilung des C-Codes


Autor: YouJin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi alle,

Ich versuche gerade den C-Code, den ich in CCS 3.3 geschrieben habe zu 
optimieren und verschiedene Caches der DSP zu nutzen. Ich tu mir da 
jedoch ein bisschen schwer mit.
Ich arbeite mit einem TI TMS320C6747. Dieser besitzt 2 x 32K L1, 256K L2 
und 128K Shared RAM. Bisslang habe ich den Code komplett in L2 geladen. 
Soweit funktioniert alles. Nun habe ich versucht ein paar Arrays auf L1 
zu bringen und schon funktionierte der Code nicht mehr. Ein Beispiel:

Vorher:

float *SIGNAL = (float *)0x11800000;

Nachher:

float *SIGNAL = (float *)0x11F00000;

L1 wird sonst niergens benutzt. Kann mir einer vlt. erklaeren, warum das 
so nicht mehr funktioniert.
Auch wenn ich den Compiler die Speichereinteilung ueberlasse, also ein 
fest definierten Array mit Pointer mache funktioniert es nich, z.B:

float SIGNAL[512];
float *SIGNAL_Z = SIGNAL;

Jedenfalls wollte ich mal einen grundsaetzlichen Ansatzt der 
Speichereinteilung von euch hoeren und wie man das am Besten macht. Im 
Linker definiert man ja die SECTIONS. Wie man in ASM den Code in 
Speicher aufteilt weiss ich, aber wie macht man das in C (in CCS)? z.B. 
kann die ganze Boardinitialisation vom L2 starten, aber die main 
Funktion soll vom L1 (L1P) starten. Damit laeuft der Code schneller, 
richtig?
Das gilt genauso fuer meine Arrays, z.B. sollen einige auf L1D plaziert 
werden.
Ist es grundsaetzlich ratsam und besser (schneller) wenn man den Code 
und Arrays aufteilt in verschiedene Caches? Und wie macht man das am 
besten.

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.