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.

TMS320F28035: CLA

Part Number: TMS320F28035
Other Parts Discussed in Thread: C2000WARE, CONTROLSUITE

我在配置CLA的时候出现了以下问题:

Description Resource Path Location Type#838 unrecognized cregister name 'IER' .ccsproject /SYSTEM line 39, external location: F:\DCDC\BUCKBOOSTLLC\DSP\F2803x_headers\PeripheralHeaderIncludes.h C/C++ Problem

Description Resource Path Location Type#838 unrecognized cregister name 'IFR' .ccsproject /SYSTEM line 38, external location: F:\DCDC\BUCKBOOSTLLC\DSP\F2803x_headers\PeripheralHeaderIncludes.h C/C++ Problem

我索引到出问题的地方,发现该语句(extern cregister volatile unsigned int IFR)中的cregister未被识别;就如我字体颜色标注的一样;如果没问题的话应该是(extern cregister volatile unsigned int IFR;)。

我想问一下这个问题该怎么解决?我查了一下我的头文件,应该没有缺失头文件。

  • 你好,这两个具体是在哪里定义的?

    一般的例程里面没有类似“extern cregister volatile unsigned int IFR”的定义,include也只需要包含DSP28x_Project.h文件就可以了,你可以看一下例程:

    C:\ti\c2000\C2000Ware_4_01_00_00\device_support\f2803x\examples\c28\adc_soc

  • 你好,extern cregister volatile unsigned int IFR”这个语句出现在”DSP2803x_Device.h“这个TI提供的头文件例。正常来讲IER和IFR应该可以直接使用而不出现任何问题的。我在前面配置EPWM、ADC的时候都没有出现上述的问题,都可以直接使用IFR和IER。只是这次使用CLA的时候出现了这个问题,所以我现在也不太清楚问题具体出现在哪里。

  • 有没有对比过例程?比如:C:\ti\c2000\C2000Ware_4_01_00_00\device_support\f2803x\examples\cla\asin

    比如memcpy这部分是否有添加?

  • 我昨天又认真比对了一下我的程序,确实没发现我哪里配置的有问题?像基础的CLA的一些配置我都是参考官方的一些例程配置的。

    我又看了一下我的问题描述:

    subdir_rules.mk:23: recipe for target 'SYSTEM_1.obj' failed
    "F:/DCDC/BUCKBOOSTLLC/DSP/DSP2803x_headers/include/DSP2803x_Device.h", line 49: error #838: unrecognized cregister name 'IFR'
    "F:/DCDC/BUCKBOOSTLLC/DSP/DSP2803x_headers/include/DSP2803x_Device.h", line 50: error #838: unrecognized cregister name 'IER'
    2 errors detected in the compilation of "../SYSTEM_1.cla".

    我在网上查资料的时候看到这样一段话:使用cregister关键字,当我们定义的该类型的对象与C28x的标准的控制寄存器匹配时,编译器会自动产生相关的代码去控制对应的寄存器使得我们可以在高级编程语言C/C++中对寄存器进行控制;如果不匹配则产生编译器错误

    所以现在我也不清楚是不是上述那段话描述的问题,如果是这种问题又应该怎么解决呢?

     

  • 编译器文档里面有介绍这两个关键字,你可以看一下。

    然后我找到一个跟你相同的问题,不过也没有得到确切的可以解决的方案,你可以看一下:

    https://e2e.ti.com/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/377508/type-838-unrecognized-cregister-name-ier-ifr

    里面提到的是controlSUITE,不过目前controlSUITE已经不更新了,而是转到了C2000WARE上,我不知道你是基于哪个的,可以尝试更新一下软件版本。

  • 这个问题已经解决了,我今天尝试将我搭建的工程跟CCS放在了一个盘里,就不报错了。

  • 额,所以只是路径问题吗。感谢反馈哈!

x 出现错误。请重试或与管理员联系。