<?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>DFU customize</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/56272/dfu-customize</link><description>Hello. 
 During customizing a DFU, but I&amp;#39;m having trouble adding function [nrf_dfu_transports_close] in function [on_ctrl_pt_write]. 
 I&amp;#39;m not now fetching all the c files, only the functions I need. 
 When I compile I get the following error. Why is</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Thu, 16 Apr 2020 08:12:09 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/56272/dfu-customize" /><item><title>RE: DFU customize</title><link>https://devzone.nordicsemi.com/thread/244886?ContentTypeID=1</link><pubDate>Thu, 16 Apr 2020 08:12:09 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:b873e525-fe3c-4658-ae58-6abaccfa5e0a</guid><dc:creator>kevin seo</dc:creator><description>&lt;p&gt;Thank you!&lt;/p&gt;
&lt;div class="tlid-results-container results-container"&gt;
&lt;div class="tlid-result result-dict-wrapper"&gt;
&lt;div class="result tlid-copy-target"&gt;
&lt;div class="result-header"&gt;
&lt;div class="starbutton jfk-button-flat jfk-button unstarred"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div class="text-wrap tlid-copy-target"&gt;
&lt;div class="result-shield-container tlid-copy-target"&gt;&lt;span class="tlid-translation translation" lang="en"&gt;&lt;span class="" title=""&gt;The error has been cleared.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: DFU customize</title><link>https://devzone.nordicsemi.com/thread/244322?ContentTypeID=1</link><pubDate>Tue, 14 Apr 2020 06:58:11 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:f38856c4-5ced-4e08-9b46-07effae97e1b</guid><dc:creator>bjorn-spockeli</dc:creator><description>&lt;p&gt;Are you using the Makefile from the SDK example to compile the bootloader project?&amp;nbsp; Below is the default linker script for our Bootloader example project. In your linker script there appears to be a lot of sections missing.&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 = 0xf8000, LENGTH = 0x6000
  RAM (rwx) :  ORIGIN = 0x200057b8, LENGTH = 0x3a848
  uicr_bootloader_start_address (r) : ORIGIN = 0x00000FF8, LENGTH = 0x4
  bootloader_settings_page (r) : ORIGIN = 0x000FF000, LENGTH = 0x1000
  uicr_mbr_params_page (r) : ORIGIN = 0x00000FFC, LENGTH = 0x4
  mbr_params_page (r) : ORIGIN = 0x000FE000, LENGTH = 0x1000
}

SECTIONS
{
  . = ALIGN(4);
  .uicr_bootloader_start_address :
  {
    PROVIDE(__start_uicr_bootloader_start_address = .);
    KEEP(*(SORT(.uicr_bootloader_start_address*)))
    PROVIDE(__stop_uicr_bootloader_start_address = .);
  } &amp;gt; uicr_bootloader_start_address
  . = ALIGN(4);
  .bootloader_settings_page(NOLOAD) :
  {
    PROVIDE(__start_bootloader_settings_page = .);
    KEEP(*(SORT(.bootloader_settings_page*)))
    PROVIDE(__stop_bootloader_settings_page = .);
  } &amp;gt; bootloader_settings_page
  . = ALIGN(4);
  .uicr_mbr_params_page :
  {
    PROVIDE(__start_uicr_mbr_params_page = .);
    KEEP(*(SORT(.uicr_mbr_params_page*)))
    PROVIDE(__stop_uicr_mbr_params_page = .);
  } &amp;gt; uicr_mbr_params_page
  . = ALIGN(4);
  .mbr_params_page(NOLOAD) :
  {
    PROVIDE(__start_mbr_params_page = .);
    KEEP(*(SORT(.mbr_params_page*)))
    PROVIDE(__stop_mbr_params_page = .);
  } &amp;gt; mbr_params_page
}

SECTIONS
{
  . = ALIGN(4);
  .mem_section_dummy_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
  .fs_data :
  {
    PROVIDE(__start_fs_data = .);
    KEEP(*(.fs_data))
    PROVIDE(__stop_fs_data = .);
  } &amp;gt; RAM

} INSERT AFTER .data;

SECTIONS
{
  .mem_section_dummy_rom :
  {
  }
  .crypto_data :
  {
    PROVIDE(__start_crypto_data = .);
    KEEP(*(SORT(.crypto_data*)))
    PROVIDE(__stop_crypto_data = .);
  } &amp;gt; FLASH
    .nrf_queue :
  {
    PROVIDE(__start_nrf_queue = .);
    KEEP(*(.nrf_queue))
    PROVIDE(__stop_nrf_queue = .);
  } &amp;gt; FLASH
  .dfu_trans :
  {
    PROVIDE(__start_dfu_trans = .);
    KEEP(*(SORT(.dfu_trans*)))
    PROVIDE(__stop_dfu_trans = .);
  } &amp;gt; FLASH
    .svc_data :
  {
    PROVIDE(__start_svc_data = .);
    KEEP(*(.svc_data))
    PROVIDE(__stop_svc_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
    .nrf_balloc :
  {
    PROVIDE(__start_nrf_balloc = .);
    KEEP(*(.nrf_balloc))
    PROVIDE(__stop_nrf_balloc = .);
  } &amp;gt; FLASH
  .sdh_ble_observers :
  {
    PROVIDE(__start_sdh_ble_observers = .);
    KEEP(*(SORT(.sdh_ble_observers*)))
    PROVIDE(__stop_sdh_ble_observers = .);
  } &amp;gt; FLASH
  .log_backends :
  {
    PROVIDE(__start_log_backends = .);
    KEEP(*(SORT(.log_backends*)))
    PROVIDE(__stop_log_backends = .);
  } &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
  .sdh_soc_observers :
  {
    PROVIDE(__start_sdh_soc_observers = .);
    KEEP(*(SORT(.sdh_soc_observers*)))
    PROVIDE(__stop_sdh_soc_observers = .);
  } &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: DFU customize</title><link>https://devzone.nordicsemi.com/thread/244311?ContentTypeID=1</link><pubDate>Tue, 14 Apr 2020 02:48:06 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:8a884377-661f-404f-b723-31001ad9ea1e</guid><dc:creator>kevin seo</dc:creator><description>&lt;p&gt;Hi bjorn, I have been busy for the last 3 months.&lt;/p&gt;
&lt;p&gt;I attached .ld file.&lt;/p&gt;
&lt;p&gt;Please check it.&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="text"&gt;/* This file is compiler dependent */

/* Entry Point */
ENTRY(Reset_Handler)

/* Generate a link error if heap and stack don&amp;#39;t fit into RAM */
_start_and_int_stack_size = 0x800; /* Required amount of stack. This NEEDS to be at least 0x800, do not decrease. */

/* The firmware header, used by the application that downloads/programs this application, resides right after
 * the vector table. It would perhaps make more sense to have it first, but the vector table must be aligned 
 * on even 512 bytes, so in order to save some flash memory the header is placed after the vector table.
 */
_header_start_offset        = 0x200;

/* Specify the memory areas */

MEMORY
{
  FLASH (rx)           : ORIGIN = 0x00026000, LENGTH = 0xAC000
  FW_FLASH_END         : ORIGIN = 0x000D2000, LENGTH = 0x0       /* end marker */
  STORAGE_DATA (r)     : ORIGIN = 0x000D2000, LENGTH = 0x4000    /* 4 x 4096 bytes */
  STORAGE_DATA_END (r) : ORIGIN = 0x000D6000, LENGTH = 0x0       /* end marker */
  SHARED_DATA (r)      : ORIGIN = 0x000FD000, LENGTH = 0x2000    /* 2 x 4096 bytes */
  SHARED_DATA_END (r)  : ORIGIN = 0x000FF000, LENGTH = 0x0       /* end marker */
  RAM_NVIC (rwx)       : ORIGIN = 0x20004600, LENGTH = 0x100
  RAM (rwx)            : ORIGIN = 0x20004700, LENGTH = (0x40000 - 0x4600 - 0x100 - 0x20 - 0x130)
  RAM_SHARED (rw)      : ORIGIN = 0x2003FEB0, LENGTH = 0x20
  PERSISTENT_RAM(xrw)  : ORIGIN = 0x2003FED0, LENGTH = 0x130
}


SECTIONS
{
  .text :
  {
    KEEP(*(.isr_vector))    /*  vector table (code) */
                
    . = _header_start_offset;
    *(.fw_header)           /* Header information of next FW */
    KEEP(*(.fw_header))

    . = ALIGN(4);
    *(.text)                /* .text sections (code) */
    *(.text*)               /* .text* sections (code) */
    *(.rodata)              /* .rodata sections (constants, strings, etc.) */
    *(.rodata*)             /* .rodata* sections (constants, strings, etc.) */
    *(.glue_7)              /* glue arm to thumb code */
    *(.glue_7t)             /* glue thumb to arm code */
    *(.eh_frame)
 
    KEEP(*(.init))
    KEEP(*(.fini))

    . = ALIGN(4);
    _etext = .;        /* define a global symbols at end of code */
  } &amp;gt; FLASH
 
  /* Names beginning .ARM.exidx name sections containing index entries for section unwinding. 
   * Names beginning .ARM.extab name sections containing exception unwinding information.   */
  .ARM.extab   : { *(.ARM.extab* .gnu.linkonce.armextab.*) } &amp;gt;FLASH
  .ARM : {
     __exidx_start = .;
    *(.ARM.exidx*)
    __exidx_end = .;
  } &amp;gt;FLASH
        
  .note.gnu.build-id : 
  { 
    PROVIDE( __gnuBuildId = . );
    *(.note.gnu.build-id) 
  } &amp;gt; FLASH
    
  .systemControlInitList :
  {
    PROVIDE( __systemControlInitList_start = . );
    KEEP( *(.systemControlInitList))
    PROVIDE( __systemControlInitList_end = . );
  } &amp;gt;FLASH

  .mbsConsoleCmdList :
  {
    PROVIDE( __mbsConsoleCmdList_start = . );
    KEEP( *(.mbsConsoleCmdList))
    PROVIDE( __mbsConsoleCmdList_end = . );
  } &amp;gt;FLASH

  .systemControlEvHandlerList :
  {
    PROVIDE( __systemControlEvHandlerList_start = . );
    KEEP( *(.systemControlEvHandlerList))
    PROVIDE( __systemControlEvHandlerList_end = . );
  } &amp;gt;FLASH

  .eventDispatcherList :
  {
    PROVIDE( __eventDispatcherList_start = . );
    KEEP( *(.eventDispatcherList))
    PROVIDE( __eventDispatcherList_end = . );
  } &amp;gt;FLASH
  
  .sdh_soc_observers :
  {
    PROVIDE(__start_sdh_soc_observers = .);
    KEEP(*(SORT(.sdh_soc_observers*)))
    PROVIDE(__stop_sdh_soc_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
  .sdh_stack_observers :
  {
    PROVIDE(__start_sdh_stack_observers = .);
    KEEP(*(SORT(.sdh_stack_observers*)))
    PROVIDE(__stop_sdh_stack_observers = .);
  } &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_ble_observers :
  {
    PROVIDE(__start_sdh_ble_observers = .);
    KEEP(*(SORT(.sdh_ble_observers*)))
    PROVIDE(__stop_sdh_ble_observers = .);
  } &amp;gt; FLASH
  
  __etext = .;
  
  .storageData :
  {
    __STORAGE_DATA_START__ = .; /* define global symbol for end of storage data section. */  
  } &amp;gt;STORAGE_DATA

  .storageDataEnd :
  {
    __STORAGE_DATA_END__ = .; /* define global symbol for start of storage data section. */  
  } &amp;gt;STORAGE_DATA_END

  .sharedData :
  {
    __SHARED_DATA_START__ = .; /* define global symbol for start of shared data section. */  
  } &amp;gt;SHARED_DATA
  
  .sharedDataEnd :
  {
    __SHARED_DATA_END__ = .; /* define global symbol for end of shared data section. */  
  } &amp;gt;SHARED_DATA_END
  
  .data : AT (__etext)
  {
    . = ALIGN(4);
    _sdata = .;        /* create a global symbol at data start */
    __data_start__ = .;
    *(.data)           /* .data sections */
    *(.data*)
    *(.RamFunc)        /* .RamFunc sections */
    
    . = ALIGN(4);
    _edata = .;        /* define a global symbol at data end */
  } &amp;gt; RAM

  .bss :
  {
    . = ALIGN(4);
    _sbss = .;         /* define a global symbol at bss start */
    __bss_start__ = _sbss;
    *(.bss)
    *(.bss*)
    *(COMMON)

    . = ALIGN(4);
    _ebss = .;         /* define a global symbol at bss end */
    __bss_end__ = _ebss;
  } &amp;gt; RAM
  
  PROVIDE ( end = _ebss );
  PROVIDE ( _end = _ebss );

  .nvictable (NOLOAD) :
  {
    PROVIDE(__start_nvictable = .);
    KEEP(*(.nvictable))
    PROVIDE(__stop_nvictable = .);
  } &amp;gt; RAM_NVIC

  .noinit (NOLOAD) :
  {
    PROVIDE(__start_noinit = .);
    KEEP(*(.noinit))
    PROVIDE(__stop_noinit = .);
  } &amp;gt; RAM
  
  /* Start_and_int_stack section
   * NOTE this is only used to check that there is enough RAM left,
   * the stack will in reality be located elsewhere so that it starts at the highest 
   * address _estack and ends at (_estack - _start_and_int_stack_size)
   */
   
  ._start_and_int_stack_size_reservation :
  {
    . = ALIGN(4);
    . = . + _start_and_int_stack_size;
    . = ALIGN(4);
  } &amp;gt;RAM
     
  .intBinRamVarsSection (NOLOAD) :
  {
    . = ALIGN(4);
    *(.intBinRamVarsSection)
    . = ALIGN(4);
  } &amp;gt;RAM_SHARED
  
  /* Persistent (not even zeroed) RAM section */
  .persistent_ram (NOLOAD) :
  {
    *(.persistent_ram)
  } &amp;gt;PERSISTENT_RAM
    
    /* Set the stack top to the end of RAM and move down the stack limit by
     * the size of the stack_dummy section. */
    __StackTop = ORIGIN(RAM) + LENGTH(RAM);
    __StackLimit = __StackTop - SIZEOF(._start_and_int_stack_size_reservation);
    PROVIDE(__stack = __StackTop);

  /* Remove information from the standard libraries */
  /DISCARD/ :      
  {                
    libc.a ( * )
    libm.a ( * )
    libgcc.a ( * )
  }
  /* Build attributes are encoded in a section of type SHT_ARM_ATTRIBUTES, and name .ARM.attributes. */
  .ARM.attributes 0 : { *(.ARM.attributes) }
}
&lt;/pre&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: DFU customize</title><link>https://devzone.nordicsemi.com/thread/229751?ContentTypeID=1</link><pubDate>Mon, 20 Jan 2020 07:28:03 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:813fdada-e006-4ecb-be80-4cbdd51f55cf</guid><dc:creator>bjorn-spockeli</dc:creator><description>&lt;p&gt;There is not&amp;nbsp;&lt;span&gt;nrf52840.ld file attached to this case.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: DFU customize</title><link>https://devzone.nordicsemi.com/thread/229500?ContentTypeID=1</link><pubDate>Fri, 17 Jan 2020 00:33:31 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:323f0ab2-6526-4488-a521-67d1ab081728</guid><dc:creator>kevin seo</dc:creator><description>&lt;p&gt;I was upload nrf52840.ld file.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: DFU customize</title><link>https://devzone.nordicsemi.com/thread/229358?ContentTypeID=1</link><pubDate>Thu, 16 Jan 2020 09:12:33 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:e8c9f25a-d61b-4b1c-a89c-9325ba138377</guid><dc:creator>bjorn-spockeli</dc:creator><description>&lt;p&gt;If you&amp;#39;re not able to upload the .ld file to the case, then please just copy the content of the file and paste it in a &amp;quot;Insert Code&amp;quot; block. (Click Insert -&amp;gt; Insert Code below)&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: DFU customize</title><link>https://devzone.nordicsemi.com/thread/229334?ContentTypeID=1</link><pubDate>Thu, 16 Jan 2020 07:40:08 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:f5de550a-a55a-472b-bc06-76168851cc11</guid><dc:creator>kevin seo</dc:creator><description>&lt;p&gt;&lt;span&gt;I tried But the overlaps error is still not clear.&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: DFU customize</title><link>https://devzone.nordicsemi.com/thread/229168?ContentTypeID=1</link><pubDate>Wed, 15 Jan 2020 09:06:05 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:81d5d087-5363-4fee-8da4-56fd0f20fc93</guid><dc:creator>bjorn-spockeli</dc:creator><description>&lt;p&gt;I do not see any .ld file attached to this case. Can you try to attach it again?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: DFU customize</title><link>https://devzone.nordicsemi.com/thread/229131?ContentTypeID=1</link><pubDate>Wed, 15 Jan 2020 00:03:12 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:239e7f7f-f8b5-4c41-b73e-f62badd5fc62</guid><dc:creator>kevin seo</dc:creator><description>&lt;p&gt;My SDK version is 15.3&lt;/p&gt;
&lt;p&gt;And th&lt;span&gt;e .ld file is already included. What should I modify here?&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: DFU customize</title><link>https://devzone.nordicsemi.com/thread/228320?ContentTypeID=1</link><pubDate>Thu, 09 Jan 2020 10:24:49 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:2623ff97-45bc-4792-a4ec-492bff0d7264</guid><dc:creator>bjorn-spockeli</dc:creator><description>&lt;p&gt;Hi Kevin,&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Which SDK version are you using?&amp;nbsp;&lt;/p&gt;
&lt;p&gt;The error indicates that there is an error in the linker script. Could you attach the .ld file you&amp;#39;re using in your project?&lt;/p&gt;
&lt;p&gt;Best regards&lt;/p&gt;
&lt;p&gt;Bjørn&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>