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.

TMS320F28379D: TMS320F2837xD cputimer_regs structure inconsistency

Part Number: TMS320F28379D
Other Parts Discussed in Thread: C2000WARE

I have been working with the TMS320F2837xD for a couple months.  I'm using the C2000Ware v 4.02.00.00 with CCS v12.10.

I have a test application based on the LED blink demo.  So far, I've been able to generate replacement code based on the reference manual.

I've run into a weird situation concerning the CPU Timer structures.  The CPU Timer code I've generated crashes.  The equivalent TI code works.

Digging into the issue, I found the CPUTIMER_REGS structure (in F2837xD_cputimer.h) distributed with C2000Ware does not match the Reference Manual (TMS320F2837xD Dual-Core Microcontrollers, SPRUHM8I).

From the F2837xD_cputimer.h

struct CPUTIMER_REGS {
union TIM_REG TIM; // CPU-Timer, Counter Register
union PRD_REG PRD; // CPU-Timer, Period Register
union TCR_REG TCR; // CPU-Timer, Control Register
Uint16 rsvd1; // Reserved
union TPR_REG TPR; // CPU-Timer, Prescale Register
union TPRH_REG TPRH; // CPU-Timer, Prescale Register High
};

The Uint16 rsvd1, is not mentioned in the reference manual.
Why is it missing?

Please help.

I need an explanation.

  • Hello Tim,

    This is a reserved memory location, it does not correspond to anything. You should be able to use your code without a problem as long as you're not using it, is there some issue you're having with the other registers which are valid (i.e. TIM, PRD, TCR, TPR, TPRH)?

    Best regards,

    Omer Amir

  • After submitting my question & reading it a couple times, I realized the 16-bit 'reserved' entry is used to align to the next 16-bit register location.  TIM & PRD are 32-bit, while TCR is 16-bit.  Without the reserved entry TPR & TPRH are off by 16-bits.