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

 
 
> Переопределить дефолтные секции.
jcxz
сообщение Sep 13 2014, 08:55
Сообщение #1


Гуру
******

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



Подскажите пожалуйста: можно-ли в IAR переопределить дефолтные секции кода/данных для конкретного файла?
Типа #pragma location = ".some_section", но только не для конкретной функции/переменной, а для всего файла.
А то что-то в мануале к компилятору не найду.... sad.gif
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
den_po
сообщение Sep 15 2014, 08:05
Сообщение #2


Частый гость
**

Группа: Участник
Сообщений: 139
Регистрация: 9-11-12
Из: Санкт-Петербург
Пользователь №: 74 315



"грязь" можно украсить, сунув прагму в макрос. для этого есть вариант _Pragma()
Go to the top of the page
 
+Quote Post
jcxz
сообщение Sep 15 2014, 11:31
Сообщение #3


Гуру
******

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



Цитата(den_po @ Sep 15 2014, 14:05) *
"грязь" можно украсить, сунув прагму в макрос. для этого есть вариант _Pragma()

Её станет меньше, но она останется wink.gif
Очень неудобно перед каждой функцией и после каждой переменной писать имя секции. Особенно когда их в файле - десятки.
И постоянно забываешь это сделать.

Цитата(SSerge @ Sep 15 2014, 14:43) *
Переопределить секции можно ключом компилятора:
--section OldName=NewName
добавив их в Options->C/C++Compiler->Extra Options
Чтобы не упражняться с дефайнами, может быть проще будет кроме Debug и Release создать несколько конфигураций с разными настройками (Project->Edit Configurations...).
В каждой конфигурации можно задать необходимые настройки, в том числе и определить символы (в разделе Options->C/C++Compiler->Preprocessor), тогда можно будет собирать проект с разными настройками без правки текстов.

О! Это хороший совет! спасибо!
У меня кстати как раз и определено несколько вариантов сборки (FLASH_DEBUG, RAM_DEBUG, FLASH_RELEASE, RAM_RELEASE),
и нужный мне дефайн (определяющий в какие секции памяти какие выходные секции компоновать) он и указывается в Extra options.
При выборе вариантов с RAM_.., он как раз компоновал readonly-секции в ОЗУ (для скорости отладки).
Но про --section OldName=NewName не знал. Значит впишу его туда.
Go to the top of the page
 
+Quote Post



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

 


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


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