[sdiy] was how_you_got_started...
Tom Wiltshire
tom at electricdruid.net
Sat Sep 26 10:27:48 CEST 2015
+1 Agree with Scott and Jay. I've had the same experience.
I like assembler, especially on dsPIC, and I find C a pain in the neck. Header files! What are they good for?!? Ack!
On 26 Sep 2015, at 03:31, Scott Gravenhorst <music.maker at gte.net> wrote:
> "Jay Schwichtenberg" <jays at aracnet.com> wrote:
> >A lot depends on the DSP you are using. If you are using a higher end >DSP that has pipe lines and multiple ALUs then using the C compiler >will get you the best performance unless you're some sort of uber >programmer. There are way too many things going on in those processors >to keep track of and the compilers have been optimized to handle that >stuff. But for the smaller DSPs like the MicroChip ones assembly
> >language is the way to go if you really want the performance.
> >
> >Jay S.
>
> Yes, I found this to be true by doing it. I've been able to write a nice additive flute model monosynth for dsPIC33F in C, but my best efforts at polysynths are in assembly language. The main issue for me is the fact that there is no native data type support for 16 bit fixed point arithmetic. Worse yet is that sometimes designs need more than one definition for 16 bit fixed point. Usually 1.15 works, but there are times other configurations are necessary. This is rather difficult and at least ugly in C even using typedef etc. Just ugly. And in C I had to write several functions in assembly language anyway that handle the use of DSP instructions because they are not used by the C compiler even if it's logical to do so. At least in my experience... can anyone tell me how to make an FIR filter in C30 that uses the MAC instruction... ??
>
> Anyway, what Jay said about assembly language being the way to go.
>
> --Scott G
>
> _______________________________________________
> Synth-diy mailing list
> Synth-diy at dropmix.xs4all.nl
> http://dropmix.xs4all.nl/mailman/listinfo/synth-diy
More information about the Synth-diy
mailing list