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.

[参考译文] CCS/TMS320F28379D:内存问题

Guru**** 2545200 points
Other Parts Discussed in Thread: TMS320F28379D, CONTROLSUITE

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/613642/ccs-tms320f28379d-memory-problem

器件型号:TMS320F28379D
Thread 中讨论的其他器件: controlSUITE

工具/软件:Code Composer Studio

你好

我在 TMS320F28379D 上使用 CLA。 对于第一个任务、我遇到了一些问题、无法使其运行、但最终它运行良好。

当我现在想添加第二个 CLA 任务时、我会遇到某种存储器问题:程序将无法放入可用存储器中。  "Cla1Prog"大小为0xa6e 第0页的对齐/分块放置失败

这是控制台日志:


****为项目 Interleaved_Boost 构建配置调试****

"C:\\Program Files\\ccsv6\\utils\\bin\\gmake"-k all
'构建目标:Interleaved_Boost.out'
'调用:C2000链接器'
"c:/Program Files\ccsv6/tools/compiler/c2000_15.12.3.sps/bin/cl2000"-v28 -ml -cla_support=cla1 --tmu_support=tmu0 --vcu_support=vcu_support=fpu32 --advice:performance=g --exclus_excluse/exclus_exclus_excluse/clus_exclus=-clus.xml-exclus_exclus/cm=-exclus/cmd_exclus_exclus/ines=-clus_exclus/ines=-clus_exclus/clus_exclus/clus/clus_exclus_exclus/clus_exclus/clus_files=-clus-clus/clus-clus/clus/clus_exclus/clus_exclus_exclus/clus/clus-clus.htm#-clus/clus_exclus_exclus_exclus/clus/cm= rom_model -o "Interleaved_Boost.out""./F2837xD_ADC.obj ""./F2837xD_CodeStartBranch.obj ""/F2837xD_DefaultISR.out""./F2837xD_EPWMP.obj ".F2837xD_GPION./F2837xD/F2837xD_common./F2837xD/F2837xD/F2837xD.obj 1./F2837x1./F2837x1./F2837xD_GPIO.tr.tr.tr./F2837xD/F2837x1.obj。  

警告#10247-D:在不使用 SECTIONS 规范的情况下创建输出段".scratchpad"
"C:/Program Files/ControlSUITE/DEVICE_SUPPORT/F2837xD/v190/F2837xD_common/cmd/2837xD_RAM_CLA_lnk_CPU1.cmd"、第82行:错误#10099-D:程序不能放入可用内存中。  "Cla1Prog"大小为0xa6e 第0页的对齐/分块放置失败。  可用存储器范围:
  RAMLS5      大小:0x800       未使用:0x800       最大空洞:0x800     
错误#10010:链接期间遇到错误;未构建"Interleaved_Boost.out"
gmake:***[Interleaved_Boost.out]错误1.
gmake:目标"全部"不会由于错误而重新生成。

>>编译失败
Makefile:155:目标'Interleaved_Boost.out'的配方失败

****构建完成****

我尝试通过将2827xD_RAM_CLA_lnk_CPU1.cmd 中的长度从0x000800更改为0x001000来放大'RAMLS5'的存储器大小、但这没有帮助

存储器

第0页:
  /* begin 用于"引导至 SARAM"引导加载程序模式  */

  开始             :origin = 0x000000,length = 0x000002
  RAMM0             :origin = 0x000122、length = 0x0002DE
  RAMD0             :origin = 0x00B000、length = 0x000800
  RAMD1           :origin = 0x00B800,length = 0x000800
  RAMLS4           :origin = 0x00A000,length = 0x000800
  RAMLS5          :origin = 0x00A800,length = 0x000800 //尝试更改此选项,但仍然存在相同的问题
  复位             :origin = 0x3FFFC0,length = 0x000002

我可以提供一些意见、并提供一种解决问题的方法吗?

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

    看起来一个 RAM 块不足以实现此目的、因此您必须组合两个 RAM 块(如下所示)并分配程序部分来组合 RAM 块。

    RAMLS4 :origin = 0x00A000、length = 0x001000

    您还可以将该段放置在多个 RAM 块中、如下所示-

    .text :>> RAMLS4 | RAMLS5, PAGE = 0

    您可以在以下 wiki 页面上找到有关链接的更多详细信息

    processors.wiki.ti.com/.../C28x_Compiler_-_Understanding_Linking

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

    我尝试了两种解决方案(单独和独立),但它们似乎不起作用,我仍然得到相同的错误:/

    您还谈到了分配、但这需要在哪里完成?

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

    我注意到一些非常奇怪的东西。 在 CLA 的任务2中、我有以下三行代码:
    //EPwm1Regs.CMPA.bit.CMPA =(int)(((100-D1)/100)* ePWM_TIMER_TBPRD-1);
    //EPwm2Regs.CMPA.bit.CMPA =(int)(((100-D2)/100)* ePWM_TIMER_TBPRD-1);
    //EPwm3Regs.CMPA.bit.CMPA =(int)(((100-D3)/100)* ePWM_TIMER_TBPRD-1);

    因为我想计算并在之后从 CLA 设置占空比。
    当我将其注释掉时、问题消失了...

    这是怎么可能的? 我认为可以从 CLA 写入 ePWM 寄存器吗?
    很抱歉这个问题可能很愚蠢、但我只是想为我的博士学位制作一个用于电力电子应用的控制器、在我的教育中、我从未学到过很多有关微控制器/计算机的知识。

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

    Simon、

    [引述]这是怎么可能的? 我认为可以从 CLA 写入 ePWM 寄存器吗? [/报价]

    是的、您可以从 CLA 访问 ePWM 寄存器。 当您包含此代码时、代码大小会由于 EPWM 寄存器结构而增加。  您是 在此处修改 controlSUITE 示例还是修改新项目?

    Vivek Singh

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

    很抱歉我忘记回复这个。 我调整了 controlSUITE 示例:)
    我暂时将其从 CLA 中退出、然后再执行、因为这不会带来任何麻烦

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