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.

[参考译文] TM4C129XNCZAD:在新冠疫情(供应链问题)期间使用 BGA 而不是 TQFP、希望使用一个二进制文件来支持两个处理器

Guru**** 2392095 points


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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1065763/tm4c129xnczad-using-bga-rather-than-tqfp-during-covid-supply-chain-issue-hoping-to-use-one-binary-to-support-both-processors

器件型号:TM4C129XNCZAD

我们将 TIVA129处理器用于多个电路板(TQFP 和 BGA 版本)。

对于我们在新冠疫情期间需要构建的其中一个电路板、我们无法为构建提供足够的 TQFP 版本的 CPU、因此我们进行了电路板开发并将其更改为 BGA 封装。

我们计划在 TQFP 再次可用时切换回、但我们将使用一个具有 BGA 版本的电路板构建来支持未来的发展。

如有必要、我们将创建专为此构建设计的固件的单独版本、但更喜欢使用可在任一 CPU 上运行的单个二进制文件。

CCS 要求您指定要在工程属性中使用的处理器。  我知道、根据安装的 CPU、将会有明显不同的配置代码。

是否可以:

1.在任何配置之前确定时间为零、是 TQFP 还是 BGA 版本、并分支到不同的代码以根据此进行配置?

2.我知道您使用的 CPU 是一个定义的预处理器常量,并且根据编译时的操作在库中做出决策。  这是否会阻止我们的尝试工作?

3.我还应该问什么问题?

谢谢

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    [引用 userid="254529" URL"~/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1065763/tm4c129xnczad-using-bga-rather-than-tqfp-during-covid-supply-chain-issue-hoping-to-use-one-binary-to-support-both-processors ]1. 在任何配置之前的零时确定是 TQFP 还是 BGA 版本、并分支到不同的代码以根据此情况进行配置?

    通过快速查看数据表、器件标识1 (DID1)寄存器包含 一个 PINCOUNT 域、该域应允许在运行时确定封装:

    [引用 userid="254529" URL"~/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1065763/tm4c129xnczad-using-bga-rather-than-tqfp-during-covid-supply-chain-issue-hoping-to-use-one-binary-to-support-both-processors ]2. 我知道您使用的 CPU 是一个定义的预处理器常量、并且根据编译时的操作在库中做出决策。  这是否会阻止我们的尝试工作?

    TivaWare_C_Series-2.2.0.295/driverlib/ccs/Debug/driverlib.lib 预编译库仅使用一组可在多个 Tiva 器件上使用的目标文件进行编译。 虽然在创建 CCS 工程时针对特定器件型号将预处理器常量添加到 CCS 工程中、但看不到预编译库会利用该常量。

    [引用 userid="254529" URL"~/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1065763/tm4c129xnczad-using-bga-rather-than-tqfp-during-covid-supply-chain-issue-hoping-to-use-one-binary-to-support-both-processors ]3. 我还应该询问哪些其他问题?[/引述]

    您考虑使用的不同器件是否具有相同数量的闪存和 SRAM?

    CCS 工程确实有一个连接器命令文件、用于指定闪存和 SRAM 大小、因此尝试在具有较小闪存/SRAM 的器件上使用可执行文件不起作用。

    您正在考虑将哪个完整器件型号用于固件?

    如有必要、系统控制模块中有外设存在寄存器、可在运行时用于处理器件中可用外设集的差异。

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

    我们将 TM4C1290NCPDT13R 替换为 TM4C129XNCZAD13R。  两者具有相同的闪存(1M)和 SRAM (256K)补码。  因此、我们应该最好去那里。

    自从使用 TivaWare 以来、我一直没有更新它。  我们目前正在将 TivaWare_C_Series-2.1.2.111用于所有电路板。  是否有充分的理由进行更新?

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

    此外、只要有可能、我就会使用芯片上的内置 ROM 例程。  我会假设这适用于这些版本。

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

    您好、Greg、

     感谢切斯特。 我希望他回答了您关于使用 DID1寄存器来确定封装的问题。  

    [引用 userid="254529" URL"~/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1065763/tm4c129xnczad-using-bga-rather-than-tqfp-during-covid-supply-chain-issue-hoping-to-use-one-binary-to-support-both-processors/3942992 #3942992">]自从使用 TivaWare 以来、我一直没有更新过它。  我们目前正在将 TivaWare_C_Series-2.1.2.111用于所有电路板。  是否有充分的理由进行更新?[/报价]

    最新的 TivaWare 版本是2020年发布的2.2.0.295。 它修复了一些错误、并为不同模块添加了一些示例。 如果您的当前版本为您提供了良好的服务、则不必升级到最新版本。 但是、我仍然建议您阅读最新版本的发行说明、以了解您是否可以利用任何内容。  

    [引用 userid="254529" URL"~/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1065763/tm4c129xnczad-using-bga-rather-than-tqfp-during-covid-supply-chain-issue-hoping-to-use-one-binary-to-support-both-processors/3942993 #3942993">此外、只要可能、我就会使用芯片上的内置 ROM 例程。  我会假设这适用于这些版本。

    是的、它将跨版本工作。