Part Number:TMS320F28377D
只在cla计算内部使用的变量,而不需要在cpu和cla之间调用的变量,还需要类似这种(#pragma DATA_SECTION(IA,"Cla1ToCpuMsgRAM");)的定义位置吗,能像.c文件中 直接定义吗?
Jim:
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");)这种定义吗
,
Jim:
CLA static task variables – C2000 microcontrollers forum – C2000︎ microcontrollers – TI E2E support forums
按着这篇文章说可以,但是我操作后报错CLA does not support initialization of global, static or aggregate variables;仍提示cla不能进行定义静态变量
,
Ben Qin:
Jim said:还需要类似这种(#pragma DATA_SECTION(IA,"Cla1ToCpuMsgRAM");)的定义位置吗,能像.c文件中 直接定义吗?
可以的。但只能是局部变量。
,
Ben Qin:
CLA static task variables – C2000 microcontrollers forum – C2000︎ microcontrollers – TI E2E support forums
你可以按照上面的链接中的方法尝试一下。
,
Jim:
我就是之前按这篇方法来的
,
Ben Qin:
是的,你可以参考它的方法,但并不能保证成功。
CLA中是可以定义局部变量的,此时不需要类似#pragma DATA_SECTION(IA,"Cla1ToCpuMsgRAM");的语句。在CPU和CLA需要共享数据时才会用到这种语句。
,
Jim:
.scratchpad : > RAMLS1, PAGE = 1 .bss_cla : > RAMLS1, PAGE = 1 .const_cla : > RAMLS1, PAGE = 1
按着那篇文章并参照相关例程里的cmd文件进行了定义 但仍是提示不可以 CLA does not support initialization of global, static or aggregate variables 不能进行静态变量