Ви не можете вибрати більше 25 тем Теми мають розпочинатися з літери або цифри, можуть містити дефіси (-) і не повинні перевищувати 35 символів.

137 lines
6.7KB

  1. <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
  2. <html>
  3. <!-- Copyright (C) 1988-2020 Free Software Foundation, Inc.
  4. Permission is granted to copy, distribute and/or modify this document
  5. under the terms of the GNU Free Documentation License, Version 1.3 or
  6. any later version published by the Free Software Foundation; with the
  7. Invariant Sections being "Funding Free Software", the Front-Cover
  8. Texts being (a) (see below), and with the Back-Cover Texts being (b)
  9. (see below). A copy of the license is included in the section entitled
  10. "GNU Free Documentation License".
  11. (a) The FSF's Front-Cover Text is:
  12. A GNU Manual
  13. (b) The FSF's Back-Cover Text is:
  14. You have freedom to copy and modify this GNU Manual, like GNU
  15. software. Copies published by the Free Software Foundation raise
  16. funds for GNU development. -->
  17. <!-- Created by GNU Texinfo 6.5, http://www.gnu.org/software/texinfo/ -->
  18. <head>
  19. <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  20. <title>MSP430 Variable Attributes (Using the GNU Compiler Collection (GCC))</title>
  21. <meta name="description" content="MSP430 Variable Attributes (Using the GNU Compiler Collection (GCC))">
  22. <meta name="keywords" content="MSP430 Variable Attributes (Using the GNU Compiler Collection (GCC))">
  23. <meta name="resource-type" content="document">
  24. <meta name="distribution" content="global">
  25. <meta name="Generator" content="makeinfo">
  26. <link href="index.html#Top" rel="start" title="Top">
  27. <link href="Option-Index.html#Option-Index" rel="index" title="Option Index">
  28. <link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
  29. <link href="Variable-Attributes.html#Variable-Attributes" rel="up" title="Variable Attributes">
  30. <link href="Nvidia-PTX-Variable-Attributes.html#Nvidia-PTX-Variable-Attributes" rel="next" title="Nvidia PTX Variable Attributes">
  31. <link href="Microsoft-Windows-Variable-Attributes.html#Microsoft-Windows-Variable-Attributes" rel="prev" title="Microsoft Windows Variable Attributes">
  32. <style type="text/css">
  33. <!--
  34. a.summary-letter {text-decoration: none}
  35. blockquote.indentedblock {margin-right: 0em}
  36. blockquote.smallindentedblock {margin-right: 0em; font-size: smaller}
  37. blockquote.smallquotation {font-size: smaller}
  38. div.display {margin-left: 3.2em}
  39. div.example {margin-left: 3.2em}
  40. div.lisp {margin-left: 3.2em}
  41. div.smalldisplay {margin-left: 3.2em}
  42. div.smallexample {margin-left: 3.2em}
  43. div.smalllisp {margin-left: 3.2em}
  44. kbd {font-style: oblique}
  45. pre.display {font-family: inherit}
  46. pre.format {font-family: inherit}
  47. pre.menu-comment {font-family: serif}
  48. pre.menu-preformatted {font-family: serif}
  49. pre.smalldisplay {font-family: inherit; font-size: smaller}
  50. pre.smallexample {font-size: smaller}
  51. pre.smallformat {font-family: inherit; font-size: smaller}
  52. pre.smalllisp {font-size: smaller}
  53. span.nolinebreak {white-space: nowrap}
  54. span.roman {font-family: initial; font-weight: normal}
  55. span.sansserif {font-family: sans-serif; font-weight: normal}
  56. ul.no-bullet {list-style: none}
  57. -->
  58. </style>
  59. </head>
  60. <body lang="en">
  61. <a name="MSP430-Variable-Attributes"></a>
  62. <div class="header">
  63. <p>
  64. Next: <a href="Nvidia-PTX-Variable-Attributes.html#Nvidia-PTX-Variable-Attributes" accesskey="n" rel="next">Nvidia PTX Variable Attributes</a>, Previous: <a href="Microsoft-Windows-Variable-Attributes.html#Microsoft-Windows-Variable-Attributes" accesskey="p" rel="prev">Microsoft Windows Variable Attributes</a>, Up: <a href="Variable-Attributes.html#Variable-Attributes" accesskey="u" rel="up">Variable Attributes</a> &nbsp; [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Option-Index.html#Option-Index" title="Index" rel="index">Index</a>]</p>
  65. </div>
  66. <hr>
  67. <a name="MSP430-Variable-Attributes-1"></a>
  68. <h4 class="subsection">6.34.10 MSP430 Variable Attributes</h4>
  69. <dl compact="compact">
  70. <dt><code>noinit</code></dt>
  71. <dd><a name="index-noinit-variable-attribute_002c-MSP430"></a>
  72. <p>Any data with the <code>noinit</code> attribute will not be initialised by
  73. the C runtime startup code, or the program loader. Not initialising
  74. data in this way can reduce program startup times.
  75. </p>
  76. </dd>
  77. <dt><code>persistent</code></dt>
  78. <dd><a name="index-persistent-variable-attribute_002c-MSP430"></a>
  79. <p>Any variable with the <code>persistent</code> attribute will not be
  80. initialised by the C runtime startup code. Instead its value will be
  81. set once, when the application is loaded, and then never initialised
  82. again, even if the processor is reset or the program restarts.
  83. Persistent data is intended to be placed into FLASH RAM, where its
  84. value will be retained across resets. The linker script being used to
  85. create the application should ensure that persistent data is correctly
  86. placed.
  87. </p>
  88. </dd>
  89. <dt><code>upper</code></dt>
  90. <dt><code>either</code></dt>
  91. <dd><a name="index-upper-variable-attribute_002c-MSP430"></a>
  92. <a name="index-either-variable-attribute_002c-MSP430"></a>
  93. <p>These attributes are the same as the MSP430 function attributes of the
  94. same name (see <a href="MSP430-Function-Attributes.html#MSP430-Function-Attributes">MSP430 Function Attributes</a>).
  95. </p>
  96. </dd>
  97. <dt><code>lower</code></dt>
  98. <dd><a name="index-lower-variable-attribute_002c-MSP430"></a>
  99. <p>This option behaves mostly the same as the MSP430 function attribute of the
  100. same name (see <a href="MSP430-Function-Attributes.html#MSP430-Function-Attributes">MSP430 Function Attributes</a>), but it has some additional
  101. functionality.
  102. </p>
  103. <p>If <samp>-mdata-region=</samp>{<code>upper,either,none</code>} has been passed, or
  104. the <code>section</code> attribute is applied to a variable, the compiler will
  105. generate 430X instructions to handle it. This is because the compiler has
  106. to assume that the variable could get placed in the upper memory region
  107. (above address 0xFFFF). Marking the variable with the <code>lower</code> attribute
  108. informs the compiler that the variable will be placed in lower memory so it
  109. is safe to use 430 instructions to handle it.
  110. </p>
  111. <p>In the case of the <code>section</code> attribute, the section name given
  112. will be used, and the <code>.lower</code> prefix will not be added.
  113. </p>
  114. </dd>
  115. </dl>
  116. <hr>
  117. <div class="header">
  118. <p>
  119. Next: <a href="Nvidia-PTX-Variable-Attributes.html#Nvidia-PTX-Variable-Attributes" accesskey="n" rel="next">Nvidia PTX Variable Attributes</a>, Previous: <a href="Microsoft-Windows-Variable-Attributes.html#Microsoft-Windows-Variable-Attributes" accesskey="p" rel="prev">Microsoft Windows Variable Attributes</a>, Up: <a href="Variable-Attributes.html#Variable-Attributes" accesskey="u" rel="up">Variable Attributes</a> &nbsp; [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Option-Index.html#Option-Index" title="Index" rel="index">Index</a>]</p>
  120. </div>
  121. </body>
  122. </html>