Я работаю над проектом DSP (фильтрация IIR) на цифровом сигнальном процессоре Analog Devices (BF706) с пакетом компиляторов, CrossCore Studio. У него есть несколько примеров для простых DSP, таких как фильтры FIR и IIR и библиотечные функции для него. Руководство по процессору описывает набор инструкций по сборке и не комментирует C.
Мой вопрос возникает из этого конкретного приложения, но я подумал, что есть лучшая практика, которой следуют разработчики DSP. Поэтому я сформулирую это в общем виде:
Что я понял из примеров, поставляемых с этим DSP, так это то, что если я хочу использовать схемы, предназначенные для приложений DSP, мне нужно программировать на ассемблере для непосредственного выполнения этих инструкций (например, умножение, сложение и т. Д.). Мой вопрос: Я просто программирую на C, не оптимизирует ли компилятор (который также поставляется компанией-производителем DSP) его для этого DSP и использует его возможности? Или мне действительно нужно писать подпрограммы DSP непосредственно в сборке?