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.

[参考译文] 编译器/TMS570LS0714:如何分配包含详细地址的 Const。

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/918046/compiler-tms570ls0714-how-to-assign-the-const-with-detail-address

器件型号:TMS570LS0714

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

您好 Champ、

如果 客户 定义如下所示的 const、

const uint16_t test1 = 0x1234;

并在 代码中使用该 const、如下所示。

uint16_t test2;

test2 = test1;

但是在构建之后、我们无法在映射文件的.const 段中找到 test1。

我的客户需要进行校准 并需要包含详细地址的 const。

请问您的方法是什么?

谢谢!

 

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

    使用 TI 编译器 v20.2-1、我发现将 test1声明为易失性会使其地址出现在映射文件中。

    即在代码中:

    const volatile uint16_t test1 = 0x1234; 

    和在映射文件中:

    全局符号:按符号地址
    
    名称排序
    ----
    
    00000120测试2
    00000124测试1 

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

    切斯特、您好!

    我是否知道对于旧版本编译器、是否有权变措施?

    这是否意味着从 v20.2-1开始、将支持包含地址的 const >

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

    [引用用户="Huihuang Chen ]]对于旧版本的编译器、我知道吗?我没有详细信息来检查行为是否相对于编译器版本发生了变化。

    查看一些其他编译器版本:

    • v18.1.5使用时仍在映射文件中显示 test1  constvolatileuint16_t
    • v16.9.9 使用时仍在映射文件中显示 test1  const volatile uint16_t

    也许您可以要求 George Mock 提供更确切的答案。