[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.