SPI für Embedded Linux

Gast #205899
Lesenswert?
• ▲
▼
Hi,

mein Onkel hat mir ein Board mit einem ARM Prozessor geschenkt.

Auf dem Board läuft Embedded Linux.
Jetzt dachte ich mir, dass ich da ein MP3 Player draus mache.

Die MP3 Daten möchte ich über SPI an einen MAS schicken. Da ich noch
nicht sooo viel unter Linux gemacht habe wollte ich mal wissen, ob
jemand vielleicht ein Beispielprogramm hat, um den SPI Treiber der im
Embedded Linux integriert ist zu benutzen. Bzw. wo ich so ein Programm
finde.

Hat hier schon mal jemand den SPI über Embedded Linux angesteuert?

Für Hilfe und jede Info wäre ich dankbar ;-).

Viele Grüße

Johannes
Gast #205902
Lesenswert?
• ▲
▼
Also selbst machen geht nicht, dafür ist er glaub ich zu langsam, da er
keine floating Points unterstützt. Und einen Decoder ohne Floating
Points also nur mit Int ist nur sehr schwer (kommerziell) zu bekommen.
Habe mich da schon informiert.

Softfloat wäre natürlich möglich ist aber in meiner Toolchain nicht
implementiert und selbst eine zu bauen... Da drau ich mich nicht ran.

Falls natürlich hier einer einen Decoder kennt der nur Int verwendet,
dann her damit ;-)

Bei dem Board sind die Ausgänge des SPI nach ausen auf eine
Steckerleiste geführt, also anschließen kann ich es!

Viele Grüße und Danke für die Hilfe

Johannes
Gast #205907
Lesenswert?
• ▲
▼
da sagt deren hp was anderes ;)

<<<<<<<<<<<snip>>>>>>>>>>
MAD has the following special features:

24-bit PCM output
100% fixed-point (integer) computation
completely new implementation based on the ISO/IEC standards
available under the terms of the GNU General Public License (GPL)
<<<<<<<<<<<snip>>>>>>>>>>

73
Gast #205908
Lesenswert?
• ▲
▼
@Johannes:

Der MAD-Player kann wirklich reine INT werte.
Allerdings ist dieser nicht gerade gut kommentiert und auch nicht
sonderlich gut kommentiert.
Aber mit etwas Arbeit bekommt man es hin.

@Rest:

Ihr habt ja recht, aber die eigentliche Frage wurde bis jetzt nicht
beantwortet. Mich würde dies nämlich auch Interessieren, da ich ein
bald ein Projekt mit einem ARM anfange und da ich Daten messen soll
evtl auch die SPI Schnittstelle benötige!

Viele Grüße

Georg
Gast #205909
Lesenswert?
• ▲
▼
ich kann zwar nicht mit einem beispielcode dienen, glaube aber trotzdem
helfen zu können ;)


spi wird am arm wahrscheinlich wie beim avr über lustige register
anzusprechen sein... also brauchst du eigentlich ja nur auf diese
register zugreifen... also gibts 2 möglichkeiten:
=> entweder ein userland app, das auf die speicherstellen zugreift(wie
z.b paralellport zugriffe die nicht über fread udgl laufen)
=> oder einen netten kernel-hack, der dir funktionen für spi in den
userspace gibt

wie das mit driver im kernel ausschaut weis ich nicht..

direkte speicherzugriffe aus dem userland benötigen root
privilegien...

mir kommt aber vor, dass ich sowas schon irgendwo gesehen habe.. schau
dir doch mal einen uclinux port für einen pda an... die müssten die
sd-karten doch auch am spi hängen haben...

hoffe geholfen zu haben.... ich werd mir jetzt noch einen kaffee holn
und mich dann in den höhrsaal begeben ;)

73
Gast #205911
Lesenswert?
• ▲
▼
Vieles hängt davon ab, was für ein ARM es denn nun genau ist und was für
eine Linux-Variante denn auf diesem ARM läuft.

Hat der ARM beispielsweise keine MMU (was für ARM7-Varianten zutrifft),
dann treffen die Aussagen von Hans über Userland und Privilegien nicht
zu, da ohne MMU derartiges gar nicht überwacht werden kann. Obendrein
läuft dann wohl nur noch ucLinux oder ähnliches; ein "richtiges"
Linux braucht nämlich 'ne MMU.

@Georg:
"Wenn ich einen Treiber habe. Geht dann nicht sowas wie ein
Chipselect?"

Was meinst Du damit?
Gast #205912
Lesenswert?
• ▲
▼
Also ich werde wohl was mit eineme ARM9 machen (Atmel AT91RM9200)!

Es gibt wohl schon eine Studienarbeit die auf einem Demo-Board
embedded Linux aufgespielt hat. In diesem Linux soll ein Treiber für
die SPI Schnittstelle implementiert sein, soweit ich das der Doku
entnehme.

Für mich wäre jetzt interessant, wie ich von C auf den Treiber
zugreifen kann um Daten über die SSC Schnittstelle zu senden bzw. zu
empfangen.

Viele Grüße und Danke für die Hilfe

Georg

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren