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.

[参考译文] MSP430F5338:与将变量放置在指定存储器位置相关的查询

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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/568338/msp430f5338-query-related-to-place-a-variable-in-specified-memory-location

器件型号:MSP430F5338

大家好、

我已通过以下链接了解如何存储
在指定的存储器位置使用 IAR 编译器中的#pragma。
processors.wiki.ti.com/.../Placing_Variables_in_Specific_Memory_Location_-_MSP430
关于这一点,我有以下问题
语句#pragma LOCATION = 0x1800已用于将变量 PORT_BIT 存储到中
0x1800的位置。 在中替换了预处理器#pragma
编译的预处理阶段此预处理器被替换、但在本例中为预处理阶段
由于正在访问内存位置、如何更换它?
2.代码#pragma LOCATION = 0x1800是否存储在存储器中? 我的理解就是这样
由于代码是预处理器、因此不会存储在何处。 是这样吗?

提前感谢

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    从"if"和"ifdef"的意义上讲、"pragma "实际上并不是预处理器指令。 如果您要通过预处理器运行源文件、则 pragma 将保留在输出中。

    相反、您应该将 pragma 视为编译器的指令。 在这种情况下、编译器将确保将指令之后的变量放置在存储器中的特定位置。 您可以检查编译器生成的列表文件、以查看使用指令时与未指定指令时的区别。

    Anders Lindgren,IAR Systems