News Projekt: MP3/AAC-Player mit ARM-Mikrocontroller


von Andreas S. (andreas) (Admin) Benutzerseite


Lesenswert?

In dem Artikel "ARM MP3/AAC 
Player":http://www.mikrocontroller.net/articles/ARM_MP3/AAC_Player 
beschreibe ich den Bau eines Players für WAV, MP3 und AAC-Dateien. Der 
Unterschied zu den meisten anderen MP3-Player-Projekten ist, dass die 
Dekodierung der Audiodaten direkt auf dem Mikrocontroller stattfindet, 
ohne dass ein spezieller MP3-Decoderchip (wie z.B. der VS1001) nötig 
ist. Die Hardware basiert auf einem "AT91SAM7S256 Development 
Board":http://shop.mikrocontroller.net/csc_article_details.php?saArticle[ID]=75 
das hier im Shop erhältlich ist. Die Software ist Open Source.

!http://www.mikrocontroller.net/images/player-small.jpg 
!:http://www.mikrocontroller.net/articles/ARM_MP3/AAC_Player

von Benedikt K. (benedikt)


Angehängte Dateien:

Lesenswert?

Ich versuche gerade die Software auf einem AT91SAM7X256 zum laufen zu 
bekommen.
Ich habe zwar schonmal mit den ARMs von NXP gespielt, wirklich viele 
Erfahrungen mit ARMs habe ich aber nicht, da ich mehr bei den AVRs 
zuhause bin.
Ich denke ich müsste alle Pins usw. entsprechend angepasst haben. Der 
UART funktioniert: Wenn ich einen Text sende, kommt dieser auch am PC 
an. Nur sobald ein Interrupt eintritt, hängt sich alles auf (das sehe 
ich schön, dass nur ein Teil des Textes übertragen wird).
So wie es aussieht, springt er erst garnicht in die Interruptroutine 
rein.
Der bei mir einzige aktive Interrupt ist der PIT Interrupt in systime.c. 
Daher habe ich da einiges auskommentiert bzw. angepasst um den Fehler 
einkreisen zu können.
Nach meinem Wissensstand müsste alles OK sein, bzw. da die Software ja 
eigentlich fuktioniert, verstehe ich einfach nicht, was ich falsch 
mache.
Ich habe mal das gesamte Projekt angehängt, es wäre schön wenn mal 
jemand drüber schauen könnte (vor allem über die von mir angepasste 
AT91SAM7X256-ROM.ld), oder mir zumindest irgendeinen Tip geben könnte, 
was ich beachten muss. Ich bin langsam echt am Verzweifeln, da ich den 
Fehler nicht finde.

von Benedikt K. (benedikt)


Lesenswert?

Kennt sich denn niemand mit den ARMs von Atmel und dem GCC Compiler aus 
?
Wenigstens ein paar Tips, oder sonst was, womit ich den Fehler irgendwie 
einkreisen kann.

von Rene B. (themason) Benutzerseite


Lesenswert?

Hab zwar auch noch nicht allzuviel mit den arms gespielt, aber vllt. 
liegts am startup-code.
hatte mit meinem lpc auch so ein merkwürdiges verhalten.
habe den selben quellcode in zwei unterschiedlichen demos compiliert. 
mit dem einen klappte es, mit dem anderen hing der sich fürchterbar auf 
...

von Benedikt K. (benedikt)


Lesenswert?

Ja, das ist auch meine Vermutung. Daher ja die Bitte an jemanden der 
sich mit den ARMs auskennt, da mal drüberzuschauen ob ich alles richtig 
angepasst habe. Bzw. beim Startup Code habe ich nichts verändert, da ich 
hier keinen Unterschied zwischen den beiden ARMs finden konnte.

von Microman (Gast)


Lesenswert?

Hallo  Benedik,

betreibst Du den AIC im "Protected Mode"?
( DBGM auf 0x1 im AIC_DCR (Debug Control Register) )


Gruß Microman

von Benedikt K. (benedikt)


Lesenswert?

Ehrlich gesagt habe ich keine Ahnung. Ich versuche die Software nur an 
einen anderen ARM anzupassen (AT91SAM7S256 -> AT91SAM7X256), den Rest 
habe ich versucht nicht zu verändern.

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.