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.

[参考译文] TMS320F280039C:器件启动时间和 c_int00 执行时间

Guru**** 2535590 points


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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1557406/tms320f280039c-device-bootup-time-and-c_int00-execution-time

器件型号:TMS320F280039C


工具/软件:

您好 Champ、

我要找我的客户。

它们对缩短启动时间有很强的要求(上电时到达 main() 中的第一行)。

根据理解、 F28003x 器件在复位释放时的指定启动时间约为 1.2ms。 它仅 包括每个器件初始化器件时必须经历的内部引导时间。  它不包括 c_int00 执行时间、对吧?

那么、是否有任何方法/提示来缩短  c_int00 函数的执行时间? 专家可以提供一些很好的建议吗?  

谢谢。此致、

Johnny

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

    您好 Johnny、

    是的、1.2ms 会记录 在闪存中第一次取指令之前的引导 ROM 执行时间。 这不包括 c_int00 执行、因为它是可变的、   具体取决于应用程序的复杂性和使用中的存储器容量。

    您可以将不希望编译器初始化为 NOINIT 的变量设置为以下方式、例如在链接器命令文件中:

    .bss: > RAMLS7, TYPE = NOINIT

    您还可以 在加载时使用“--ram_model 链接器选项初始化变量、通过缩短启动时间和保存初始化表使用的存储器来增强性能。 请参阅  C28x  优化 C/C++编译器 v22.6.0.LTS 用户指南中的 7.10.4.5 加载时变量初始化

    让我和编译器专家一起看看他们是否还有其他建议。

    此致、

    马特

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

    确保您了解使用等功能意味着什么 TYPE = NOINIT -- ram_model 。  概括来说、这意味着您同意以其他方式初始化相应的变量、或者 假设这些变量从未初始化。  我建议在一个小型测试程序上尝试这些功能。  构建这两种方式、并直接观察差异。

    运行时支持函数的源代码、包括启动函数 c_int00 它调用的所有内容都是编译器安装的一部分。  查看目录 install_root /lib/sysv src

    谢谢。此致、

    -乔治