Я уже выделяю памяти под массив столько, сколько нужно. Однако за ним по прежнему располагаются данные, которые в map файле отсутствуют. Возможно это действительно данные инициализации RW в ОЗУ. Как их поместить в сегмент основной программы? Что нужно прописать в ER_IROM1 помимо:
LR_IROM1 0x08000000 0x00020000 {; load region size_region
ER_IROM1 0x08000000 0x0001C000 {; load address = execution address
*.o (RESET, +First)
*(InRoot$$Sections)
.ANY (+RO)
}
RW_IROM7 0x0801C000 FIXED 0x4000 {
config.o(ro_vars)
}
RW_IRAM1 0x20000000 0x00010000 {; RW data
.ANY (+RW +ZI)
}
}