Forum: Digitale Signalverarbeitung / DSP / Machine Learning Open source Toolchain für DSP SDR Projekt


von JoB (Gast)


Lesenswert?

Hallo!

Mich würde interessieren, welche Erfahrungen von anderen bislang mit 
open source Toolchains für DSPs gemacht wurden.

Für die TI C6000 soll es ja inzwischen eine gcc-Implementierung geben. 
Wie schneidet die im Vergleich zum kostenlosen TI Compiler für die 
XDS100 Emulator ab? Gehe ich richtig davon aus, dass der Rest der 
Toolchain (Programmer, Debugger, ...) weiterhin nur in einer 
proprietären Version erhältlich ist?
Kennt jemand weiterführendes Material zum gcc-c6x Compiler? Aus dem 
linux-c6x Wiki, welches ich gefunden habe, werde ich nicht ganz schlau. 
Ich habe den Eindruck, dass dort in jedem Fall ein vollwertiges Linux 
auf den DSP gespielt wird. Ich dachte eher an eine 
Microkontroler-ähnliche Programmierung, also insbesondere ohne weitere 
Abstraktionsschicht.

Die andere hier oft genannte Alternative scheint der Blackfin zu sein. 
Wie sieht deren Leistung mit gcc Compiler aus? Ist die Toolchain 
einigermaßen benutzerfreundlich?

Was mich unter anderem bislang eher zum TI Produkt gelenkt hat, war 
deren Dokumentation/Marketingbabel, welches die Meinung vertrat, dass 
deren Compiler (in erster Linie natürlich der proprietäre) mit dem 
Pipeline Konzept der C6000er in 99% der Fälle besser zurechtkommt als 
ein Assemblerprogrammierer. Ich bin auch eher an der Leistung der 
Kombination C-Compiler/DSP interessiert, da ich mich eher weniger mit 
Handoptimierung herumschlagen möchte.

Für das SDR Projekt suche ich einen DSP, der Daten in der Größenordnung 
von 10Ms/s verarbeiten kann (FFT, Filterung, Demodulation, ...)
Weiß jemand, wie man die dafür benötigte Rechenkraft abschätzen kann?
Dies hängt sicher auch erheblich von der jeweiligen Implementation / zur 
Verfügung stehenden Bibliothek ab...

Über hilfreiche Antworten würde ich mich sehr freuen!

von fulfisk (Gast)


Lesenswert?

Hi,

>
> Die andere hier oft genannte Alternative scheint der Blackfin zu sein.
> Wie sieht deren Leistung mit gcc Compiler aus? Ist die Toolchain
> einigermaßen benutzerfreundlich?
>

Ich finde schon. Was nur nervt: Analog Devices behandelt die gcc-Sache 
erher stiefmütterlich und versucht tendentiell, ihre eher in Richtung 
'unsäglich' (meine persönl. Meinung) gehenden VDSP-Tools und teure 
Emulatoren zu verkaufen.
Gibt aber ein paar third parties, die da guten Support liefern.
Ich habe mit der GCC-Toolchain und einer Eclipse-Distribution gute 
Erfahrungen gemacht, bin aber wieder zurück zu reinen Makefiles und 
Entwicklung unter Linux.


> Was mich unter anderem bislang eher zum TI Produkt gelenkt hat, war
> deren Dokumentation/Marketingbabel, welches die Meinung vertrat, dass
> deren Compiler (in erster Linie natürlich der proprietäre) mit dem
> Pipeline Konzept der C6000er in 99% der Fälle besser zurechtkommt als
> ein Assemblerprogrammierer. Ich bin auch eher an der Leistung der
> Kombination C-Compiler/DSP interessiert, da ich mich eher weniger mit
> Handoptimierung herumschlagen möchte.
>

Ja, TI ist sicher gut darin, die Leistung ihrer Compiler zu verkaufen. 
Wenn es denn in der Praxis bloss so liefe..
Manche ganz spezielle Dinge klappen gut (eine komplexe Multiplikation 
wird erkannt), aber das mit den 99% würde ich als Marketingkäse 
bezeichnen.
Um eine clever designte DSP-Library kommt man eigentlich nie ganz rum. 
Das meiste liegt aber fertig vor..
Für SDR kommt man sicher mit den gängigen libdsp konsorten gut voran.
Ansonsten kriegt man auch in 1-3 Tagen ein paar spezifische Kernroutinen 
in Blackfin-Assembler (der recht gut lesbar ist) sehr effektiv zum 
Laufen.
Generell muss man halt etwas die Pipeline-Basics und Parallel-Ausführung 
studieren. Dito für den TI-DSP. Was mich an den etwas besseren TI-Chips 
immer gestört hat, ist die inhomogene Architektur (ARM und DSP). Das 
macht das Debugging eine echte Tortur.

> Für das SDR Projekt suche ich einen DSP, der Daten in der Größenordnung
> von 10Ms/s verarbeiten kann (FFT, Filterung, Demodulation, ...)
> Weiß jemand, wie man die dafür benötigte Rechenkraft abschätzen kann?
> Dies hängt sicher auch erheblich von der jeweiligen Implementation / zur
> Verfügung stehenden Bibliothek ab...
>

Für SDR gibt es zum Blackfin BF533 (etwsa in die Jahre gekommen) einige 
Referenzapplikationen. Am besten mal im ADI-Forum fragen..

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.