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.

TMDXDOCK28377D - CCS - Compiler ERROR - F28377D

Other Parts Discussed in Thread: CONTROLSUITE

Hi all,

After compiling the example project “adc_soc_epwm_cpu01”, the program waits in a while loop until a variable changes it´s value from an interrupt routine. The problem is that the  ASM generated code, seems to be worng, and the compared value isn´t the Varible itselft, but a register value AL.

Could you check it if there is a problem with the compiler? May be with the options of the compiler?

Find here below the code and the ASM lines:

Thanks

 controlSUITE: demo adc_soc_epwm_cpu01

main():
while(!bufferFull);

bufferFull = 0; //clear the buffer full flag

 

-**************************************************************

 

.dwpsn        file "C:/ti/controlSUITE/device_support/F2837xD/v150/F2837xD_examples_Cpu1/adc_soc_epwm/cpu01/adc_soc_epwm_cpu01.c",line 113,column 12,is_stmt,isa 0
;----------------------------------------------------------------------
; 113 | while(!bufferFull);                                                    
;----------------------------------------------------------------------
        MOVW      DP,#_bufferFull       ; [CPU_U]
        MOV       AL,@_bufferFull       ; [CPU_] |113
        BF        $C$L5,NEQ             ; [CPU_] |113|
        ; branchcc occurs ; [] |113|
$C$L4:    
        CMPB      AL,#0                 ; [CPU_] |113|                         // AL is checked. Should be @_bufferFull
        BF        $C$L4,EQ              ; [CPU_] |113|                         //
        ; branchcc occurs ; [] |113|
$C$L5:    
.dwpsn        file "C:/ti/controlSUITE/device_support/F2837xD/v150/F2837xD_examples_Cpu1/adc_soc_epwm/cpu01/adc_soc_epwm_cpu01.c",line 114,column 6,is_stmt,isa 0
;----------------------------------------------------------------------
; 114 | bufferFull = 0; //clear the buffer full flag                          
; 116 | //stop ePWM                                                            
;----------------------------------------------------------------------
        MOVW      DP,#_bufferFull       ; [CPU_U]
        MOV       @_bufferFull,#0       ; [CPU_] |114|