This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

NOLOAD directive for .uicr_bootloader_start_address and .uicr_mbr_params_page

The uicr_bootloader_start_address and .uicr_mbr_params_page have no NOLOAD directive (in all bootloader examples). With objcopy this will generate large object files. Locations like 0x10001014 lead to file sizes of approx. 256 MB.

                                                                                                      
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 = .);                                                                  
  } > uicr_bootloader_start_address                                                                                     
  . = ALIGN(4);                                                                                                         
  .uicr_mbr_params_page :                                                                                               
  {                                                                                                                     
    PROVIDE(__start_uicr_mbr_params_page = .);                                                                          
    KEEP(*(SORT(.uicr_mbr_params_page*)))                                                                               
    PROVIDE(__stop_uicr_mbr_params_page = .);                                                                           
  } > 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 = .);                                                                                
  } > mbr_params_page                                                                                                   
  . = ALIGN(4);                                                                                                         
  .bootloader_settings_page(NOLOAD) :                                                                                   
  {                                                                                                                     
    PROVIDE(__start_bootloader_settings_page = .);                                                                      
    KEEP(*(SORT(.bootloader_settings_page*)))                                                                           
    PROVIDE(__stop_bootloader_settings_page = .);                                                                       
  } > bootloader_settings_page                                                                                          
}                        

Related