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

28377D的混合汇编例子编译通不过,很困扰

我将controlSUITE中的28377D的工程例子导到CCS6.1中编译,通不过,我试了下另外的一个程序,可以通过.

报错信息如下:

'Building file: C:/ti/controlSUITE/device_support/F2837xD/v120/F2837xD_examples_Cpu1/cla_adc_fir32/cpu01/fir32.asm'
'Invoking: C2000 Compiler'
"C:/ti/ccsv6/tools/compiler/ti-cgt-c2000_6.4.2/bin/cl2000" -v28 -ml -mt –cla_support=cla1 –float_support=fpu32 –tmu_support=tmu0 –vcu_support=vcu2 –include_path="C:/ti/ccsv6/tools/compiler/ti-cgt-c2000_6.4.2/include" –include_path="C:/ti/controlSUITE/device_support/F2837xD/v120/F2837xD_headers/include" –include_path="C:/ti/controlSUITE/device_support/F2837xD/v120/F2837xD_common/include" –include_path="C:/ti/controlSUITE/device_support/F2837xD/v120/F2837xD_examples_Cpu1/cla_adc_fir32/cpu01/" -g –define=CPU1 –diag_warning=225 –display_error_number –diag_suppress=10063 –diag_suppress=10068 –diag_suppress=1311 –diag_wrap=off –preproc_with_compile –preproc_dependency="fir32.pp"  "C:/ti/controlSUITE/device_support/F2837xD/v120/F2837xD_examples_Cpu1/cla_adc_fir32/cpu01/fir32.asm"
1 Assembly Error, No Assembly Warnings
"C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\003004", ERROR!   at line 3013: [E0800] Instructions not permitted in structure/union definitions

 RPC            .bits 16             ; bit field, 16 bits, 16 bit offset
>> Compilation failure

Errors in Source – Assembler Aborted
gmake: *** [fir32.obj] Error 1
gmake: Target `all' not remade because of errors.

**** Build Finished ****

说是一个指令错误(就是CLA定义中的一个寄存器UNION),但是我程序里根本没有操作过这个位置啊….到底是什么原因….程序见附件,就是TI的原版程序.

WEI LIU35:

回复 Gavin J:

非常感谢!!我更新了下后就好了;我还想问下,之前那个编译错误,指出了某一行有问题,但是我根本不知道它指的是哪个文件里的这一行;请问这个文件我怎么找到它?还是只是一个临时文件,我没法看到它?还有问几个其它的问题,我怎么下载到最新库文件的说明?controlSUITE中有个LIBRARY文件夹,是不是这个就是全部了,还有没有其它的库可以下载到,比如那个本征函数库?(intrinsic),是在哪里下到?另外怎么指定函数在哪个运算单元执行CPU/FPU/VCU/TMU,直接调库函数么?

我将controlSUITE中的28377D的工程例子导到CCS6.1中编译,通不过,我试了下另外的一个程序,可以通过.

报错信息如下:

'Building file: C:/ti/controlSUITE/device_support/F2837xD/v120/F2837xD_examples_Cpu1/cla_adc_fir32/cpu01/fir32.asm'
'Invoking: C2000 Compiler'
"C:/ti/ccsv6/tools/compiler/ti-cgt-c2000_6.4.2/bin/cl2000" -v28 -ml -mt –cla_support=cla1 –float_support=fpu32 –tmu_support=tmu0 –vcu_support=vcu2 –include_path="C:/ti/ccsv6/tools/compiler/ti-cgt-c2000_6.4.2/include" –include_path="C:/ti/controlSUITE/device_support/F2837xD/v120/F2837xD_headers/include" –include_path="C:/ti/controlSUITE/device_support/F2837xD/v120/F2837xD_common/include" –include_path="C:/ti/controlSUITE/device_support/F2837xD/v120/F2837xD_examples_Cpu1/cla_adc_fir32/cpu01/" -g –define=CPU1 –diag_warning=225 –display_error_number –diag_suppress=10063 –diag_suppress=10068 –diag_suppress=1311 –diag_wrap=off –preproc_with_compile –preproc_dependency="fir32.pp"  "C:/ti/controlSUITE/device_support/F2837xD/v120/F2837xD_examples_Cpu1/cla_adc_fir32/cpu01/fir32.asm"
1 Assembly Error, No Assembly Warnings
"C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\003004", ERROR!   at line 3013: [E0800] Instructions not permitted in structure/union definitions

 RPC            .bits 16             ; bit field, 16 bits, 16 bit offset
>> Compilation failure

Errors in Source – Assembler Aborted
gmake: *** [fir32.obj] Error 1
gmake: Target `all' not remade because of errors.

**** Build Finished ****

说是一个指令错误(就是CLA定义中的一个寄存器UNION),但是我程序里根本没有操作过这个位置啊….到底是什么原因….程序见附件,就是TI的原版程序.

Gavin J:

回复 WEI LIU35:

1. 是的。C:\ti\controlSUITE\libs里面包含了所有的库。每个库里面都有有个doc文件夹,里面有库的说明及用法,例如:《controlSUITE_C28x_FPU_FastRTS.pdf》 就在 C:\ti\controlSUITE\libs\math\FPUfastRTS\V100\doc;

2. 你说的本征函数,是否可以举个例子? 很多都在编译器手册《TMS320C28x Optimizing C/C++ Compiler》里面找到:http://www.ti.com/lit/ug/spru514i/spru514i.pdf 

3. FPU/ VCU/TMU等的使用方法,可以对比我们的例程。另外,在对应的库中也有对应的使用方法,例如:FPU的《FPU-SW-LIB-UG.pdf》在C:\ti\controlSUITE\libs\dsp\FPU\v1_50_00_00\doc

赞(0)
未经允许不得转载:TI中文支持网 » 28377D的混合汇编例子编译通不过,很困扰
分享到: 更多 (0)