Part Number: TMS320F28377D
我测试CLA任务时发现,当我调用含参数子函数时,CLA任务无法正常运行,总是有任务溢出,相关变量只更新一次。当把子函数改为内联函数时,可以正常运行。文档说CLA 编译器支持多个嵌套级别的函数调用。CLA 编译器还支持调用具有两个以上参数的函数。只是不支持递归调用,我这个子函数不是递归调用,为何不能正常运行。
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.
Part Number: TMS320F28377D
我测试CLA任务时发现,当我调用含参数子函数时,CLA任务无法正常运行,总是有任务溢出,相关变量只更新一次。当把子函数改为内联函数时,可以正常运行。文档说CLA 编译器支持多个嵌套级别的函数调用。CLA 编译器还支持调用具有两个以上参数的函数。只是不支持递归调用,我这个子函数不是递归调用,为何不能正常运行。
output attributes/
section page origin length input sections
-------- ---- ---------- ---------- ----------------
ramfuncs 0 00008000 00000000 UNINITIALIZED
.const_cla
* 0 00008800 00000000 UNINITIALIZED
.scratchpad
* 0 00008a78 0000011e UNINITIALIZED
00008a78 0000010a cla_task.obj (.scratchpad:Cla1Prog:_epwm_DSP_GY_TX_CLASubsystem)
是这里的Page0要改为Page1吗?
请问您知道这个问题吗
float a; float b; //... and so on
interrupt void Cla1Task1 (void)
{ //do stuff with a, b, ... and so on }
interrupt void Cla1Task8 (void)
{ a=0; b=0; //... and so on }
类似如此,我在.cal文件开头对变量进行定义,然后我只在task1和task8之间进行调用(task8的计算需要改变task1之间的调用)
请问我仅这样定义行吗 还需要单独对每个变量在.c文件中进行类似#pragma DATA_SECTION(IA,"Cla1ToCpuMsgRAM");)这种定义吗