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 寄存器偏移不匹配与 TRM 之间的关系 (TMS570LC4357)

Guru**** 2924440 points

Other Parts Discussed in Thread: TMS570LC4357, HALCOGEN

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1652107/tms570lc4357-halcogen-04-07-01-eqep-register-offset-mismatch-vs-trm-tms570lc4357

器件型号: TMS570LC4357
主题中讨论的其他器件: HALCOGEN

尊敬的团队:

代表我们的客户发帖。

我将与我们的客户分享此 E2E 帖子、以便他可以在需要时回复。

器件:TMS570LC4357
HALCoGen 版本:04.07.01
文件:HL_reg_eqep.h
 
问题描述:
eQEP 模块的 HALCoGen 生成头文件中似乎存在寄存器偏移不匹配。
 
HALCoGen 定义了:
- 0x0038 = QEPSTS
- 0x003A = QCTMR
 
根据 TRM:
- 0x0038 = QCTMR
- 0x003A = QEPSTS
 
验证:
这在实际硬件上进行了验证。
 
测试:
Volatile uint16_t reg_0038 =*(volatile uint16_t *)(eQEP_BASE + 0x0038);
Volatile uint16_t reg_003A =*(volatile uint16_t *)(eQEP_BASE + 0x003A);
 
观察结果:
-在 0x003A 注册为 QEPSTS(状态标志包括 QDF)
-行为与 QEPSTS 的 TRM 描述相匹配
-因此 QEPSTS 位于 0x003A
 
结语:
QCTMR 和 QEPSTS 似乎在 HALCoGen 输出中交换。
 
影响:
使用 HALCoGen 头文件会导致错误的寄存器访问。
 
请求:
-你能确认这个问题吗?
-有官方的变通办法吗? -
在未来的 HALCoGen 版本中是否会修复此问题?

此致、

Danilo