linker script

    xiaoxiao2021-03-25  62

    

    http://www.bravegnu.org/gnu-eprog/data-in-ram.html

    SECTIONS {  . = 0x00000000;    .text : {     crt0.o (.text);     leds.o (.text);    }  etext = .;      . = 0XA0000000;    ram_sdata = .;    .data ALIGN(4) : AT(etext){ *(.data) }  .rodata ALIGN(4) : {*(.rodata)}  ram_edata = .;  data_size = ram_edata - ram_sdata;

       .bss ALIGN(4)  : { *(.bss)  *(COMMON) } }

    AT 是指明在flash上面的地址。 下面就是代码的从falsh上面拷贝代码到sdram。

            ldr   r0, =flash_sdata         ldr   r1, =ram_sdata         ldr   r2, =data_size

    copy:         ldrb  r4, [r0], #1         strb  r4, [r1], #1         subs  r2, r2, #1         bne   copy   

    转载请注明原文地址: https://ju.6miu.com/read-34283.html

    最新回复(0)