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-01606和 TIDA-010236等几个参考设计 、以便使用不同的 C2000系列 TMS320F28388D。 F28388D 的外设集将与参考设计的用法兼容、但当我通过 SysConfig 更改器件时、我收到参考设计的构建错误和灰色部分。 是否建议通过流程将代码从一个 C2000迁移到另一个 C2000?
谢谢!
尊敬的 Nishka:
只要迁移不是正式的过程、大多数迁移在切换到不同的器件后都可以正常运行。 但是、在您的特定情况下、F2838x 具有默认的 fpu64支持、这与 F2837x 的 fpu32支持不同。 这就是您看到这里数据不匹配相关错误的原因。
一种可能的解决方案是在项目 Properties->Build -> C2000 Compiler -> Specify float_support (--float_support)中,可以将其更改为 fpu32以保持数据匹配。
或者、如果您希望利用 fpu64的性能、我们也提供了 fpu64中的 sfra_F64_eabi.lib/sfra_F64_TMU_eabi.lib、您可以尝试改用此库。 只需转到 "Properties"->"Build"->"C2000 Linker"->"File Search Path"、然后修改相应的 sfra 库名称就足够了。
此致!
王森
非常感谢! 我假设必须进行的另一项更改是引脚多路复用器配置、因为它们是不同的器件。 至少在 TIDA-01606中似乎是这样、引脚多路复用器在 tinv_user_settings.h 中定义、并在 TINV_hal.c 中设置。
这2个文件是由 SysConfig GUI 修改的吗?
我是否必须手动更改 pinmux 以使用新器件?
谢谢!
尊敬的 Nishka:
在 main.syscfg GUI 界面的右上角、将显示 SysConfig 生成的所有文件。 对于 TIDA-01606、生成的文件(TINV_settings.h)仅保存控制器和功率级参数、而不保存您提到的引脚多路复用器。
因此、您必须手动编辑 tinv_user_settings.h 和 TINV_hal.c 以更改 pinmux 和外设设置。
此外、DPSDK 的 powerSUITE 仅包含完整 SysConfig 功能的一个子集、在 powerSUITE 下切换器件实际上并不会切换相应的 driverlib 和目标配置。 因此、您还需要手动切换到 F2838x 的 driverlib 和 targetConfig (.ccxml)。
我不 记得 f2837x 和 f2838x 是否共享相同的 driverlib API、但如果它们共享(意味着 一旦您切换了 driverlib 和 targetConfig 并构建工程、在 TINV_hal.c 中找不到函数错误)、那么您不必编辑 TINV_hal.c。
此致!
王森