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.

TMS570LC4357: HALCoGen 04.07.01: eQEP register offset mismatch vs TRM (TMS570LC4357)

Part Number: TMS570LC4357
Other Parts Discussed in Thread: HALCOGEN

Hi Team,

Posting on behalf of our customer.

I'll share this E2E post with our customer so he can reply when needed.

Device: TMS570LC4357
HALCoGen version: 04.07.01
File: HL_reg_eqep.h
 
Issue description:
There appears to be a register offset mismatch in the HALCoGen-generated header file for the eQEP module.
 
HALCoGen defines:
- 0x0038 = QEPSTS
- 0x003A = QCTMR
 
According to TRM:
- 0x0038 = QCTMR
- 0x003A = QEPSTS
 
Verification:
This was verified on real hardware.
 
Test:
volatile uint16_t reg_0038 = *(volatile uint16_t *)(EQEP_BASE + 0x0038);
volatile uint16_t reg_003A = *(volatile uint16_t *)(EQEP_BASE + 0x003A);
 
Observation:
- Register at 0x003A behaves as QEPSTS (status flags incl. QDF)
- Behavior matches TRM description of QEPSTS
- Therefore QEPSTS is located at 0x003A
 
Conclusion:
QCTMR and QEPSTS appear to be swapped in HALCoGen output.
 
Impact:
Using HALCoGen headers leads to incorrect register access.
 
Request:
- Can you confirm this issue?
- Is there an official workaround? -
Will this be fixed in future HALCoGen version?

Regards,

Danilo