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

TMS320F28377D: .cla计算用到的变量,每一个都需要定义位置吗?

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 – C2000Tm︎ 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 不能进行静态变量

赞(0)
未经允许不得转载:TI中文支持网 » TMS320F28377D: .cla计算用到的变量,每一个都需要定义位置吗?
分享到: 更多 (0)