реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> Как отключить опцию оптимизации "Static clustering" для одной конкретной переменной?
GetSmart
сообщение Feb 23 2014, 19:28
Сообщение #1


.
******

Группа: Участник
Сообщений: 4 005
Регистрация: 3-05-06
Из: Россия
Пользователь №: 16 753



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



Upd
Вынести инициализированные переменные в отдельный Си-файл - не предлагать. До этого я сам додумался sm.gif

Сообщение отредактировал GetSmart - Feb 23 2014, 23:51


--------------------
Заблуждаться - Ваше законное право :-)
Go to the top of the page
 
+Quote Post
jcxz
сообщение Feb 24 2014, 03:05
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713



Можно явно указать сегмент для переменной:
int q @ ".X_RAM";
Далее в командном файле линкёра объявить его инициализируемым или нет, по желанию.
Go to the top of the page
 
+Quote Post
GetSmart
сообщение Feb 24 2014, 11:46
Сообщение #3


.
******

Группа: Участник
Сообщений: 4 005
Регистрация: 3-05-06
Из: Россия
Пользователь №: 16 753



Цитата(jcxz @ Feb 24 2014, 09:05) *
Можно явно указать сегмент для переменной:
int q @ ".X_RAM";
Далее в командном файле линкёра объявить его инициализируемым или нет, по желанию.

Отключиь опцию требуется для инициализированной перемнной. Разве её можно поместить в свой/уникальный сегмент чтобы средствами компилятора она ещё и инициализиовалась какими-то ненулевыми значениями?


--------------------
Заблуждаться - Ваше законное право :-)
Go to the top of the page
 
+Quote Post
jcxz
сообщение Feb 24 2014, 13:01
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713



Я думаю - можно. А как - изучать Вам sm.gif
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 21st July 2025 - 08:55
Рейтинг@Mail.ru


Страница сгенерированна за 0.01379 секунд с 7
ELECTRONIX ©2004-2016