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/TMS320F28388D:编译器

Guru**** 2611705 points


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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/959313/ccs-tms320f28388d-compiler

器件型号:TMS320F28388D

工具/软件:Code Composer Studio

您好!

为什么我无法将常量 xyz 定位到存储器 中添加0x084004、如下所示:

在 main.c 中定义

uint32 const xyz =0x12345678;

#pragma DATA_SECTION (xyz、"xyzAddr")

在 CMD 中定义

存储器

(笑声)

XYZ_Addr:origin = 0x084004,length = 0x04

(笑声)

部分

(笑声)

xyzAddr :>xyz_Addr  page = 0

(笑声)

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

    您好、 Jammy Feng、

    您能解释一下您所面临的错误吗? 变量是否分配在不同的存储器中、未正确加载?

    由于变量定义为常量、编译器可能会进行一些优化、因此根本不会分配变量。 编译器可能会将常量替换为其保留的值。

    此致、

    Veena

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

    雅美

    请尝试变量的 volatile const、看看它是否有用。  也许您的代码中还没有使用该变量。

    谢谢、此致、

    Vamsi

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

    Vamsi,

    我为如下变量尝试 volatile const:

    uint32 volatile const xyz =0x12345678;

    但  变量仍不 会分配 到内存中。

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

    您好 Jammy、

    您可以尝试 RETAIN pragma 吗?

    #pragma RETAIN ( xyz )

    此致、

    Veena

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

    您好、 Veena、

    它现在可以工作了。

    谢谢!