> Kennt jemand weitere solche "deals"?
Wirf einen Blick auf die SH7262 oder SH7264 von Renesas. Das sind zwar
im eigentlichen Sinne keine DSPs aber sie sind schnell genug fuer Audio
und haben jede Menge Spezialkram integriert. (I2S, SPDIF, MAC, DMA,
Samplerratenwandler, ordentlich Ram, Fliesskomma)
Die Originalsoftware von Renesas ist auf 256kByte Codegroesse
beschraenkt. Wenn das nicht reichen sollte dann gibt es auch einen gcc!
Hier mal als Anregung das Makro fuer libmad...
/* 9Takte (x*y)>>28 */
#define mad_f_mul(x, y) ({ signed long __dummy; signed long __result;\
asm ( \
"dmuls.l %2, %3\n\t" /* 64Bit mult */ \
"mov #228,%1\n\t" /* 28bit shift */ \
"sts macl, %0\n\t" /* low 32bit */ \
\
"shad %1,%0\n\t" /* shiften */ \
"sts mach, %1\n\t" /* high 32bit */ \
\
"shll2 %1\n\t" /* 4bit shift */ \
"shll2 %1\n\t" \
"add %0,%1\n\t" /* 32bit basteln*/ \
\
: "=&r" (__dummy), "=r" (__result) \
: "%r" (x), "r" (y) \
: "cc" \
); \
__result; \
})
Damit spielt der Microcontrller 320kbit MP3 von SD-Karte mit
Softwaredecodierung ab...
Olaf