AnsweredAssumed Answered

linker script help: What is meant by  >RAM_D1 AT> FLASH

Question asked by greenwood.greg on Apr 28, 2018
Latest reply on Apr 28, 2018 by Jack Peacock

This follows the .data {....} section.  I think I understand the first part >RAM_D1 meaning the data sections start in the RAM_D1 memory who's origin is 0x240000000 in my case, but what does the AT> Flash do?  My guess is that since this section is for initialized data the values used to initialize the variables in this section are stored in flash and copied out to RAM_D1 starting at the origin.  This is why the next section for .bss simply ends with >RAM_D1.  If I am correct, then I am confused with the next section for .lwip_sec which is:

.lwip_sec (NOLOAD) : {
    . = ABSOLUTE(0x30040000);
    *(.RxDecripSection)
    
    . = ABSOLUTE(0x30040060);
    *(.TxDecripSection)
    
    . = ABSOLUTE(0x30040200);
    *(.RxArraySection)
  } >RAM_D2 AT> FLASH

 

So does this man that 1) there is initialized data in Flash that goes here and 2) what is meant by (NOLOAD) and 3) how does the linker or code know how to get said data to these sections *(...)?

Outcomes