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.

[参考译文] TMS320F28069:如何在 F28069中修改 SGEN 的链接器?

Guru**** 2562550 points


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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/987558/tms320f28069-how-to-modify-a-linker-for-sgen-in-an-f28069

器件型号:TMS320F28069

大家好、早上好

我将尝试修改链接器文件、以便 将查找表放置在程序存储器中。 但总是有错误、我尝试了不同的解决方案。 请帮助。

部分

/***编译器必需的部分***/

/*程序存储器(第0页)段*/
.text:> L4SARAM,page = 0
.cinit:> L4SARAM,page = 0
.const:> L4SARAM,PAGE = 0
econst:> L4SARAM,PAGE = 0
.pinit:> L4SARAM,page = 0
.reset:> reset,page = 0,type = DSECT //我们不使用.reset 段*/
.switch:> L4SARAM,PAGE = 0

/*数据存储器(第1页)部分*/
.bss:> M0SARAM,PAGE = 1.
.ebss:> M0SARAM,PAGE = 1
.cio:>M0SARAM,page = 1.
.stack:> M1SARAM,page = 1.
.sysmem:> M1SARAM,PAGE = 1.
.esysmem:>M1SARAM,PAGE = 1.
// SINTBL:> PROG,page = 0
// ipcb1:>RAML61,page = 1.
// SINTBL:>M1SARAM,page = 1.
/***用户定义的段***/
codestart:> Begin_M0,page = 0 /*由文件 CodeStartBranch.asm 使用*/

/******* 文件结束******** /

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

    您好!

    您能否提供有关该错误的更多详细信息?

    此致、

    Veena

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

    我正在尝试使用 SGEN 创建正弦波、因此  我需要在链接器(.cmd)文件中进行适当的更改。 除非通过指定处理器的内存映射(此处为 F2869)明确指定要生成 SINTBL 的位置,否则程序不知道将表放置在何处。 它可能会将其放置在内部 DRAM 中、但仍需要指定适当的存储器段地址、以将 SINTBL 放置在适当的存储器位置。

    我已经尝试过这个解决方案

    // SINTBL:> PROG,page = 0
    // ipcb1:>RAML61,page = 1.
    // SINTBL:>M1SARAM,page = 1.

    但错误如下  

    程序将不能放入可用存储器中、或者该段包含需要无法为此段生成的 trampoline 的调用站点。 对于"SINTBL"大小为0x101页1的段、定位/分块放置失败。

    如何正确修复 链接器命令?

    塞尔吉奥

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

    之所以报告错误 、是因为段 SINTBL 的大小大于其映射到的存储器块中的可用空间。 您可以使用具有更多可用空间的存储器块。

    此致、

    Veena