Part Number:TMS320F28035Other 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;)。
我想问一下这个问题该怎么解决?我查了一下我的头文件,应该没有缺失头文件。
Green Deng:
你好,这两个具体是在哪里定义的?
一般的例程里面没有类似“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
,
wcx:
你好,“extern cregister volatile unsigned int IFR”这个语句出现在”DSP2803x_Device.h“这个TI提供的头文件例。正常来讲IER和IFR应该可以直接使用而不出现任何问题的。我在前面配置EPWM、ADC的时候都没有出现上述的问题,都可以直接使用IFR和IER。只是这次使用CLA的时候出现了这个问题,所以我现在也不太清楚问题具体出现在哪里。
,
Green Deng:
有没有对比过例程?比如:C:\ti\c2000\C2000Ware_4_01_00_00\device_support\f2803x\examples\cla\asin
比如memcpy这部分是否有添加?
,
wcx:
我昨天又认真比对了一下我的程序,确实没发现我哪里配置的有问题?像基础的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++中对寄存器进行控制;如果不匹配则产生编译器错误。
所以现在我也不清楚是不是上述那段话描述的问题,如果是这种问题又应该怎么解决呢?
,
Green Deng:
编译器文档里面有介绍这两个关键字,你可以看一下。
然后我找到一个跟你相同的问题,不过也没有得到确切的可以解决的方案,你可以看一下:
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上,我不知道你是基于哪个的,可以尝试更新一下软件版本。
,
wcx:
这个问题已经解决了,我今天尝试将我搭建的工程跟CCS放在了一个盘里,就不报错了。
,
Green Deng:
额,所以只是路径问题吗。感谢反馈哈!