[mad-dev] unable to compile dai.c/isr.c from lib7209 with arm-elf-gcc
Laurent Hoss
Laurent Hoss <hossl@student.ethz.ch>
Wed, 24 Jan 2001 19:15:32 +0100 (MET)
Hi Andrew
To understand our latest problem,I better tell you what we are doing !
Our project is to port and optimize an MP3 decoder to the cirrus EP7209.
Now you may think,why that, this has been done a long time ago !
You're right, but our prof. didn't want as to order a chip/board from a
different manufacturer because he (we) knew that it was the best one for this
job :)
For the MP3 decoding we chose the "MAD Decoder", a high Q, well structured &
optimized fixed-point open source-decoder:
<http://www.mars.org/home/rob/proj/mpeg/>
I installed redhat's ecos (RTOS which also supports the EDB72xx family) and
compiled the whole arm-elf toolchain (crosscompiler: cygwin/win9x -> arm).
After removing some unneeded ASYNC-features from libmad/decoder.c, the libmad
library (containing only MAD's MP3-decoder routines, no player) built
successfully for arm. Now we still need a minimal player which reads the
MP3-Stream from the EDB7209's NAND-Flash memory and sends the decoded PCM
samples to the DA.
That's where the problem occurs: We are not able to include dai.c (containing
the DA-wandler interface) from lib7209, because it depends on isr.c (interrupt
routines) which does NOT compile with arm-elf-gcc. Problems start at line 17
with a parse error at __swi(0x123456) which has someting to do with ANGEL.
I do not understand much there. Couldn't find that __swi in other source files
either.
Also the asm-file isrshell.S, was completely misinterpreted by gnu-as.
I hope there's still a possibility to build a simple player with DA output using
gcc/eCos.
Thank you for you help
Laurent.