<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="https://devzone.nordicsemi.com/cfs-file/__key/system/syndication/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>From NRF52 SES Flash Placement File (.xml) to GNU Linker script file (.ld)</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/67890/from-nrf52-ses-flash-placement-file-xml-to-gnu-linker-script-file-ld</link><description>Hello, 
 I want to migrate from Segger project to gnu arm gcc project. 
 I Segger&amp;#39;s project, I have add several RAM memory regions in flash_placement.xml. Now want to move all those memory regions in armgcc linker script (.ld). 
 
 Looking at linker script</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Tue, 03 Nov 2020 23:59:47 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/67890/from-nrf52-ses-flash-placement-file-xml-to-gnu-linker-script-file-ld" /><item><title>RE: From NRF52 SES Flash Placement File (.xml) to GNU Linker script file (.ld)</title><link>https://devzone.nordicsemi.com/thread/278340?ContentTypeID=1</link><pubDate>Tue, 03 Nov 2020 23:59:47 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:841b8928-d5c1-4957-a628-6092f6febfb5</guid><dc:creator>KRD</dc:creator><description>&lt;p&gt;Thanks. This is perfect.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: From NRF52 SES Flash Placement File (.xml) to GNU Linker script file (.ld)</title><link>https://devzone.nordicsemi.com/thread/278256?ContentTypeID=1</link><pubDate>Tue, 03 Nov 2020 12:17:32 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:4857bdf6-f875-44b5-8336-7c12c50e3cb5</guid><dc:creator>Vidar Berg</dc:creator><description>&lt;p&gt;Ok, then it may look something like this:&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="c_cpp"&gt;/* Linker script to configure memory regions. */

SEARCH_DIR(.)
GROUP(-lgcc -lc -lnosys)

MEMORY
{
  FLASH (rx) : ORIGIN = 0x26000, LENGTH = 0x5a000
  RAM (rwx) :  ORIGIN = 0x20002bd0, LENGTH = 0xd430
  RETAINED_RAM (rwx) : ORIGIN = 0x2000F800, LENGTH = 0x800
}

SECTIONS
{
  .retained_section (NOLOAD) :
  {
	PROVIDE(__start_retained_section = .);
	KEEP(*(.retained_section))
	PROVIDE(__stop__retained_section = .);
   } &amp;gt; RETAINED_RAM
}

SECTIONS
{
  . = ALIGN(4);
  .mem_section_dummy_ram :
  {
  }
  .cli_sorted_cmd_ptrs :
  {
    PROVIDE(__start_cli_sorted_cmd_ptrs = .);
    KEEP(*(.cli_sorted_cmd_ptrs))
    PROVIDE(__stop_cli_sorted_cmd_ptrs = .);
  } &amp;gt; RAM
  .fs_data :
  {
    PROVIDE(__start_fs_data = .);
    KEEP(*(.fs_data))
    PROVIDE(__stop_fs_data = .);
  } &amp;gt; RAM
  .log_dynamic_data :
  {
    PROVIDE(__start_log_dynamic_data = .);
    KEEP(*(SORT(.log_dynamic_data*)))
    PROVIDE(__stop_log_dynamic_data = .);
  } &amp;gt; RAM
  .log_filter_data :
  {
    PROVIDE(__start_log_filter_data = .);
    KEEP(*(SORT(.log_filter_data*)))
    PROVIDE(__stop_log_filter_data = .);
  } &amp;gt; RAM

} INSERT AFTER .data;

SECTIONS
{
  .mem_section_dummy_rom :
  {
  }
  .sdh_soc_observers :
  {
    PROVIDE(__start_sdh_soc_observers = .);
    KEEP(*(SORT(.sdh_soc_observers*)))
    PROVIDE(__stop_sdh_soc_observers = .);
  } &amp;gt; FLASH
  .sdh_ble_observers :
  {
    PROVIDE(__start_sdh_ble_observers = .);
    KEEP(*(SORT(.sdh_ble_observers*)))
    PROVIDE(__stop_sdh_ble_observers = .);
  } &amp;gt; FLASH
  .pwr_mgmt_data :
  {
    PROVIDE(__start_pwr_mgmt_data = .);
    KEEP(*(SORT(.pwr_mgmt_data*)))
    PROVIDE(__stop_pwr_mgmt_data = .);
  } &amp;gt; FLASH
    .nrf_queue :
  {
    PROVIDE(__start_nrf_queue = .);
    KEEP(*(.nrf_queue))
    PROVIDE(__stop_nrf_queue = .);
  } &amp;gt; FLASH
  .sdh_req_observers :
  {
    PROVIDE(__start_sdh_req_observers = .);
    KEEP(*(SORT(.sdh_req_observers*)))
    PROVIDE(__stop_sdh_req_observers = .);
  } &amp;gt; FLASH
  .sdh_state_observers :
  {
    PROVIDE(__start_sdh_state_observers = .);
    KEEP(*(SORT(.sdh_state_observers*)))
    PROVIDE(__stop_sdh_state_observers = .);
  } &amp;gt; FLASH
  .sdh_stack_observers :
  {
    PROVIDE(__start_sdh_stack_observers = .);
    KEEP(*(SORT(.sdh_stack_observers*)))
    PROVIDE(__stop_sdh_stack_observers = .);
  } &amp;gt; FLASH
    .nrf_balloc :
  {
    PROVIDE(__start_nrf_balloc = .);
    KEEP(*(.nrf_balloc))
    PROVIDE(__stop_nrf_balloc = .);
  } &amp;gt; FLASH
    .cli_command :
  {
    PROVIDE(__start_cli_command = .);
    KEEP(*(.cli_command))
    PROVIDE(__stop_cli_command = .);
  } &amp;gt; FLASH
  .crypto_data :
  {
    PROVIDE(__start_crypto_data = .);
    KEEP(*(SORT(.crypto_data*)))
    PROVIDE(__stop_crypto_data = .);
  } &amp;gt; FLASH
  .log_const_data :
  {
    PROVIDE(__start_log_const_data = .);
    KEEP(*(SORT(.log_const_data*)))
    PROVIDE(__stop_log_const_data = .);
  } &amp;gt; FLASH
  .log_backends :
  {
    PROVIDE(__start_log_backends = .);
    KEEP(*(SORT(.log_backends*)))
    PROVIDE(__stop_log_backends = .);
  } &amp;gt; FLASH

} INSERT AFTER .text


INCLUDE &amp;quot;nrf_common.ld&amp;quot;
&lt;/pre&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: From NRF52 SES Flash Placement File (.xml) to GNU Linker script file (.ld)</title><link>https://devzone.nordicsemi.com/thread/278171?ContentTypeID=1</link><pubDate>Tue, 03 Nov 2020 01:13:34 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:123fec81-06a9-4cc1-9568-3b81cb093df1</guid><dc:creator>KRD</dc:creator><description>&lt;p&gt;Yes. I am planning to use `armgcc` project.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: From NRF52 SES Flash Placement File (.xml) to GNU Linker script file (.ld)</title><link>https://devzone.nordicsemi.com/thread/278093?ContentTypeID=1</link><pubDate>Mon, 02 Nov 2020 13:42:39 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:da52c6ac-6120-4233-be31-f79f92f73cd7</guid><dc:creator>Vidar Berg</dc:creator><description>&lt;p&gt;Hello,&lt;/p&gt;
&lt;p&gt;The Segger projects in our SDK are set up to use the GNU linker - it auto-generates the&amp;nbsp; *.ld script file (placed in build folder) based on the layout described by the&amp;nbsp;flash_placement.xml.&amp;nbsp; But are you planning to work with the same linker script and makefiles as we use for the &amp;quot;armgcc&amp;quot; projects in the SDK?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>