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.

[参考译文] TMS320F280049C:内存安装问题

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1129791/tms320f280049c-memory-fit-issues

器件型号:TMS320F280049C
主题中讨论的其他器件:TMDSCNCD280049CC2000WARETMS320F280049M

尊敬的 Sirs

我正在尝试获取 interrupt_ex1_sw_Prioritization 示例以编译并下载到 TMDSCNCD280049C 控制卡中。  示例项目位于 C:\TI\c2000\C2000Ware_4_00_00_00\device_support\f28004x\examples\interrupts_ex1_sw_Prioritization 中。  因此、我认为一切都很好。 当我尝试编译项目时、我收到以下错误消息。   

错误#10234-D:未解析的符号仍然存在
错误#10010:链接期间遇到错误;未构建"interrupts_ex1_sw_Prioritization .out"

>>编译失败
Makefile:150:目标'interrupts_ex1_sw_Prioritization .out'的配方失败
gmaked[1]:***[interrupts_ex1_sw_Prioritization.out]错误1.
Makefile:146:目标'all'的配方失败
gmake:***[全部]错误2.

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

项目使用的默认链接器命令文件是 280049M_RAM_lnk.cmd。 知道 RAM 空间远小于闪存空间、我使用 了280049M_FLASH_lnk.cmd。  报告了相同的错误。  控制卡使用 F280049C 器件。  因此我使用 了280049C_FLASH_lnk.cmd。   报告了相同的错误。  我去了 C2000 ︎ 论坛、发现一篇有10年历史的文章存在同样的问题、该文章不适用于可用存储器- C2000微控制器论坛- C2000微控制器- TI E2E 支持论坛。  Trey German 建议使用 F28M35x_general_M3_flash.cmd。  此命令文件不在下拉列表中、但我找到 了 F28M36x_general_C28_flash.cmd 和 F28M36x_general_wshared_C28_flash.cmd。  这两个命令文件在工程编译时都可以正常工作。  但是、当我尝试下载到控制卡时、我收到以下错误消息:  

C28xx_CPU1:GEL 输出:
内存映射初始化完成
C28xx_CPU1:GEL 输出:... DCSM 初始化开始...
C28xx_CPU1:GEL 输出:... DCSM 初始化完成...
C28xx_CPU1:GEL 输出:... DCSM 初始化开始...
C28xx_CPU1:GEL 输出:... DCSM 初始化完成...
C28xx_CPU1:加载程序:程序的一个或多个部分属于不可写的存储器区域。 这些区域实际上不会写入目标。 检查链接器配置和/或存储器映射。

 我们一定会感谢您的任何帮助。  谢谢你。  

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

    您好!

    不能将链接器命令文件用于其他器件。 可能包括某些不存在于此器件中的存储器块。

    该示例附带自定义链接器 cmd 文件。 导入示例时是否未添加?

    此致、

    Veena

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

    Veena

    [引用 userid="128297" URL"~/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forume/1129791/tms320f280049c-memory-fit-issues/4192232#4192232"]您不能将链接器命令文件用于其他器件。 其中可能包括此器件中不存在的某些内存块。[/quot]

    是的、我理解这一点。  该工程在"Variant and core"属性部分中列出了 TMS320F280049M。  我尝试使用280049M_FLASH_lnk.cmd 文件和 280049C_FLASH_lnk.cmd 文件、但它在下载中也失败。  使用  TMDSCNCD280049C 控制卡、我本来以为这些命令文件应该可以正常工作。  在数据表中、 没有列出"M"衍生产品。  有什么区别?   

    [引用 userid="128297" URL"~/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forume/1129791/tms320f280049c-memory-fit-issues/4192232#4192232]\n 此示例附带自定义链接器 cmd 文件。 导入示例时是否未添加?

    interrupt_ex1_flash_lnk.cmd 文件未包含在工程文件夹中。  有两 个 interrupts_ex1_sw_Prioritization 项目、一个位于"C:\TI\C2000Ware_4_00_00\device_support\f28004x\examples\interrupts_ex1_sw_Prioritization "中、另一个位于 C:\TI\C2000Ware_4_00_00_00\driverlib\f2800_ex1_sw_Prioritization 中。  C:\TI\C2000\C2000Ware_4_00_00_00\device_support\下列出的工程没有 interrupt_ex1_flash_lnk.cmd 文件、该文件是我开始使用的文件。  我在  C:\TI\C2000\C2000Ware_4_00_00_00\driverlib\文件夹下找到 interrupt_ex1_flash_lnk.cmd 文件。  我复制了它、它正常工作。  谢谢你。  我查看了 interrupt_ex1_flash_lnk.cmd 和 280049M_flash_lnk.cmd 这两个命令文件、发现差异很小。   我对链接器文件的经验非常少。  在我要编写的应用中、我需要重新设置两个中断的优先级。  我需要编写自定义链接器文件还是标准链接器文件起作用?  是否有任何文档可以了解如何处理链接器命令文件?   

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

    https://software-dl.ti.com/ccs/esd/documents/sdto_cgt_Linker-Command-File-Primer.html

    此页面可能对您有用。

    您可以根据需要更改段分配。 根据代码/数据大小、您可能需要使用多个存储器来分配某些段

    此致、

    Veena

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

    谢谢你。