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

Jaroslav Buchta jaroslav.buchta na hascomp.cz
Pondělí Říjen 13 21:22:25 CEST 2014


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



Další informace o konferenci Hw-list