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

关于CLA间接寻址的错误

使用的器件:TMS320F28377D

编程语言:汇编。

使用指令:MMOV32 MR2, *MAR0

经观察,MAR0装载的地址正确,即和要访问的数据的地址一致。

然而,执行此指令后,MR2的内容,总是不可预期的,也试着按手册上说的复杂形式的间接寻址,*MAR0[#imm16]++、*MAR0+[#imm16]形式,仍然得不到所要的结果。

注:MAR0中的地址,是LS3中的数据,并且已设置为CLA使用的数据区。

Susan Yang:

TX dong然而,执行此指令后,MR2的内容,总是不可预期的

请问能否详细说明一下结果?另外若是可以的话,请给出完整代码或工程,我们来测试一下,谢谢

TX dong:

回复 Susan Yang:

谢谢您的回复。

因为还在调试阶段,程序比较乱。给您相关部分的文件。

本来想用PWM触发CLA,但一直没有搞定,后来用定时器触发。task1那段运行不正常,又重新弄的任务2,请以任务2 为参考。

F28377D.rar

Susan Yang:

回复 TX dong:

应该是您未包含 #include "F2837xD_Cla_typedefs.h" 由于在两个内核上C28&CLA对int以及指针等的处理方式不同,所以我们为CLA创建了一个特殊的typedefs.h,一般命名为 “ <DeviceName> _Cla_typedefs.h”,并将其包含在DSP28x_Project.h头文件中,并以特定的顺序保存。如果您不使用标准标头,请确保包含顺序与controlSUITE/C2000ware中的内容保持一致 // Included Files // #include "F2837xD_Cla_typedefs.h" // F2837xD CLA Type definitions 需要放在首位 #include "F2837xD_device.h" // F2837xD Headerfile Include File #include "F2837xD_Examples.h" // F2837xD Examples Include File

Susan Yang:

回复 TX dong:

更多信息您可以参考 processors.wiki.ti.com/…/C2000_CLA_C_Compiler

TX dong:

回复 Susan Yang:

非常感谢回复。我试试。

TX dong:

回复 Susan Yang:

我在添加F2837xD_Cla_typedefs.h时,发现,原来的cla_shared.h文件中已经包含了这个头文件。是DSP2837xD_Project.h中包含的,
重新烧写后,现象依旧。

Susan Yang:

回复 TX dong:

谢谢您的反馈,请您私信一下您的整个工程,我来测试一下,谢谢

TX dong:

回复 Susan Yang:

已将完整的工程发给您了。

Susan Yang:

回复 TX dong:

好的,我会在明天测试后给您回复

Susan Yang:

回复 TX dong:

编译后显示 Description Resource Path Location Type #20 identifier "TB_DIV10" is undefined peripheral.c /AddaCPU1/usr line 555 C/C++ Problem 1  请问TB_DIV10是如何定义的?我在F2837xD_EPwm_defines.h中只找到 // // HSPCLKDIV and CLKDIV bits // #define TB_DIV1 0x0 #define TB_DIV2 0x1 #define TB_DIV4 0x2

2 请问您的.cla文件在哪个路径?

赞(0)
未经允许不得转载:TI中文支持网 » 关于CLA间接寻址的错误
分享到: 更多 (0)