Перейти к содержанию
    

Фиксация секции

Доброго времени суток.

Я применяю ARM freescale. компилятор gcc

 

Я расположил переменные в определённой секции.

/*скрипт линкёра*/
    .mod :
    {
        *(.mod)
    } > m_text2

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

Подскажите, возможно секцию mod зафиксировать по определенному адресу?

Например в 0x2700.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

Но надо помнить, что гнушный линкер не позволяет создавать секции с дырками, т.е. секция text, например, должна быть непрерывной.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Но надо помнить, что гнушный линкер не позволяет создавать секции с дырками, т.е. секция text, например, должна быть непрерывной.

 

А возможны дырки между секциями?

например между mod1 И mod2.

 

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

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

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Как это - дырки между секциями???

По дефолту gcc самостоятельно может заполнить первую секцию, для второй необходимо ручным способом помечать функции и дату.

Однако мне ентересно, как gcc будет лить автоматом то, что не влезло в первую секцию.

Желательно с наскальными рисунками.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В случае с гнушным линкером возможны лишь дырки между РАЗНЫМИ секциями. Автоматом никто никуда ничего лить не будет.

Ну а, например, IAR может работать и с рваными секциями. Интересуетесь как - почитайте доку на линкер от IAR.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Да.

 

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

 

спасибо

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...