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.

[参考译文] TMS320F28069:如果在 CLA 中运行、则占用的空间大于针对同一函数在 C28x RAM 中运行的空间

Guru**** 2522770 points


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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/912709/tms320f28069-occupy-larger-space-if-running-in-cla-than-running-in-c28x-ram-for-the-same-function

器件型号:TMS320F28069

您好!

我的客户已将函数配置为加载到闪存中、但可以在 C28x RAM 或 CLA 中运行。

如果配置为在 C28x RAM 中运行、存储器映射将显示该函数占用31 (十六进制)空间。  INT_ISR_Test_OffPro.c 中只有 OffGridBusHighChk1函 数、因此我们认为 OffGridBusHighChk1函数的 obj 空间相同。

如果配置为在 CLA 中运行、同一函数 OffGridBusHighChk1将占用 F4 (十六进制)空间。

为什么会有这样的差异?

在 CLA 中运行此函数时、我们是否会在 CLA 程序 RAM 中占用 F4 (十六进制)空间?

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

    Howard、

    C28x 和 CLA 代码是否都启用了优化?

    代码大小和性能的差异将取决于代码的运行情况。  CLA 具有与 C28x 不同的指令集和不同的寻址模式。  根据代码执行的操作、这可能会导致差异。  

    以下是几个示例:

    • 所有 CLA 指令占用32位。  C28x 具有16位和32位指令的组合。  
    • CLA 上的分支在总是执行分支指令之后的3条指令中是不同的。 在进行优化后、编译器将尝试使用实际指令填充这些空间。  如果不可能、则添加 NOP 以填充该空间。  

    CLA 软件开发指南中对 C28x 和 CLA 进行了比较:  

    此致

    Lori

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

    Lori、

    谢谢你。

    我有一个快速问题、因为我们在存储器映射中看到的是闪存中占用的空间、所以在 CLA RAM (0xf4)或 C28x RAM (0x31)中运行函数时、它是否确实需要相同的空间?

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

    是的、它的大小将相同。   

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

    Lori、

    谢谢你。

    C28x 和 CLA 代码是否都启用了优化?

    我只能通过右键单击项目-属性-构建- C2000编译器-优化选项卡-优化级别来找到优化。

    我想、如果我们启用它、它将优化 C28x 和 CLA 的代码、对吧?

    我们能否得出这样的结论:CLA 空间始终大于等于相同代码所需的 C28x 空间?

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

    [引用用户="Howard Zou"]我只能通过右键单击项目-属性-构建- C2000编译器-优化选项卡-优化级别来找到优化。

    通常、项目优化将应用于所有 C 代码、无论是 C28x 还是 CLA。  

    但是、用户可以通过右键单击文件、选择属性并更改该特定文件的优化来对该文件应用特定优化。 如果用户尚未执行此操作、则将应用项目优化。  

    [引用 USER="Howard Zou"]我们能否得出这样一个结论:CLA 空间始终大于等于相同代码所需的 C28x 空间?

    这种情况可能是这样的。  正如我提到过的、增量将取决于代码执行的操作。  

    此致

    Lori