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.

[参考译文] TIDA-010938:新 F28P550SJ9PM 器件版本 A 上的旧代码兼容性问题

Guru**** 2330830 points
Other Parts Discussed in Thread: TIDA-010938
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/tools/simulation-hardware-system-design-tools-group/sim-hw-system-design/f/simulation-hardware-system-design-tools-forum/1521934/tida-010938-compatibility-issue-with-old-code-on-new-f28p550sj9pm-silicon-revision-a

器件型号:TIDA-010938

工具/软件:

尊敬的 TI 团队:

我当时正在与合作  TIDA-010938–基于 GaN 的10kW 单相串式逆变器参考设计 、 使用 F28P550SJ9PM 微控制器(器件标识: 3L-41AVL9W 中的说明 0 )、我的代码运行正常、加载没有任何问题。

最近、我采购了一批新的微控制器、标记为 F28P550SJ9PM (器件标识: 3LA-48CFHNW 中的说明 A )。我注意到我的旧代码未载入 此新芯片版本。  但是、TI 提供的最新代码可以正常运行并正确加载 此器件版本。

我想继续在这款新的芯片上使用我现有的(较旧的)代码库。 请告知:

  1. 需要在旧代码(或工程配置)中进行哪些更改或更新、才能使其与兼容 新器件修订版本 A

  2. 是否需要任何器件勘误表、头文件更改或更新链接器命令文件或器件支持文件才能实现兼容性?

请告知我可以采取哪些步骤来修改现有工程、以便它同时适用于两个器件版本、或者至少适用于新修订版 A 器件。

提前感谢您的支持!

此致、
Abhishek  

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

    尊敬的 Abhishek:  

    如软件用户指南中所述、您可以根据 F28P55x 器件的修订版本进行以下更改。

    如果修订 ID (地址0x5D00C 处的值)为"1" 、则在 projectspec 文件中将 REV_ID 定义为预定义符号。 (在编译器标志中添加"--define=REV_ID=1"、它们对应于 REV0)。 然后可以再次将 projectspec 文件添加到工作区中。  

    如果问题仍然存在、请告诉我。  

    此致、

    Veda

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

    尊敬的 Veda:

    我发现添加了基于的条件检查 REVID  已经解决了问题。


    器件行为或外设配置如何根据此发生变化? 器件修订版本 ID 是否会影响失调电压修整和 ADC 行为之外的内容(例如 GPIO 模拟/数字配置或其他外设初始化)?

    如果有人根据 REVID 检查详细说明了固件在底层的实际表现、以及这如何反映修订版0和修订版 A 之间的硬件行为变化、我将不胜感激

    提前感谢!

    此致  

    Abhishek

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

    尊敬的 Abhishek:

    请 ︎ LAUNCHXL-F28P55X:无法获取正确执行的示例代码- C2000微控制器论坛- C2000Tmμ 微控制器- TI E2E 支持论坛

    器件校准功能位于不同的位置。 在 sysctrl.h 中、您可以找到对器件校准函数的调用。 如果选择了错误的地址、则会跳转到非法指令和 ITRAP。

    #if (REV_ID == REVD_REV0)
    #define Device_cal (void (*)(void)((uintptr_t) 0x003fb1e7))
    #else
    #define Device_cal (void (*)(void)((uintptr_t) 0x003fb220))
    #endif
    #endif //REVD_REV0

    没有对 其他外设内部进行其他更改。

    此致、Pawan