TI中文支持网
TI专业的中文技术问题搜集分享网站

问一个DSP中格式转换的问题

controlsuit的例程中,电机控制程序中的电机运行参数是用宏来定义的,由于实际中要用外部按键或者上位机来实时改变电机参数的。其中有这样的一条语句却无法实现由常量到变量的转换,请看:

#define POLES   2

#define BASE_FREQ       60

se1.BaseRpm = 120*BASE_FREQ/POLES;

以上是controlsuit中的原来语句

当我想用一个变量来代替上面的宏时,编译出错:如下所示

const int16 polesnumber= g_iPara[59]; //极对数

 speed1.BaseRpm = 120*(BASE_FREQ/polesnumber );

se1.BaseRpm = 120*BASE_FREQ/polesnumber;

当进行第一条语句替换后进行编译时无问题

当进行到第二条编译后出现如下的怪问题:

错误提示是:Description Resource Path Location Type
<a href="file:/C:/ti/ccsv5/tools/compiler/dmed/HTML/10099.html">#10099-D</a>  program will not fit into available memory.  placement with alignment/blocking fails for section "IQmath" size 0x11f page 0.  Available memory ranges: FLASHA       size: 0x1f80       unused: 0x11f        max hole: 0x11e F28035_FLASH_HVACI_Sensorless.CMD /AC_sensorless0/cmd line 114 C/C++ Problem

这里是CMD文件的IQmath空间不够了。是不是问题出在:变量不能用这样的方式来乘/除啊?

我该怎么做?

赞(0)
未经允许不得转载:TI中文支持网 » 问一个DSP中格式转换的问题
分享到: 更多 (0)