默认情况下,MSP DSP 库会检查目标器件的头文件,然后为支持 LEA 模块的 API 启用 LEA 模块。如果LEA 模块可用,则 API 会设置并启用 LEA 模块,然后在任何函数调用结束后禁用它。
要确定某函数是否使用 LEA 模块,请参阅《MSP DSP 库 API 指南》或这个参考均指明了每个 API 是否使用 LEA模块。
在使用 DSPLib API 之前,先完成以下步骤:
1. 指定输入和输出矢量,将矢量对齐以驻留在共享的 4KB LEA SRAM 内存中。
2. 为所选的一个或多个函数设置参数。
3. 调用所需的函数以执行该函数。
第一步,通过分配位置需要驻留在共享的 4KB LEA SRAM 内存中的数组,指定输入和输出内存位置。这可以通过使用 DSPLib 中提供的 DSPLIB_DATA 宏来实现。
例如,要为一个 256 点复数 FFT 分配内存,数据输入数组应包含 256 字的实值和 256 字的复值,共计 512 字(1024 字节)。
因此,将使用以下代码片段。
#define SAMPLES 256DSPLIB_DATA(input,MSP_ALIGN_CMPLX_FFT_Q15(SAMPLES))_q15 input[SAMPLES*2];MSP_ALIGN_CMPLX_FFT_Q15(SAMPLES) 是一个宏,有助于根据样本数自动计算 16 位复数 FFT 的对齐方式。
就如何正确对齐 MSP DSP 库中其他函数的数据。
在应用程序分配内存后,必须设置所选函数的参数。这些参数在不同函数之间可能不同,并在《MSP DSP库 API 指南》中进行了介绍。
在设置合适的参数后,调用所需的函数,然后库将处理剩余事项并返回结果。
|