Trying to use the MAD encoder on a SAM3S

Simon Preuß <[email protected]> Tue, 23 Jun 2015 21:04:08 +0200
Newsgroups gmane.comp.audio.mad.user
Message-ID <[email protected]>
Hello there,

I want to build a simple mp3 player. Because I have access to a SAM3S 
EK2 evaluation board and a SAM-ICE debugger I want to try and use the 
MAD encoder on a SAM3S (in order to later build my own board with a 
SAM3S and a proper 16 bit stereo audio DAC). Now while I do have some 
experience with programming the SAM3S using modules from the Atmel 
Software Framework, I have not used third party code before.

If anyone here would be so kind and share their expertise with me to 
help me get this show on the road, I would very much appreciate it! This 
is what (little) I got so far:

I have added all the MAD sources to my project (using Atmel Studio) and 
included the mad.h in my main source file. Looking through the sources, 
I noticed that in the mad.h, line 27 I should probably change FPM_INTEL 
to FPM_ARM. When I try to compile, I get an error in fixed.h saying that 
no FPM was defined. So I added

#ifndef FPM_ARM
#define FPM_ARM
#endif
#ifndef SIZEOF_INT
#define SIZEOF_INT 4
#endif

at the beginning of fixed.h (because after adding only the define for 
FPM_ARM, I got another error concerning SIZEOF_INT).

Now when I compile, I get a lot of errors in inimdct_l_arm.s, most of 
them  'lo register required'.

I have next to no experience with assembler programming so this leaves 
me with a large question mark over my head. What steps do I have to take 
to make the encoder available on my ARM?

I hope I am not trying something completely stupid and please excuse any 
ignorance on my part. If anyone out there would be willing to help me, 
that would be awesome!

Best regards,
Simon