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.

TMS320F28035: CLA accessing EALLOW protected PWM registers

Part Number: TMS320F28035
Other Parts Discussed in Thread: C2000WARE, TIDM-1022

Hi TI experts,

I have been following TI examples for CLA in F28035. C2000ware does provide examples like sin and cos calculation in CLA.

(1) TIDM-1022 is a good example, but I cannot find the source code in C2000 digital power SDK. Where can I download the firmware for TIDM-1022? If not, any examples of CLA accessing registers, not just math calculation?

(2) how to access EALLOW protected PWM registers from CLA. It seems MEALLOW and MEDIS do not work here.

  • Hi Ivan,

    Below are the answers to your questions:

    (1) TIDM-1022 is a good example, but I cannot find the source code in C2000 digital power SDK. Where can I download the firmware for TIDM-1022? If not, any examples of CLA accessing registers, not just math calculation?

    We no longer actively support the TIDM-1022 reference design which is why it isn't included in the more recent releases of the digital power SDK. If you want to access it, you can download a version of the SDK v4.03.01 or older. There are also other examples in C2000ware of the CLA accessing peripheral registers, including one using CLA and ePWM in particular, in some of the newer device folders. You can reference the following example: [C2000ware install]/driverlib/f28004x/examples/cla/cla_ex5_pwm_control. This example is written using driverlib functions, so you would have to convert these to bitfield for the F28035. If you run into any issues using/converting this example code let me know.

    (2) how to access EALLOW protected PWM registers from CLA. It seems MEALLOW and MEDIS do not work here.

    Which registers are you referring to specifically? You should be able to put the MEALLOW/MEDIS instructions around the register write in order to access it. Are you trying to access this register using bitfield read/writes?

    Best Regards,

    Delaney

  • Keep in mind that in a CLA task, the compiler  __meallow(); and __medis(); must be used rather than MEALLOW; and MEDIS;.

    Best Regards,

    Delaney