|
|
  |
новый линкер иара - новый синтаксис скрипта, Помогите |
|
|
|
Nov 19 2010, 23:07
|
Участник

Группа: Участник
Сообщений: 43
Регистрация: 19-11-10
Пользователь №: 61 026

|
В общем в пятом иаре столкнулся с новым синтаксисом скрипта линкера. Долго думал как портировать старый скрипт на новый - ничего толкового не получилось. В общем вот старый скрипт от 4-го иара Код -V(CODE)CODE_A -V(CODE)DATA_A
-Z(CODE_A)ELFBEGIN,DATA_ID,START,CODE,DATA_C,HEAP,LIB,LIB_C,DIFUNCT,ICODE,INITTAB,DATA _Z,DATA_N,CONFIG_C=0-0xFFFFFFFF -Z(DATA_A)DATA_I=0-0xFFFFFFFF очень надеюсь на вашу помощь
Сообщение отредактировал vova7890 - Nov 19 2010, 23:08
|
|
|
|
|
Nov 20 2010, 12:47
|
■ ■ ■ ■
    
Группа: Свой
Сообщений: 1 100
Регистрация: 9-08-06
Пользователь №: 19 443

|
Цитата я как видите в первые у вас на форуме Ну так потрудились бы поискать более подходящую ветку для создания темы. http://electronix.ru/forum/index.php?showforum=137по теме, смотрите примеры в том же иаре, там жеж не сложно вроде.
--------------------
Делай что должен и будь что будет.
|
|
|
|
|
Nov 20 2010, 21:23
|

Гуру
     
Группа: Модератор FTP
Сообщений: 4 479
Регистрация: 20-02-08
Из: Москва
Пользователь №: 35 237

|
Цитата(vova7890 @ Nov 20 2010, 07:28)  А че в шестом иаре синтаксис сильно отличается? Мне пятого хватит. На мой взгляд, никак не отличается, но я АРМы не программирую, поэтому подробностей не знаю. Обычно там всякие примочки дополнительно добавляются, а старый синтаксис обычно не трогают. А 5-х ИАРов уже вышло 16 (!) штук версий, тогда как 6-я версия только одна - свеженькая, 12 дней назад вышла. А вы, как я поняла, все равно с 4-го ИАРа мигрируете и на 5-ом еще не работали. Вот и посоветовала.
|
|
|
|
|
Nov 21 2010, 06:26
|
Участник

Группа: Участник
Сообщений: 43
Регистрация: 19-11-10
Пользователь №: 61 026

|
Цитата(Xenia @ Nov 21 2010, 00:23)  На мой взгляд, никак не отличается, но я АРМы не программирую, поэтому подробностей не знаю. Обычно там всякие примочки дополнительно добавляются, а старый синтаксис обычно не трогают. А 5-х ИАРов уже вышло 16 (!) штук версий, тогда как 6-я версия только одна - свеженькая, 12 дней назад вышла. А вы, как я поняла, все равно с 4-го ИАРа мигрируете и на 5-ом еще не работали. Вот и посоветовала. да я с четвертого мигррирую ис за парочки не приятных багов которые уже достали. В принцыпе мне без разницы на какую версию лижбы выше 4-той. Видимо никто не хочет помочь
|
|
|
|
|
Nov 21 2010, 07:10
|

Гуру
     
Группа: Модератор FTP
Сообщений: 4 479
Регистрация: 20-02-08
Из: Москва
Пользователь №: 35 237

|
Цитата(vova7890 @ Nov 21 2010, 09:26)  Видимо никто не хочет помочь  На вид скрипт линкера не менялся. А может быть всё дело в том, что это вы по ошибке строку разорвали на две части. Слитно это надо писать: Код -Z(CODE_A)ELFBEGIN,DATA_ID,START,CODE,DATA_C,HEAP,LIB,LIB_C,DIFUNCT,ICODE,INITTAB, DATA_Z,DATA_N,CONFIG_C=0-0xFFFFFFFF Вот линкер и ругается. Или это форум строку разорвал? Или вообще выкиньте из проекта эти установки линкера - на дефолтных сначала скомпилите. Скорее всего какой-то из сегментов изменил имя, в том и проблема. Поглядите, как выглядит стандарный хидер для линкера. Как там эти сегметы называются. Или скомпилируйте что-нибудь с установками линкера по умолчанию, а потом в листинге поглядите, как он сегменты обзывает.
|
|
|
|
|
Nov 21 2010, 10:14
|
Участник

Группа: Участник
Сообщений: 43
Регистрация: 19-11-10
Пользователь №: 61 026

|
Цитата(Xenia @ Nov 21 2010, 10:10)  На вид скрипт линкера не менялся. А может быть всё дело в том, что это вы по ошибке строку разорвали на две части. Слитно это надо писать: Код -Z(CODE_A)ELFBEGIN,DATA_ID,START,CODE,DATA_C,HEAP,LIB,LIB_C,DIFUNCT,ICODE,INITTAB, DATA_Z,DATA_N,CONFIG_C=0-0xFFFFFFFF Вот линкер и ругается. Или это форум строку разорвал? Или вообще выкиньте из проекта эти установки линкера - на дефолтных сначала скомпилите. Скорее всего какой-то из сегментов изменил имя, в том и проблема. Поглядите, как выглядит стандарный хидер для линкера. Как там эти сегметы называются. Или скомпилируйте что-нибудь с установками линкера по умолчанию, а потом в листинге поглядите, как он сегменты обзывает. неа там синтаксис вообще другой полностью. Цитата(zltigo @ Nov 21 2010, 11:12)   ничего общего после перехода ARM ветки на binutils скрипты не имеют. Однако, общие принципы миграции толково описаны в Migration Guide из комплекта поставки. вы о чем? При чем тут бинутилсы? Я про иар говорю же :-D Общие принципы читал делал по примерам но оно не пашет! Не находит лоадер в динамическом сегменте таблицу релоков!!!
Сообщение отредактировал vova7890 - Nov 21 2010, 10:14
|
|
|
|
|
Nov 22 2010, 08:26
|
Участник

Группа: Участник
Сообщений: 43
Регистрация: 19-11-10
Пользователь №: 61 026

|
Вот че я напортировал, работает не правильно... CODE define symbol __ICFEDIT_intvec_start__ = 0x0; /*-Memory Regions-*/
define symbol __ICFEDIT_region_RAM_start__ = 0; define symbol __ICFEDIT_region_RAM_end__ = 0xFFFFFF;
/**** End of ICF editor section. ###ICF###*/
define memory mem with size = 4G;
define region CODE_AREA = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__]; define region DATA_AREA = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__];
define block CODE { section ELFBEGIN, section START, section .text, section .rodata, section HEAP, section .difunct, section .textrw, section .bss, section .noinit, section CONFIG_C, section CODE, section .iar.init_table, section .dynamic, section .data_init};
define block DATA with alignment = 0, size = 0 { section .data };
initialize by copy { readwrite }; do not initialize { section .noinit };
place in CODE_AREA { block CODE }; place in DATA_AREA { block DATA };
|
|
|
|
|
Nov 24 2010, 07:58
|
Частый гость
 
Группа: Свой
Сообщений: 77
Регистрация: 2-04-08
Из: Россия, Киров
Пользователь №: 36 422

|
Цитата(vova7890 @ Nov 20 2010, 02:07)  очень надеюсь на вашу помощь  Приведите пример управляющего файла от 4-й версии. А также список ошибок линкера?
|
|
|
|
|
  |
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0
|
|
|