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.

[参考译文] TMS320F28P659DK-Q1:MCAN 寄存器偏移差异

Guru**** 2465890 points
Other Parts Discussed in Thread: C2000WARE

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1495042/tms320f28p659dk-q1-mcan-register-offset-discrepancy

器件型号:TMS320F28P659DK-Q1
Thread 中讨论的其他器件:C2000WARE

工具与软件:

参考手册与 C2000ware 内核 SDK 中配置的 MCAN 寄存器偏移量之间似乎存在差异。

例如、参考手册指出、在表35-30中 MCAN_CCCR 寄存器的偏移量为0xC、但 C2000ware 库文件 f28p65x\driverlib\inc\hw_mcanss.h 将其放置在偏移量0x18。

我倾向于相信头文件、因为即使寄存器的大小为32位、表35-30也会将偏移量增加2。

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

    您好、Ryan、

    TRM 中的寄存器偏移量以最小 C2000 (C28x)字节大小表示、该字节大小为16位宽。  这可能会有点混乱、因为正常的 bye 宽度为8位。  MCAN 寄存器为32位宽、因此 TRM 中显示的阶跃偏移量为2。  在 SDK 中、寻址步骤被抽象化、因此它会像与世界其他地方一样"遵循" 8位字节模式、因此偏移以32位步长或 HW_mcanss 标头中声明的4字节表示。  SDK 使用宏 HW_WR_FIELD32、HW_SET_FIELD32、HW_RD_FIELD32...等来执行此操作。

    我们最新推出的基于 C29内核的器件现在能够寻址最小字节单元(8位)、因此对于32位寄存器、这些产品的偏移量将为4。

    此致、

    Joseph