DSP

dsp调试-----2

2019-07-13 14:56发布

今天,终于彻底的移植成功了,现拿出一些时间,做一些总结,以后遇到问题也好解决。 1、16位dsp,默认整形数是16位int,所以要注意变量移位的时候,是否会溢出。 例如:1<<18就会溢出,要改成(long)1<<18; 2、GET一个新技能,  int16_t  fft_buf[PART_LEN4 + 16];
  int16_t *fft = (int16_t *) (((uintptr_t) fft_buf + 31) & ~31);
    或是int16_t *fft = (int16_t *) (((uintptr_t) fft_buf +15) & ~15); 可以起到ALIGN的作用,但是要注意,_buf[length+xx]中xx的大小,与& ~后面的大小有关, 也与数组的类型有关。 3、16位与16位整形乘积,默认是16位的,可能会存在溢出。
4、16位5509里面int是16位,long32位