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.

[参考译文] TMS320F28388D:合并 CM 链接器部分 C1RAM 和 C0RAM

Guru**** 2584465 points


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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1204233/tms320f28388d-combine-cm-linker-sections-c1ram-and-c0ram

器件型号:TMS320F28388D

大家好!

默认 CM 链接器文件包含以下存储器段:

    C1RAM            : origin = 0x1FFFC000, length = 0x00002000
    C0RAM            : origin = 0x1FFFE000, length = 0x00002000

我可以将其重新定义为一个部分:

    C1C0RAM          : origin = 0x1FFFC000, length = 0x00004000

这会导致任何问题吗? 如果我的应用中的缓冲器超过 C1/C0边界、这是否会导致故障?

基本上、我想要一个(相对)较大的内存部分、在此我可以放置所有堆栈:系统堆栈和 SYS/BIOS 任务堆栈。

此致、
Arjan

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

    Arjan,

    如果是静态/常量缓冲器、链接器将抛出错误。  在运行时、应用程序需要确保不会超过分配的内存。

    此致

    Siddharth

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

    尊敬的 Siddharth:

    我尝试过、似乎工作正常。 堆栈都被分配给 C1C0RAM 好、堆栈之后有一个 IPC FIFO 缓冲区、可以在0x1FFFE000处跨越 C1/C0边界(见底部的图片)、没有问题。

    此致、
    Arjan