ARM GCC - jak vytvořit neinicializovanou proměnnou v SDRAM
Jan Smrz
jan.smrz na email.cz
Pondělí Říjen 13 21:37:06 CEST 2014
Zkuste v linker scriptu toto:
.HeapMemSection (NOLOAD) :
{
*(.HeapMemSection*)
} >SDRAM
J.S.
Dne 13.10.2014 18: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?
>
> ---
> This email is free from viruses and malware because avast! Antivirus
> protection is active.
> http://www.avast.com
>
> _______________________________________________
> HW-list mailing list - sponsored by www.HW.cz
> Hw-list na list.hw.cz
> http://list.hw.cz/mailman/listinfo/hw-list
Další informace o konferenci Hw-list