Je travaille sur un projet DSP (filtrage IIR) sur un processeur de signal numérique Analog Devices (BF706) avec la suite de compilateurs qui l'accompagne, CrossCore Studio. Il a quelques exemples de trucs DSP simples comme les filtres FIR et IIR et les fonctions de bibliothèque pour cela. Le manuel du processeur décrit le jeu d'instructions d'assemblage et ne commente pas C.
Ma question découle de cette application particulière, mais je pensais que les développeurs DSP suivaient une bonne pratique. Je vais donc l'encadrer de manière générale:
Ce que j'ai réalisé avec les exemples fournis avec ce DSP, c'est que si je veux utiliser les circuits conçus pour les applications DSP, je dois programmer en assembleur pour exécuter directement ces instructions (comme multiplier et ajouter, etc.) Ma question est de savoir si Je viens de programmer en C, le compilateur (qui vient également de la société de puces DSP) ne l'optimiserait-il pas pour ce DSP et n'utiliserait-il pas ses capacités? Ou dois-je vraiment écrire des routines DSP directement dans l'assemblage?