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.

[参考译文] TMS320F28027F-Q1:内存不足-正在更新链接器命令文件

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1011630/tms320f28027f-q1-not-enough-memory---updating-linker-command-file

器件型号:TMS320F28027F-Q1
主题中讨论的其他器件:TMS320F28027F

大家好、

你好。 我代表客户发布此帖子。 您能否帮助我们的客户检查下面遇到的错误。  

他们尝试 使用 Simulink 对 TMS320F28027F Launchpad 进行编程。  它们具有如下所示的错误:
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

"C:/ProgramData/MATLAB/SupportPackages/R2021a_1/toolbox/target/supportpackages/tic2000/src/c28027.cmd "、第26行:错误:
程序不能放入可用的存储器中、或者该段包含调用
需要无法为此段生成的 trampoline 的站点。
".ebss"大小段的对齐/分块运行放置失败
0x2ddapage 0。 可用存储器范围:
PRAML0大小:0x1000未使用:0x1000最大孔:0x1000
错误:链接过程中遇到错误;未生成"../PQM.out"
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
他们假设必须更新链接器命令文件以适应大型程序。 由于 它们也不熟悉编程、因此也请帮助清楚地了解存储器映射概念和链接器命令文件。 以下是他们的链接器命令文件:
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
存储器

第0页:
BEGINRAM:origin=0x0、length=0x2
PRAML0:origin=0x8000、length=0x1000
OTP:origin=0x3d7800、length=0x400
闪存:origin=0x3f0000、length=0x7ff6
BEGINFLASH:origin=0x3f7ff6、length=0x2
csm_PWL:origin=0x3f7ff8、length=0x8
IQTABLES:origin=0x3fe000、length=bb50
IQTABLES2:origin=0x3feb50、length=0x8c
IQTABLES3:origin=0x3febdc、length=0xAA
BootROM:origin=0x3ff27c、length=0xd44
复位:origin=0x3fffc0、length=0x2
向量:origin=0x3fffc2、length=0x3E
第1页:
RAMM0M1:origin=0x2、length=0x7fe

#if boot_from 闪存
部分

向量:load = 0x000000000
.text:> FLASH、PAGE = 0
.switch:> FLASH、PAGE = 0
.bss:> PRAML0、PAGE = 0
.ebss:> PRAML0、PAGE = 0
far:>PRAML0、page = 0
.cinit:> FLASH、PAGE = 0
.pinit:> FLASH、PAGE = 0
.const:> FLASH、PAGE = 0
econst:> FLASH、PAGE = 0
.reset:> RESET、PAGE = 0、TYPE = DSECT
.data:>PRAML0、page = 0
.cio:>PRAML0、page = 0
.sysmem:> RAMM0M1、PAGE = 1
.esysmem:>RAMM0M1、PAGE = 1
.stack:>RAMM0M1、PAGE = 1
.RTDX_TEXT:> FLASH、PAGE = 0
.RTDX_DATA:> PRAML0、PAGE = 0
IQMath:> FLASH、PAGE = 0
codestart:> BEGINFLASH、PAGE = 0
csmpasswds:>csm_PWL、page = 0
csm_rsvd:>PRAML0、page = 0
ramfuncs:load = flash、
运行= PRAML0、
load_start (_RamfuncsLoadStart)、
load_end (_RamfuncsLoadEnd)、
run_start (_RamfuncsRunStart)、
PAGE = 0
IQmathTables:> IQTABLES,PAGE = 0,TYPE = NOLOAD
IQmathTables2:> IQTABLES2、PAGE = 0、TYPE = NOLOAD
IQmathTables3:> IQTABLES3、PAGE = 0、TYPE = NOLOAD

其他
部分

向量:load = 0x000000000
.text:>PRAML0、page = 0
.switch:>PRAML0、page = 0
.bss:> RAMM0M1、PAGE = 1
.ebss:> RAMM0M1、PAGE = 1
.far:>RAMM0M1、PAGE = 1
.cinit:> PRAML0、page = 0
.pinit:>PRAML0、page = 0
.const:>RAMM0M1、PAGE = 1
econst:>RAMM0M1、PAGE = 1
.reset:> RESET、PAGE = 0、TYPE = DSECT
.data:>RAMM0M1、PAGE = 1
.cio:>RAMM0M1、PAGE = 1
.sysmem:> RAMM0M1、PAGE = 1
.esysmem:>RAMM0M1、PAGE = 1
.stack:>RAMM0M1、PAGE = 1
.RTDX_TEXT:> PRAML0、PAGE = 0
.RTDX_DATA:> RAMM0M1、PAGE = 1
IQMath:>PRAML0、PAGE = 0
codestart:> BEGINRAM、PAGE = 0
csmpasswds:>csm_PWL、page = 0
csm_rsvd:>PRAML0、page = 0
ramfuncs:>PRAML0、page = 0
IQmathTables:> IQTABLES,PAGE = 0,TYPE = NOLOAD
IQmathTables2:> IQTABLES2、PAGE = 0、TYPE = NOLOAD
IQmathTables3:> IQTABLES3、PAGE = 0、TYPE = NOLOAD

#endif
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

提前感谢您的支持。  

此致、

Jonathan

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

    您好、Jonathan、

    出现错误的原因是.ebss 段的大小 为0x2dda、并且在链接器命令文件中、它尝试将此段放入 仅大小为0x1000的 PRAML0中。

    您可以组合多个块来映射.ebss 段。 例如:.ebss:>> RAM1 | RAM2

    此致、

    Veena

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

    您好、Veena、  

    我们客户的问题 已通过您的帮助得到解决、他们非常感激。

    祝你度过美好的一天!

    此致、

    Jonathan