TI论坛
直播中

陈亮

7年用户 213经验值
私信 关注

请问28377D的混合汇编例子编译通不过是为什么?如何解决?

本帖最后由 一只耳朵怪 于 2018-6-14 09:57 编辑

我将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~1ADMINI~1LOCALS~1Temp03004", 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的原版程序.

回帖(3)

魏茂娜

2018-6-14 06:31:37
你的ControSUITE版本比较旧(F2837xD/v120),建议升级下。我这边F2837XD的例程已经到了V180了。我刚刚试了下,编译通过,没错误的。
'Building file: C:/ti/controlSUITE/device_support/F2837xD/v180/F2837xD_examples_Cpu1/cla_adc_fir32/cpu01/fir32.asm'
'Invoking: C2000 Compiler'
"C:/ti/ccsv6_1/ccsv6/tools/compiler/ti-cgt-c2000_6.4.2/bin/cl2000" -v28 -ml -mt --cla_support=cla1 --float_support=fpu32 --tmu_support=tmu0 --include_path="C:/ti/ccsv6_1/ccsv6/tools/compiler/ti-cgt-c2000_6.4.2/include" --include_path="C:/ti/controlSUITE/device_support/F2837xD/v180/F2837xD_headers/include" --include_path="C:/ti/controlSUITE/device_support/F2837xD/v180/F2837xD_common/include" --include_path="C:/ti/controlSUITE/device_support/F2837xD/v180/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/v180/F2837xD_examples_Cpu1/cla_adc_fir32/cpu01/fir32.asm"
'Finished building: C:/ti/controlSUITE/device_support/F2837xD/v180/F2837xD_examples_Cpu1/cla_adc_fir32/cpu01/fir32.asm'
' '
'Building target: cla_adc_fir32_cpu01.out'
'Invoking: C2000 Linker'
"C:/ti/ccsv6_1/ccsv6/tools/compiler/ti-cgt-c2000_6.4.2/bin/cl2000" -v28 -ml -mt --cla_support=cla1 --float_support=fpu32 --tmu_support=tmu0 -g --define=CPU1 --diag_warning=225 --display_error_number --diag_suppress=10063 --diag_suppress=10068 --diag_suppress=1311 --diag_wrap=off -z -m"cla_adc_fir32_cpu01.map" --stack_size=0x100 --warn_sections -i"C:/ti/ccsv6_1/ccsv6/tools/compiler/ti-cgt-c2000_6.4.2/lib" -i"C:/ti/ccsv6_1/ccsv6/tools/compiler/ti-cgt-c2000_6.4.2/include" -i"C:/ti/controlSUITE/device_support/F2837xD/v180/F2837xD_common/cmd" -i"C:/ti/controlSUITE/device_support/F2837xD/v180/F2837xD_headers/cmd" --reread_libs --display_error_number --xml_link_info="cla_adc_fir32_cpu01_linkInfo.xml" --rom_model -o "cla_adc_fir32_cpu01.out" "./F2837xD_Adc.obj" "./F2837xD_CodeStartBranch.obj" "./F2837xD_DefaultISR.obj" "./F2837xD_EPwm.obj" "./F2837xD_GlobalVariableDefs.obj" "./F2837xD_Gpio.obj" "./F2837xD_Ipc.obj" "./F2837xD_PieCtrl.obj" "./F2837xD_PieVect.obj" "./F2837xD_SysCtrl.obj" "./F2837xD_usDelay.obj" "./cla_adc_fir32_cpu01.obj" "./fir32.obj" -l"libc.a" -l"rts2800_fpu32.lib" -l"2837xD_RAM_CLA_lnk_cpu1.cmd" -l"F2837xD_Headers_nonBIOS_cpu1.cmd"

'Finished building target: cla_adc_fir32_cpu01.out'
' '
**** Build Finished ****
举报

陈亮

2018-6-14 06:48:14
引用: leyun 发表于 2018-6-14 06:31
你的ControSUITE版本比较旧(F2837xD/v120),建议升级下。我这边F2837XD的例程已经到了V180了。我刚刚试了下,编译通过,没错误的。
'Building file: C:/ti/controlSUITE/device_support/F2837xD/v180/F2837xD_examples_Cpu1/cla_adc_fir32/cpu01/fir32.asm'
'Invoking: C2000 Compiler'

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

魏茂娜

2018-6-14 07:02:42
引用: cmh19 发表于 2018-6-14 06:48
非常感谢!!我更新了下后就好了;我还想问下,之前那个编译错误,指出了某一行有问题,但是我根本不知道它指的是哪个文件里的这一行;请问这个文件我怎么找到它?还是只是一个临时文件,我没法看到它?还有问几个其它的问题,我怎么下载到最新库文件的说明?controlSUITE中有个LIBRARY文件夹,是不是这个就是全部了,还有没有其它的库可 ...

1. 是的。C:ticontrolSUITElibs里面包含了所有的库。每个库里面都有有个doc文件夹,里面有库的说明及用法,例如:《controlSUITE_C28x_FPU_FastRTS.pdf》 就在 C:ticontrolSUITElibsmathFPUfastRTSV100doc;
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:ticontrolSUITElibsdspFPUv1_50_00_00doc
举报

更多回帖

发帖
×
20
完善资料,
赚取积分