|
IAR 5.11 для ARM, как быть с инициализированной константой по адресу? |
|
|
|
 |
Ответов
|
Feb 22 2008, 12:04
|
Частый гость
 
Группа: Свой
Сообщений: 166
Регистрация: 14-01-06
Пользователь №: 13 160

|
Цитата(zltigo @ Feb 22 2008, 16:54)  Линкер этим занимается - создаете сегментик с переменной и линкуете его куда хотите. У меня девять таких переменных. Для каждой переменной свой сегментик создавать?
|
|
|
|
|
Feb 26 2008, 05:04
|
Частый гость
 
Группа: Свой
Сообщений: 166
Регистрация: 14-01-06
Пользователь №: 13 160

|
Цитата(zltigo @ Feb 22 2008, 19:41)  Ну если не хочется, то подумайте А ЗАЧЕМ ОНИ ВООБЩЕ НУЖНЫ? Сможете ответить сами себе на этот вопрос? Я, могу ответить только по поводу одной единственной переменной для bootloader-а NXP. Все. Ну нам, например, для своего программатора нужно хранить в бинарнике по определенному адресу тип прошивки, версию, дату. Т.е. чтобы программатор при загрузке бинарника выводил для пользователя эту информацию из прошивки. Корявость какая-то в новом ИАРе делать это через линкер. В чем смысл?
|
|
|
|
|
Feb 26 2008, 07:30
|

Гуру
     
Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244

|
Цитата(LeshaL @ Feb 26 2008, 08:04)  ...нужно хранить в бинарнике по определенному адресу тип прошивки, версию, дату. Т.е. чтобы программатор при загрузке бинарника выводил для пользователя эту информацию из прошивки. Для этого, совершенно незачем "по определенному адресу" - достаточно иметь сигнатуру после которой нужная информация идет, или, например использовать указатель на эту информацию расположенный в startup после таблицы(которая уже согласно ценых указаний линкеру размещается в фиксированном месте) векторов, или .... Цитата Корявость какая-то в новом ИАРе делать это через линкер. В чем смысл? Это не корявость - этим действительно работа линкера. Вам уже обьясняли, что в старом IAR был сделан прибамбас скрывающий эту физическую сущность. При пререходе на унифицированные форматы объектых файлов с этим непонятным наворотом провоцирущим написание лобового, непереносимого и мешающего оптимальной линковке кода наворотом рассались. Если хотите, можете совершенно спокойно все Ваши цифирки поместить в один сегмент и сказать линкеру куда его залинковать.
--------------------
Feci, quod potui, faciant meliora potentes
|
|
|
|
|
Feb 26 2008, 09:15
|
Частый гость
 
Группа: Свой
Сообщений: 166
Регистрация: 14-01-06
Пользователь №: 13 160

|
Цитата(zltigo @ Feb 26 2008, 12:30)  Для этого, совершенно незачем "по определенному адресу" - достаточно иметь сигнатуру после которой нужная информация идет, или, например использовать указатель на эту информацию расположенный в startup после таблицы(которая уже согласно ценых указаний линкеру размещается в фиксированном месте) векторов, или .... Зачем создавать какую-то сигнатуру, если была возможность записать инициализированную константу по конкретному адресу? Тем более речь идет в моем конкретном случае о программе, которая постоянно разрабатывается и модифицируется на протяжении пяти лет, работающая по мере наращивания на процессорах от зайлога, атмеги128, атмеги256 до лпс2138 и менять достаточно удобный способ идентификации прошивок данными по конкретному адресу, который используется еще с первых прошивок никак не подходит. Потому как выпущено уже столько приборов и версий. А объяснять каждому, что наша программа не обновилась, потому что мы перешли на новую версию ИАРа, заказчиков мало колышит... Ну да ладно... Это всле лирика. Буду решать проблемы секциями по адресу. Спасибо всем за ответы и советы.
|
|
|
|
|
Feb 26 2008, 09:23
|

Гуру
     
Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244

|
Цитата(LeshaL @ Feb 26 2008, 12:15)  Зачем создавать какую-то сигнатуру, если была возможность записать инициализированную константу по конкретному адресу? Она и сечас есть. Цитата Тем более речь идет в моем конкретном случае о программе... К сожалению, производители компиляторов любят плодить сущности и закладывать ненужные собственные фичи, дабы подсадить определенный круг пользователей на свой конкретный компилятор  . Просто 5 лет назад, надо было подумать  и сделать независимо ни от фич компилятора ни от конкретного линкера. Цитата Буду решать проблемы секциями по адресу. Да нет там в общем-то проблем.
--------------------
Feci, quod potui, faciant meliora potentes
|
|
|
|
Сообщений в этой теме
LeshaL IAR 5.11 для ARM Feb 22 2008, 11:29  KRS Цитата(LeshaL @ Feb 22 2008, 15:04) У мен... Feb 22 2008, 12:29       LeshaL Цитата(zltigo @ Feb 26 2008, 14:23) К сож... Feb 27 2008, 10:20        zltigo Цитата(LeshaL @ Feb 27 2008, 13:20) Зачем... Feb 27 2008, 11:04 VAI ЦитатаУ меня девять таких переменных. Для каждой п... Feb 26 2008, 06:30 Ынжынэр На эту ж тему позвольте вопросик.
Не могу из сишно... Apr 2 2008, 08:01 KRS Цитата(Ынжынэр @ Apr 2 2008, 12:01) линке... Apr 2 2008, 10:45 LeshaL При оптимизации объявленный сегмент может быть выб... Apr 2 2008, 10:52 Ынжынэр ЦитатаА ссылки на эту строку есть?
Спасибо за нав... Apr 2 2008, 11:36 vet Цитата(Ынжынэр @ Apr 2 2008, 14:36) Спаси... Apr 2 2008, 12:07 Ынжынэр Цитатадостаточно применить к нужной константе #pra... Apr 2 2008, 12:19 Vitaliy_ARM Хочу задать такой вопрос. (немного не по теме)
Мо... May 14 2008, 12:20  zltigo Цитата(Vitaliy_ARM @ May 14 2008, 14:20) ... May 14 2008, 13:46   Vitaliy_ARM Цитата(zltigo @ May 14 2008, 17:46) Для н... May 15 2008, 07:47    zltigo Цитата(Vitaliy_ARM @ May 15 2008, 09:47) ... May 15 2008, 08:05     Vitaliy_ARM Цитата(zltigo @ May 15 2008, 12:05) ЗАЧЕМ... May 15 2008, 08:16
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|