Estoy trabajando en un proyecto DSP (filtrado IIR) en un procesador de señales digitales Analog Devices (BF706) con el paquete de compiladores que viene con él, CrossCore Studio. Tiene algunos ejemplos para cosas DSP simples como filtros FIR y IIR y funciones de biblioteca para ello. El manual del procesador describe el conjunto de instrucciones de ensamblaje y no comenta sobre C.
MI pregunta surge de esta aplicación en particular, pero pensé que hay una mejor práctica que los desarrolladores de DSP siguen. Así que lo encuadraré de una manera general:
Lo que me he dado cuenta por los ejemplos que vienen con este DSP, es que si quiero usar los circuitos diseñados para aplicaciones DSP, necesito programar en ensamblaje para ejecutar directamente esas instrucciones (como multiplicar y agregar, etc.) Mi la pregunta es si simplemente programo en C, ¿no lo optimizaría el compilador (que también proviene de la compañía de chips DSP) para ese DSP y usaría sus capacidades? ¿O realmente necesito escribir rutinas DSP directamente en ensamblaje?