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.

F28M35 "Digital Power Library" DPL - need some Help

Other Parts Discussed in Thread: CONTROLSUITE

Hello everybody,
I try to integrate the DPL library in my project (F28M35H52C1). I am guided by the Digital Power Library V1.1 documentation and the Solarexplorer_PVInverter Project. 

I did that:

1. Create CCS Project
1.1 create main.h Headerfile


2. Add Include Options to Build -> C2000 Compiler

"C:\ti\controlSUITE\device_support\f28m35x\v207\F28M35x_headers\include"
"C:\ti\controlSUITE\device_support\f28m35x\v207\F28M35x_common\include"
"C:\ti\controlSUITE\libs\app_libs\digital_power\f28M35x_v1.1\include"
"C:\ti\controlSUITE\libs\app_libs\digital_power\f28M35x_v1.1\asm_macros"

3. add Headerfiles to main.c
#include "DPlib.h"
#include "main.h"


4. Copy Template "ProjectName-DPL-ISR.asm" from C:\ti\controlSUITE\development_kits\TemplateProjects\DPLibv3_4Template-F2803x

change Lien 12 .cdecls C,LIST,"PeripheralHeaderIncludes.h" to .cdecls C,LIST,"F28M35x_Device.h"
change Line 15 .cdecls C,NOLIST, "ProjectName-Settings.h" to .cdecls C,NOLIST, "main.h"

add this Liens
.include "PWMDRV_1ch.asm"
.include "PWMDRV_1ch_UpDwnCntCompl.asm"
.include "ADC1DRV_1ch.asm"
.include "MATH_EMAVG.asm"


in main.h add the following Lines

#define EPWMn_DPL_ISR 1 // for EPWM triggered ISR set as 1
#define ADC_DPL_ISR 0 // for ADC triggered ISR set as 1

#define EPWM1 0 // EPWM1 provides ISR trigger
#define EPWM2 0 // EPWM2 provides ISR trigger
#define EPWM3 1 // EPWM3 provides ISR trigger
#define EPWM4 0 // EPWM4 provides ISR trigger
#define EPWM5 0 // EPWM5 provides ISR trigger
#define EPWM6 0 // EPWM6 provides ISR trigger

When I build the project, I get some errors:


[E9999] pipeline write-read conflict detected main DPL ISR.asm line 82
# 10010 errors encountered during linking; "MyF28.out" not built
# 10234-D unresolved symbols remain
unresolved symbol _EPwm3Regs, first referenced in ./main-DPL-ISR.obj
unresolved symbol _PieCtrlRegs, first referenced in ./main-DPL-ISR.obj

that's the whole project:


6521.MyF28.zip

what is lacking in the project so that it can be built successfully.

  • Does somebody has any idea?!?
  • Lorei,

    There are two issues i found

    1. For C28x device you need to add F28M35x_GlobalVariableDefs.C and F28M35x_Headers_nonBioS.cmd, and a few other files, you can see the solar explorer example for reference.

    2. Next for the pipleline conflict , looks like we have an error  in the module which i will file a bug entry against, 

    here is the resolution with addition of one NOP

    PWMDRV_1ch.asm

    MOV16 @_EPwm:n:Regs.CMPA.half.CMPA,R1H ; CMPA = Duty * Period
    F32TOUI16 R1H,R0H
    NOP
    MOV16 @_EPwm:n:Regs.CMPB,R1H ; CMPB = Duty * Period