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.

[参考译文] 编译器/TMS320F28379D:堆栈的 RAM 区域

Guru**** 2589280 points


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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/664499/compiler-tms320f28379d-ram-area-for-stack

器件型号:TMS320F28379D

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

Hallo、

要使用 sprintf 函数、我必须将堆栈从400h 增加到800h (E2E 建议)。

从原始的 TI CMD 文件中、堆栈位于 RAMM1Page1中、对于800h 而言、该文件太小了。

我将堆栈位置更改为位于地址0x00A800h 的 RAMLS5区域、这是令人满意的。

但是当我更改为 RAMGS 区域时、程序发生了错误。 这是正常的吗?

是否有将堆栈放置在 RANLS 区域或 Ramm 区域的命令?

在哪里查找?

BR

Ralf

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Ralf
    检查此主题、请访问 :e2e.ti.com/.../664189
    您可以将 SP 置于 GS0...GS3,但不能置于 GS4及更高版本,因为 SP 可以访问范围0x0000... 0xFFFF
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

     您可以在此处找到此信息(在 第2.2.5节堆栈指针(SP)中)。

    Vivek Singh

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    这涉及 Piccolo F28069、并且文档 SPRS698没有第3.5.8或3.5.9章。
    我还可以在 F28379D 数据表中的其他位置搜索。
    BR Ralf
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    谢谢、见第2.2.5章!
    BR Ralf
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    请注意这些处理器上的堆栈。 我们已被过度运行的堆栈烧了几次。 现在、当我们认为代码已完成时、我们执行此过程:使用调试器的 Fill Memory 功能以0x5555之类的模式填充整个堆栈区域、运行程序并执行所有功能、然后进入调试器并查看堆栈区域。 您可以看到堆栈的运行距离、我们很惊讶地看到、在某些产品上、整个区域都被使用了。 如果是、我们随后展开堆栈并再次进行测试。 希望这对您有所帮助。

    劳埃德
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    请访问 www.ti.com/.../spra820.pdf 上的 app.note
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    谢谢 Hareesh、这看起来是一个很好的使用方法!
    劳埃德