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:器件用户指南文档和示例*。cmd 文件之间的内存映射差异。

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/623646/compiler-tms320f28379d-memory-map-differences-between-the-device-user-s-guide-documentation-and-the-example-cmd-files

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

工具/软件:TI C/C++编译器

《TMS320F28379D 用户指南》的第6.3节"存储器"包含 C28x 存储器映射。  

当用户指南的起始地址与示例*。cmd 文件的内容进行比较时、它们有很大的不同。

例如、命令文件 2837xD_RAM_lnk_CPU1.cmd (来自~/ti/c2000/C2000Ware_1_00_01_00/device_support/f2837xd/common/cmd)内存页0设置如下:

PAGE 0:
/* begin 用于“引导至 SARAM”引导加载程序模式 */
begin     :origin = 0x000000,length = 0x000002
RAMM0     :origin = 0x000122、length = 0x0002DE
RAMD0     :origin = 0x00B000、length = 0x000800
RAMLS0     :origin = 0x008000、length = 0x000800
RAMLS1     :origin = 0x008800,length = 0x000800
RAMLS2     :origin = 0x009000、length = 0x000800
RAMLS3     :origin = 0x009800,length = 0x000800
RAMLS4     :origin = 0x00A000、length = 0x000800
reset     :origin = 0x3FFFC0,length = 0x000002 

在 TMS320F28379D 用户指南的第6.3.1节 C28x 内存映射中、M0 RAM 的起始地址为0x00000000、结束地址为0x000003FF。

为什么2837xD_RAM_lnk_CPU1.cmd 的 RAMM0行设置如下?

RAMM0:origin = 0x00000000、length = 0x000003FF

还是 RAMD0行设置为 与用户指南中的内容匹配?

RAMD0:origin = 0x0000B000,length = 0x00007FFF

好的、

Graham

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

    M0 RAM 的一部分由 BootROM 用于堆栈、因此其定义如下。 如果需要、您可以更改 cmd 文件以使用所有 M0 RAM。

    此致、

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

    在哪里可以找到正确(完整)的存储器映射文档? 用户指南中的存储器映射(第6.3节)没有提到为引导 ROM 保留的0x0000到0x0002的存储器位置。

    此外、0x0003和0x03FF 之间的存储器空间是否可用于 M0? 正如在示例*。cmd 文件中写入的那样、它看起来像0x0003、并且0x0121未使用。

    好的、
    Graham
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    0x0到0x2是开始部分、在使用引导至 RAM 选项的情况下、该部分用于入口点。 之后的空间用于堆栈。 存储器映射仅显示可用存储器、不描述软件用例。 类似地、示例代码中的 cmd 文件只是一个示例、用户可以根据自己的需要进行更改。

    Vivek Singh