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.

[参考译文] AM2612:TI UniFlash 中.mcelf_XIP 加载地址的阐释

Guru**** 2992860 points

Other Parts Discussed in Thread: UNIFLASH

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1664177/am2612-clarification-on-mcelf_xip-load-address-in-ti-uniflash

器件型号: AM2612
Thread 中讨论的其他器件: UNIFLASH

尊敬的 TI 支持团队:

我有、
AM261-LP、
IND_COMMS_SDK_am261x_2025_00_08

我正在使用 TI UniFlash 工具通过 JTAG 会话对器件进行编程、若能澄清用于 .mcelf_xip 映像的加载地址、不胜感激。

我注意到 .mcelf_xip 文件是使用地址 0xE0000000 进行编程的。 您能否确认这是否是器件中的实际存储器映射地址、或者它是否只是 UniFlash 用于将映像标识为 XIP 文件的已识别/元数据地址?

在 Profinet_device_demo 本示例中、 linker.cmd 文件将闪存区域定义为:

 
Flash:origin = 0x60100000、length = 0x200000  

这表明 0x60100000 是就地执行 (XIP) 存储器区域。 如果这是实际 XIP 执行地址、为什么 .mcelf_xip 映像 改为在 0xE0000000 处刷写?

您能否解释一下这两个地址之间的关系、并确认为 .mcelf_xip 映像推荐的 UniFlash 编程地址?

感谢您的支持。

此致、

 Parag Vora

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我注意到 .mcelf_xip 文件是使用地址 0xE0000000 进行编程的。 您能否确认这是否是器件中的实际存储器映射地址、或者它是否只是 UniFlash 用于将映像标识为 XIP 文件的已识别/元数据地址?

    0xE000000 不是地址、而是在器件 am261x 上运行的 Uniflash 脚本的幻数、明白这需要作为可执行文件在外部闪存中刷写。

    您能否解释这两个地址之间的关系并确认为 .mcelf_xip 映像推荐的 UniFlash 编程地址?

    mcelf_xip 在编译器将其放置在最终可执行文件中的位置所确定的运行地址处闪烁、可从.map 文件中看到。