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.

[参考译文] 编译器/TMS320F2.8377万D:如何在独立应用程序的两个RAM部分中拆分Cla1Prog1

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/571315/compiler-tms320f28377d-how-to-split-cla1prog1-in-two-ram-sections-for-standalone-application

部件号:TMS320F2.8377万D

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

您好,

我有一个简单的问题。 我的CLA代码不适合一个RAM块:

  • Cla1Prog大小= 0x9e8
  • RAMLS5大小= 0x800

我想将这一部分分成RAMLS4和RAMLS5,但是如果我正确理解了我正在阅读的内容,我就无法使用LOAD,RUN,START等格式来完成

Cla1Prog :负载= FLASHD,
RUN = RAMLS4 | RAMLS5,
load_start (_Cla1funcsLoadStart),
load_end (_Cla1funcsLoadEnd),
run_start(_Cla1funcsRunStart),
load_size (_Cla1funcsLoadSize),
页面= 0,对齐(4) 

以上示例尝试将整个块装入RAMLS4或RAMLS5,但不拆分该部分。

我该怎么做?

谢谢你

,  

 

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

    您不想按所示方式拆分。 你可以做到

    运行>> RAMLS4 | RAMLS5

    但是,您最终使用了两个命名的sectioncs Cla1Prog.1和Cla1Prog.2,然后链接器找不到"Cla1Prog",因此它抱怨无法生成start,run和end变量。 您应该将RAMLS4和LS5的内存定义合并为一个内存定义

    RAMLS45:原点= 0x...(LS4开始),长度= 0x...(LS4+5长度)

    然后将照射行程位置分配给此新存储器

    在您的设置代码中,您必须将RAMLS4和LS5都配置为CLA程序空间。