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