Странно как-то получается. Вот пример объявления глобальных объектов и переменных с адресами назначенными компилятором:
Код
#define masssize 32350
volatile uint8_t mass[masssize]; 0х10000000
volatile uint32_t *mass2; 0х2007С004
uCAN CAN1(1,800); 0х10007Е60
uGPIO GPIO; 0х2007С008
Видно, что компилятор все-таки сует переменные и объекты в дополнительные 32КВ памяти, но если добавляю еще массив:
Код
volatile uint8_t mass3[100];
то он пытается его запихать в основные 32КВ, которые и так забиты. Почему так? Как запихнуть массив в дополнительную память?
«У современных мобильных телефонов такая же вычислительная мощь, что и у компьютеров NASA в 60-е годы. И в то время этого хватало, чтобы запустить человека в космос, а сегодня — только чтобы запускать птиц в свиней.»