工具/软件:TI C/C++编译器
您好!
我正在尝试编写一些针对 C5517的测试代码、并希望使用针对 IER0寄存器的 cregister 定义。
设置我的 CCS 工程后、它会显示-v5515的处理器设置。 我尝试将其设置为5517、但它不被接受。 然后我尝试了一段时间来确定哪些-v 选项是可以接受的、但在任何文档中都找不到它(我查看了所有内容)。 然后、我在"CCS 编译器设置"对话框中意外地看到一条注释、即如果您键入列表而不是值、则标题栏中会显示一个列表、这一点很不直观。 我发现我可以使用-vCPU:3.3。 IMO 这个整个 CPU/芯片修订输入编译器令人困惑、就像检查一样。
无论如何、我尝试设置正确的-VCORE 版本的真正原因是我正在使用 c55x.h 并尝试使用针对 IER0寄存器的 cregister 定义。
在 c55x.h 中、您有...
#ifdef __TMS320C55x_plus__
extern __cregister volatile unsigned long IER;
extern __cregister volatile unsigned int IER0;
extern __cregister volatile unsigned int IER1;
extern __cregister volatile unsigned long DBIER;
extern __cregister volatile unsigned int DBIER0;
extern __cregister volatile unsigned int DBIER1;
extern __cregister volatile unsigned int IVPD;
extern __cregister volatile unsigned int st0;
extern __cregister volatile unsigned int ST1;
extern __cregister volatile unsigned int ST2;
extern __cregister volatile unsigned int ST3;
extern __cregister volatile unsigned long XSP;
extern __cregister volatile unsigned long XSSP;
extern __cregister volatile unsigned long RETA;
extern __cregister volatile unsigned long IFR;
extern __cregister volatile unsigned int IFR0;
extern __cregister volatile unsigned int IFR1;
extern __cregister volatile unsigned int BER;
extern __cregister volatile unsigned int BIOS;
extern __cregister const volatile unsigned int IIR;
extern __cregister const unsigned int CPUCFG;
extern __cregister const unsigned int CPUREV;
#endif
因此、为了定义这些 cregister 定义、必须定义符号__TMS320C55x_plus__。 我尝试在代码中自行定义它、但编译器对此抱怨
这是我的 C 代码。 我复制/粘贴了 cregister 定义、因此我不必定义__TMS320C55x_plus__。 与我定义它并包含 C55x.h 相同的最终结果
//#include
extern __cregister volatile unsigned int IER0;
int main (空)
{
IER0 = 0x00000001;
返回0;
}
****为项目 c5517evm 构建配置调试****
"C:\\ti\\ccs910\\ccs\\utils\\bin\\gmake"-k -j 12 all -O
编译文件:"../main.c"
调用:C5500编译器
"c:/ti/ccs910/ccs/tools/compiler/c5500_4.4.1/bin/cl55 "-vCPU:3.3 --memory_model=large -g --include_path="C:/UserData/Projects/ADC36xx/CCSv9_Workspace/c5517evm --include_path="C:/ti/ccs910/ccs/tools/compiler/c5500_4.4.1/include --define=c5517 --display_error_number --diag_warning=225 --ptrdiff_size=16 -k --preproc_with_raus-"-preproc_compilit_main.c"。
>>编译失败
subdir_rules.mk:9:目标'main.obj'的配方失败
"./main.c"、第5行:错误#838:无法识别 cregister 名称'IER0'
"./main.c"、第5行:错误#658-D:此声明不允许使用修饰符"cregister"
2在编译"./main.c"时检测到错误。
gmake:***[main.obj]错误1.
gmake:目标"全部"不会由于错误而重新生成。
****构建完成****
那么、我的问题是、如何使用 cregister 定义? 我厌倦了使用-vcore:3.3、但这不起作用
谢谢