Подумав, пришел к выводу, что должен существовать способ размещения 32кБ в SRAM.
1. разместить 32кБ полностью в SRAM0,
2. разместить по 16кБ в SRAM0 и SRAM1.
По первому пункту компилятор должен резервировать всю память SRAM0 для массива, а все остальные используемые переменные размещать в SRAM1 и SRAM(NFC).
По второму каким-то образом разместить массивы по 16кБ в SRAM0 и SRAM1.
Не один из вариантов у меня пока не получается.
В документации на линкер иара я нашел как разместить по опред. адресу данные, но из-за недостаточных знаний компилятора не могу прикрутить этот код.
Код
.//In the linker configuration file, it can look like this:
define block TempStorage with size = 0x1000, alignment = 4 { };
place in RAM { block TempStorage };
//To retrieve the start of the allocated memory from the application, the source code could
//look like this:
/* Declares a section */
#pragma section = "TempStorage"
char *TempStorage()
{
/* Return start address of section TempStorage. */
return __section_begin("TempStorage");
}
Что писать, куда писать, на что смотреть - не понятно.
Извините, если это все очевидно.