<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: place prameter in fix flash address in Kinetis Microcontrollers</title>
    <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/place-prameter-in-fix-flash-address/m-p/1436175#M62800</link>
    <description>&lt;P&gt;"&lt;SPAN&gt;(section(".ARM.__at_0x3000)..."&lt;BR /&gt;&lt;BR /&gt;That is a format I've never seen before, which isn't to say it is not valid.&lt;BR /&gt;That could mean it is offset 0x3000 bytes into the .ARM section, and not from absolute zero.&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;Take a look at these:&lt;BR /&gt;&lt;BR /&gt;&lt;A href="https://mcuoneclipse.com/2021/05/26/placing-code-in-sections-with-managed-gnu-linker-scripts/" target="_blank"&gt;https://mcuoneclipse.com/2021/05/26/placing-code-in-sections-with-managed-gnu-linker-scripts/&lt;/A&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&lt;A href="https://mcuoneclipse.com/2014/10/06/putting-code-of-files-into-special-section-with-the-gnu-linker/" target="_blank"&gt;https://mcuoneclipse.com/2014/10/06/putting-code-of-files-into-special-section-with-the-gnu-linker/&lt;/A&gt;&lt;BR /&gt;&lt;BR /&gt;The AT directive is probably not what you are after here.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;/*&lt;BR /&gt;* The AT directive tells the linker to load a section's data somewhere&lt;BR /&gt;* other than the address at which it's actually located.&lt;BR /&gt;*&lt;BR /&gt;* By supplying an AT directive for .data sections during linking, we&lt;BR /&gt;* tell the linker to assign a_global an address in one location&lt;BR /&gt;* (typically RAM), but place its initial value somewhere else (&lt;BR /&gt;* __text_end , usually ROM ).&lt;BR /&gt;*&lt;BR /&gt;* Symbols _text_end, _data_start , and _data_end to find the initial&lt;BR /&gt;* value, determine its size, and place it at its proper place in RAM.&lt;BR /&gt;*&lt;BR /&gt;* ADDR(section): Return the absolute address (the VMA) of the named&lt;BR /&gt;* section. The script must previously have defined the location of that&lt;BR /&gt;* section.&lt;BR /&gt;*&lt;BR /&gt;* ALIGN(exp):Return the location counter (.) aligned to the next exp&lt;BR /&gt;* boundary. ALIGN doesn't change the value of the location&lt;BR /&gt;* counter--it just does arithmetic on it.&lt;BR /&gt;*&lt;BR /&gt;* SIZEOF(section):Return the size in bytes of the named section, if&lt;BR /&gt;* that section has been allocated. If the section has not been&lt;BR /&gt;* allocated when this is evaluated, the linker will report an&lt;BR /&gt;* error.&lt;BR /&gt;*&lt;BR /&gt;* Initialized data will be placed at the end of the .text section:&lt;BR /&gt;*/&lt;BR /&gt;.flash_command : AT (__FLASH_AT)&lt;BR /&gt;{&lt;BR /&gt;. = ALIGN(4);&lt;BR /&gt;__flash_cmd_start__ = .;&lt;/P&gt;&lt;P&gt;KEEP(*(.flash_cmd)) /* Section to program Flash, that can not be in Flash when the Flash is being programmed */&lt;/P&gt;&lt;P&gt;__flash_cmd_end = .;&lt;BR /&gt;. = ALIGN(4);&lt;BR /&gt;} &amp;gt; RAM&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;</description>
    <pubDate>Wed, 30 Mar 2022 12:19:34 GMT</pubDate>
    <dc:creator>bobpaddock</dc:creator>
    <dc:date>2022-03-30T12:19:34Z</dc:date>
    <item>
      <title>place prameter in fix flash address</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/place-prameter-in-fix-flash-address/m-p/1435702#M62791</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;My device is MK64fn1m0xx12&lt;/P&gt;&lt;P&gt;i use MCUXpresso IDE&lt;/P&gt;&lt;P&gt;what is the way to place prameters in fix flash Adrres i use this code but it not work&lt;/P&gt;&lt;P&gt;advice&lt;/P&gt;&lt;P&gt;const Configuration_Device_Information_t __attribute__((section(".ARM.__at_0x3000"))) Configuration_DeviceInformationFactoryParam = {&lt;BR /&gt;DEVICE_ID ,&lt;BR /&gt;{(SOFTWARE_VERSION &amp;amp; 0xFF0000) &amp;gt;&amp;gt; 16, (SOFTWARE_VERSION &amp;amp; 0x00FF00) &amp;gt;&amp;gt; 8, (SOFTWARE_VERSION &amp;amp; 0x0000FF) &amp;gt;&amp;gt; 0} ,&lt;BR /&gt;};&lt;/P&gt;</description>
      <pubDate>Tue, 29 Mar 2022 18:46:07 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/place-prameter-in-fix-flash-address/m-p/1435702#M62791</guid>
      <dc:creator>AsafTv</dc:creator>
      <dc:date>2022-03-29T18:46:07Z</dc:date>
    </item>
    <item>
      <title>Re: place prameter in fix flash address</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/place-prameter-in-fix-flash-address/m-p/1436175#M62800</link>
      <description>&lt;P&gt;"&lt;SPAN&gt;(section(".ARM.__at_0x3000)..."&lt;BR /&gt;&lt;BR /&gt;That is a format I've never seen before, which isn't to say it is not valid.&lt;BR /&gt;That could mean it is offset 0x3000 bytes into the .ARM section, and not from absolute zero.&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;Take a look at these:&lt;BR /&gt;&lt;BR /&gt;&lt;A href="https://mcuoneclipse.com/2021/05/26/placing-code-in-sections-with-managed-gnu-linker-scripts/" target="_blank"&gt;https://mcuoneclipse.com/2021/05/26/placing-code-in-sections-with-managed-gnu-linker-scripts/&lt;/A&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&lt;A href="https://mcuoneclipse.com/2014/10/06/putting-code-of-files-into-special-section-with-the-gnu-linker/" target="_blank"&gt;https://mcuoneclipse.com/2014/10/06/putting-code-of-files-into-special-section-with-the-gnu-linker/&lt;/A&gt;&lt;BR /&gt;&lt;BR /&gt;The AT directive is probably not what you are after here.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;/*&lt;BR /&gt;* The AT directive tells the linker to load a section's data somewhere&lt;BR /&gt;* other than the address at which it's actually located.&lt;BR /&gt;*&lt;BR /&gt;* By supplying an AT directive for .data sections during linking, we&lt;BR /&gt;* tell the linker to assign a_global an address in one location&lt;BR /&gt;* (typically RAM), but place its initial value somewhere else (&lt;BR /&gt;* __text_end , usually ROM ).&lt;BR /&gt;*&lt;BR /&gt;* Symbols _text_end, _data_start , and _data_end to find the initial&lt;BR /&gt;* value, determine its size, and place it at its proper place in RAM.&lt;BR /&gt;*&lt;BR /&gt;* ADDR(section): Return the absolute address (the VMA) of the named&lt;BR /&gt;* section. The script must previously have defined the location of that&lt;BR /&gt;* section.&lt;BR /&gt;*&lt;BR /&gt;* ALIGN(exp):Return the location counter (.) aligned to the next exp&lt;BR /&gt;* boundary. ALIGN doesn't change the value of the location&lt;BR /&gt;* counter--it just does arithmetic on it.&lt;BR /&gt;*&lt;BR /&gt;* SIZEOF(section):Return the size in bytes of the named section, if&lt;BR /&gt;* that section has been allocated. If the section has not been&lt;BR /&gt;* allocated when this is evaluated, the linker will report an&lt;BR /&gt;* error.&lt;BR /&gt;*&lt;BR /&gt;* Initialized data will be placed at the end of the .text section:&lt;BR /&gt;*/&lt;BR /&gt;.flash_command : AT (__FLASH_AT)&lt;BR /&gt;{&lt;BR /&gt;. = ALIGN(4);&lt;BR /&gt;__flash_cmd_start__ = .;&lt;/P&gt;&lt;P&gt;KEEP(*(.flash_cmd)) /* Section to program Flash, that can not be in Flash when the Flash is being programmed */&lt;/P&gt;&lt;P&gt;__flash_cmd_end = .;&lt;BR /&gt;. = ALIGN(4);&lt;BR /&gt;} &amp;gt; RAM&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;</description>
      <pubDate>Wed, 30 Mar 2022 12:19:34 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/place-prameter-in-fix-flash-address/m-p/1436175#M62800</guid>
      <dc:creator>bobpaddock</dc:creator>
      <dc:date>2022-03-30T12:19:34Z</dc:date>
    </item>
  </channel>
</rss>

