[mad-dev] Crosscompiling for ARM - Zaurus
Dave
mad@newww.com
Tue, 01 Jul 2003 18:34:14 -0400 (EDT)
Hi I've Successfully compiled madplay and it's libs for
the Zaurus. Everything works. I used the following options
for configure:
CC=/usr/local/Embedix/tools/bin/arm-linux-gcc \
RANLIB=/usr/local/Embedix/tools/bin/arm-linux-ranlib \
./configure --host=arm-linux \
--enable-speed \
--enable-fpm=arm \
--libdir=/opt/Qtopia/sharp/lib \
--includedir=/opt/Qtopia/sharp/include
The playback sounds great. The only problem I've got is
occasionally "skipping" which I'm assuming are some sort of
buffering problem. The skips only occur when I run other apps
while playing an MP3. They occur more often if the MP3 file
is stored on an SD card or fetched from an SMB mounted file
system.
I haven't yet taken a good look at how madplay reads and buffers
the data. I originally built it with mmap. After thinking about
it - if my understanding of mmap is correct - it makes little
sense on a device like the Zaurus. I rebuilt madplay without
mmap (is the correct way to do this to edit config.h ?) and
the skipping remains. So it seems that mmap had little effect.
If mmap works on the Zaurus - when it's enabled madplay will
request to have the full MP3 file "mapped" into memory to avoid
disk reads while playing it (is this correct?). On the Zaurus,
the MP3 will already be stored in memory, and mmap would just
copy it from one chunk of memory to another. Perhaps this would
save the time it take to execute the filesystem code but it would
chew up memory on a limited device.
Buffering - I don't know how the buffering in madplay works. I
assume that buffering would be better for the Zaurus. Is madplay
meant to be a robust generic MP3 player or is just to demonstrate
how to use libmad?
Finally, are there any other config options I should try? I'm not
familiar with the ARM family of processors - I've noticed other
posts that specify a specific arm chip in the config options. How
about other options for libmad/madplay? Is there a way to get
configure to tell you the full list of options? I tried --help
but people here are mentioning options that aren't shown.
I'm impressed with the work thats been done on MAD - it compiled
and worked right out of the box and sounds great. The only trouble
I had was figuring out how to cross compile it, and those questions
were answered right here in other posts.
Thanks in advance for any help offered.
Dave
----------------------------------------------------------------
Dave Belser (mad@newww.com)