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.

[参考译文] TMS320F28379D:增加存储器(堆大小)

Guru**** 2615705 points

Other Parts Discussed in Thread: TMDSCNCD28379D

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/991075/tms320f28379d-increase-memory-heap-size

器件型号:TMS320F28379D
主题中讨论的其他器件:TMDSCNCD28379D

嗨-- F28379D (TMDSCNCD28379D)堆大小的最大限值是多少? 以及如何将其从现有限制中增加?

I Matlab Simulink:模型配置参数->代码生成->编译过程->编译配置->指定 加载和外部模式都可以正常工作的最大输入数为0x1000。

-z -i$(TI_LIB)-stack_size=$(stack_size)-warn_sections -heap_size=0x1000 -reread_libs -rom_model -m"$(product_name).map"

为0x1100

-z -i$(TI_LIB)--stack_size=$(stack_size)-warn_sections -heap_size=0x1100 -reread_libs -rom_model -m"$(product_name).map"

正在加载应用程序代码(正在将程序下载到目标硬件...  &成功完成构建过程)正常、但如果我尝试在外部模式下运行、我会收到错误消息:

链接>

"C:/ProgramData/MATLAB/SupportPackages/R2018a/toolbox/target/supportpackages/tic2000/src/c28377D.cmd、第134行:错误:

程序将不能放入可用的内存中。 使用运行放置

".esysmem"大小为0x1100页1的对齐/分块失败。

可用存储器范围:

RAMLS_DATA 大小:0x1000未使用:0xdec 最大空洞:0xdec

错误:链接期间遇到错误;未生成"../vref_v000a.out"

>>编译失败

gmake:***[./Vref_v000a.out]错误1.

C:\Users\**\Documents\F28379D tests code\Vref_v000a_ERT_RTW>回显 make 命令返回错误2

make 命令返回错误2

C:\Users\**\Documents\F28379D 测试代码\Vref_v000a_ERT_RTW>an_error_occurred during the _call_to _make

"AN_ERROR_occurred_During_the_call_TO_make"不会被识别为内部或外部命令、

可操作的程序或批处理文件。

###正在创建 HTML 报告文件 Vref_v000a_codegen_rpt.html

###模型的构建过程:'Vref_v000a'由于一个错误而中止。

构建"Vref_v000a"时遇到错误:

###无法生成所有二进制输出。

错误消息显示了有关 c28377D.cmd 的内容、并且程序不能放入可用内存中。 它是否是因为我对28379D 使用了 c28379D.cmd 文件? 在 C:/ProgramData/MATLAB/SupportPackages/R2018a/toolbox/target/supportpackages/tic2000/src 中没有相应的链接器命令文件。

在这个线程中 、我读取的最大值 一个 CPU 的内存为512KB;这如何转换为堆大小?

在其他线程中、 他们建议使用28335

文本:>> RAML1 | RAML2, PAGE = 0

c28377D.cmd 中、RAML1 RAML2未定义为变量;不确定 F28335的步骤(解决方案)是否适用于 F28397D。

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

    您好!

    堆使用.esysmem 段。 如果要增加堆大小、则可能需要相应地增加存储器段。

    在 链接器文件中、能否检查.esysmem 是否位于 RAMGS0段中? 尺寸是多少?

    您还可以参阅以下链接以了解链接器命令的详细信息。

    software-dl.ti.com/.../c2000_c28x-compiler-understanding-linking.html

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

    您好、Santosh、在 c28377D.cmd 中.esysmem 段旁边是

    .esysmem:>RAMLS_DATA,   PAGE = 1.

    RAMLS_DATA 定义为

    包含#ifdef CLA_block_included
           RAMLS_CLA_DATA     :origin = 0x008000、length = 0x001000
           RAMLS_DATA         :origin = 0x009000,length = 0x001000
      其他
           RAMLS_DATA         :origin = 0x008000、length = 0x001000

    当我将长度从0x1000更改为0x1300时、现在我可以得到的最大堆大小(即没有错误消息)为0x1300。 对于0x2000、最大值 堆大小为0x2000。

    RAMLS_DATA 长度的最大值是多少?

    c28377D.cmd 中没有 RAMGS0变量;c28377D.cmd 位于 C:\ProgramData\MATLAB \SupportPackages\R2018a\toolbox\target\supportpackages\tic2000\src 中。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    [引用 userid="270650" URL"~/support/microcontrollers/c2000/f/c2000-microcontrollers-forum/991075/tms320f28379d-increase-memory-heap-size/3663621 #3663621"] RAMLS_DATA 长度的最大值是多少?

    有关存储器映射、请参阅数据表第9.3.1节

    www.ti.com/.../tms320f28379d.pdf