Опция уменьшает размер кода внутри одного модуля видимо из-за расположения рядом переменных и относительной их адресации через общий адрес. Но (как минимум в IAR ARM 4.20) при этом работает немного криво. Из сегмента DATA_Z переменная, особенно большая, может компилятором быть помещена в DATA_I / DATA_ID и заполнена нулями, с соответствующим увеличением прошивки. Можно ли отменить эту опцию для конкретной переменной?
Upd
Вынести инициализированные переменные в отдельный Си-файл - не предлагать. До этого я сам додумался
Сообщение отредактировал GetSmart - Feb 23 2014, 23:51