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/MSP430FR5994:默认内存原始错误

Guru**** 2609955 points


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

https://e2e.ti.com/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/640442/ccs-msp430fr5994-default-memory-primitive-error

部件号:MSP430FR5994

工具/软件:Code Composer Studio

您好,

我正在开发一个应用程序,希望将链接器命令中的默认FRAM重命名为用户定义的FRAM。 所以改变了

内存


FRAM:原点= 0x4000,长度= 0xBF80

}

至  

内存

 //FRAM:原点= 0x4000,长度= 0x2 (仅适用于此注释掉的情况)
APP_FRAM:原点= 0x4002,长度= 0x7F7E

}

显示以下错误消息

说明资源路径位置类型
默认内存范围与现有内存范围APP_FRAM重叠默认内存范围与现有内存范围APP_FRAM CXR_16k_edition_UART_MASTER C/C++问题重叠

我的问题是什么是默认基元(在内存视图中显示为16字节),除了在0x4000位置声明FRAM部分之外,还有什么方法可以解决这个问题。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    default是链接程序的目标内存的默认概念。 通常只是整个地址空间。 很奇怪,你会得到默认值的引用,因为它只应该在你根本不提供任何内存规范的情况下使用。 您是否可能使用多个链接程序命令文件? 您是否有一个分区放置在0x4000左右的绝对地址?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    非常感谢,您的回答帮助我指明了正确的方向。 链接程序命令文件将Group(rw_IPE)放入硬编码地址0x4000中。 这样的评论解决了问题。

    蒂姆


    组(RW_IPE)

    组(read_write_memory)


    .ti.persistent:{} /*用于#pragma持久性 */
    首席信息官 :{} /* C I/O缓冲器 */
    sysmem :{} /*动态内存分配区域*/
    } PALIGN(0x0400),run_start(fram_rw_start)

    组(IPENCAPSULATED_MEMORY)

    ipestruct :{} /* IPE数据结构 */
    IPE :{} /* IPE */
    IPE_const :{} /* IPE保护常量 */
    IPE:_ISR :{} /* IPE ISR */
    } PALIGN(0x0400),run_start(fram_ipe_start) run_end(fram_ipe_end) run_end(fram_rx_start)
    }> 0x4000