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.

[参考译文] TMS320F28335:管理内存

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1304508/tms320f28335-managing-memory

器件型号:TMS320F28335

我有一个关于管理存储器的问题。  

"../F28335.cmd",第133行:错误#10099-D:程序无法装入可用内存。 针对"ramfuncs"大小0x1009 page 0段运行对齐/阻塞放置失败。 可用存储器范围:
RAML0大小:0x1000未使用:0x1000最大空洞:0x1000
错误#10010:链接期间遇到错误;未生成"F28335.OUT"。

这是错误消息。 有几个数组具有250-300个元素、我必须将每个元素移动一个递减。

t_ac_err[200]= T_ac_err[199];
t_ac_err[199]= T_ac_err[198];
t_ac_err[198]= T_ac_err[197];
t_ac_err[197]= T_ac_err[196];
t_ac_err[196]= T_ac_err[195];

 此操作占用了过多的内存。 是否可以通过将此过程完全从存储器移作地址来使用更少的存储器?

感谢您的答复。

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

    您好

    可以在链接器命令文件中组合存储器部分、然后尝试分配。

    您可以参阅以下文章

    https://e2e.ti.com/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/647802/compiler-tms320f28377d-combining-different-memory-sections-in-linker-cmd-file

    此致

    西达尔特  

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

    首先,我很高兴你的答复。  

    RAML0:origin = 0x008000、length = 0x001000 /*片上 RAM 块 L0 */
    RAML1:origin = 0x009000、length = 0x001000 /*片上 RAM 块 L1 */
    RAML2:origin = 0x00A000,length = 0x001000 /*片上 RAM 块 L2 */

    我删除了3个类似这样的不同 RAM 块。

    我通过这样组合它重新创建它;

    RAML0L2:origin = 0x008000、length = 0x003000

    我所做的更改解决了我的编译问题,但它会在程序的运行中引起任何问题吗?

    此致

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

    否、在程序执行期间不会导致任何问题。

    此致

    西达尔特

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

    感谢您的关注并回复。 另一个问题是;移位操作有很多时间处于中断状态。 我想减少中断时间。 是否有任何方法可以缩短此操作的时间?

    此致。