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
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.
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.
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 ...
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.
Hallo Benedik, betreibst Du den AIC im "Protected Mode"? ( DBGM auf 0x1 im AIC_DCR (Debug Control Register) ) Gruß Microman
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.