Other Parts Discussed in Thread: TMS570LC4357, HALCOGEN
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
器件型号: 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