This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] CCS/TMS320F2.8377万S:TMS320F2.8377万S

Guru**** 2483995 points
Other Parts Discussed in Thread: CONTROLSUITE

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/588878/ccs-tms320f28377s-tms320f28377s

部件号:TMS320F2.8377万S
主题:controlSUITE中讨论的其他部件

工具/软件:Code Composer Studio

大家好,我想使用IQmath库来生成正弦LUT。 我将此行添加到我的代码中

#include "IQmathLib.h"

#pragma data_section(sine_table,"IQmathTables");

_iq30正弦表[512];

我在以下中断例程中使用它

__interrupt void epwm2_isr (void)

      静态无符号int索引=0;

   //

   //更新CMPA和CMBB值

   //

      EPwm2Regs.CMPA.bit.CMPA = EPwm2Regs.TBPRD -      _IQsat (_IQ30pumpy (sin_table[index]+_IQ30 (0.9999))/2,EPwm2Regs.TBPRD),

                   EPwm2Regs.TBPRD,0);

      如果(index++>511)索引=0;

   //

   //清除此计时器的INT标志

   //

   EPwm2Regs.ETCLR.bit.INT = 1;

 

   //

   //确认此中断以接收来自组3的更多中断

   //

   PieCtrlRegs.PIEACG.ALL = PIEACK_Group3;

}

我可以编译和加载芯片。 但是,如果在调试会话期间查看正弦表变量,则所有寄存器都是0,在编译期间,我会看到以下警告:

#1.0247万-D创建输出部分"IQmathTables"而不包含部分     ePWM_CHECK_max                                     C/C++问题

请您建议如何使用部分。

谢谢Vadim

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    请建议如何使用sections。

    如果在controlSUITE中查找,则有链接器命令文件示例,这些文件在 闪存或RAM中具有IQmathTables的sections条目。 例如,请参阅以下文件:

    C:\ti\controlSUITE\DEVICE_SUPPORT\F2837xS\V210\F2837xS_COMMON \cmd\2837xS_FLASH_IQMatH_lnk_CPU12837 \cmd\2837xS_FLASH_IQMatH_lnk_CPU1.2837.cmd

    C:\ti\controlSUITE\DEVICE_SUPPORT\F2837xS\V210\F2837xS_COMMON \cmd\2837xS_RAM_IQMatH_lnk_CPU12837 \cmd\2837xS_RAM_IQMatH_lnk_CPU1.2837.cmd

     链接器命令文件初版 Wiki页面也可能很有帮助。