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.
我在配置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++中对寄存器进行控制;如果不匹配则产生编译器错误。
所以现在我也不清楚是不是上述那段话描述的问题,如果是这种问题又应该怎么解决呢?