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.

[参考译文] 编译器/TMS320F28023:prevoius 线程&quot 的后续操作;编译器不添加常量、在运行代码&quot 中进行加法;

Guru**** 2390755 points


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

https://e2e.ti.com/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/822470/compiler-tms320f28023-followup-to-prevoius-thread-compiler-not-adding-constants-addition-happening-in-run-code

器件型号:TMS320F28023

工具/软件:TI C/C++编译器

我想添加一个我在前面的文章中找到的解决方案、该文章在这里称为"编译器不添加常量、在运行代码中进行加法"

https://e2e.ti.com/support/microcontrollers/c2000/f/171/t/792907

但"添加相关问题"不起作用(可能是我的浏览器)

无论如何、我发现我可以在链接器中创建两个符号、然后在代码中使用它们。

在 CMD 文件的段部分、我有...

部分

(笑声)

   堆栈             :load = R_stack,
                   run_start (_stackStart)、
                   run_end (_stackStop)、      page = 1
(笑声)

然后,在关闭完}段后,我可以创建

      _my_stack_start =_stackStart + 8;
      _my_stack_size =(_stackStop -_stackStart)- 8;

然后、只需在我的代码中使用这些符号。

这可以防止运行时代码必须进行数学运算来计算偏移。

是的、它只保存两条指令、但每个字节都有用。

标记。

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

    我很高兴您找到了一个好的解决方案。  感谢您的分享!

    乔治