ARM GCC - jak vytvořit neinicializovanou proměnnou v SDRAM

Miroslav Mraz mraz na seznam.cz
Pondělí Říjen 13 21:36:10 CEST 2014


Vysype:

.HeapMemSection (NOLOAD) :
     {
       *(.HeapMemSection*)
     } >SDRAM


Mrazík


Dne 13.10.2014 v 21:22 Jaroslav Buchta napsal(a):
> Mám tuto definici:
>
> static volatile uint16_t SamplesBuf[3][100000]  __attribute__ ((section
> (".HeapMemSection")));
>
> ld script:
> /* Specify the memory areas */
> MEMORY
> {
>    FLASH (rx)      : ORIGIN = 0x08000000, LENGTH = 2048K
>    RAM (xrw)       : ORIGIN = 0x20000000, LENGTH = 192K
>    MEMORY_B1 (rx)  : ORIGIN = 0x60000000, LENGTH = 0K
>    CCMRAM (rw)     : ORIGIN = 0x10000000, LENGTH = 64K
>    SDRAM (rw)      : ORIGIN = 0xC0280000, LENGTH = 5632K
> }
> ....
>    .HeapMemSection :
>    {
>      *(.HeapMemSection*)
>    } >SDRAM
>
>
> a ve výsledku to chce nacpat to pole i do Flash jako inicializovana data
>
>    text       data        bss        dec        hex    filename
>   127116     627171      46356     800643      c3783
> bin/Debug/STM32F439-Test.elf
>
> skutecne je vysledny soubor .bin pres 3 GB.
>
> Uz mi to moc nemysli ani nehleda dneska, vysype to nekdo z rukavu?
>
>


Další informace o konferenci Hw-list