Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Фиксация секции
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > ARM
VictorsProg
Доброго времени суток.
Я применяю ARM freescale. компилятор gcc

Я расположил переменные в определённой секции.
Код
/*скрипт линкёра*/
    .mod :
    {
        *(.mod)
    } > m_text2

Код
//код
uint8_t var __attribute__ ((section(".mod")));

Подскажите, возможно секцию mod зафиксировать по определенному адресу?
Например в 0x2700.
demiurg_spb
Цитата(VictorsProg @ Nov 21 2016, 13:58) *

Можно, поправив скрипт линкера.
Но надо помнить, что гнушный линкер не позволяет создавать секции с дырками, т.е. секция text, например, должна быть непрерывной.
VictorsProg
Цитата(demiurg_spb @ Nov 21 2016, 11:05) *
Но надо помнить, что гнушный линкер не позволяет создавать секции с дырками, т.е. секция text, например, должна быть непрерывной.


А возможны дырки между секциями?
например между mod1 И mod2.

Цитата
Можно, поправив скрипт линкера.

Вы могли бы привести пример как это можно сделать?

Сергей Борщ
QUOTE (VictorsProg @ Nov 21 2016, 15:26) *
А возможны дырки между секциями?
Да.

QUOTE (VictorsProg @ Nov 21 2016, 15:26) *
Вы могли бы привести пример как это можно сделать?
Посмотрите внимательно на объявление региона m_text2 в вашем скрипте. Заведите по аналогии свой регион в нужных адресах и кладите в него нужные секции.
AVI-crak
Как это - дырки между секциями???
По дефолту gcc самостоятельно может заполнить первую секцию, для второй необходимо ручным способом помечать функции и дату.
Однако мне ентересно, как gcc будет лить автоматом то, что не влезло в первую секцию.
Желательно с наскальными рисунками.
demiurg_spb
Цитата(AVI-crak @ Nov 21 2016, 20:02) *

В случае с гнушным линкером возможны лишь дырки между РАЗНЫМИ секциями. Автоматом никто никуда ничего лить не будет.
Ну а, например, IAR может работать и с рваными секциями. Интересуетесь как - почитайте доку на линкер от IAR.
VictorsProg
Цитата(Сергей Борщ @ Nov 21 2016, 12:45) *
Да.

Посмотрите внимательно на объявление региона m_text2 в вашем скрипте. Заведите по аналогии свой регион в нужных адресах и кладите в него нужные секции.


спасибо
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.