|
IAR 5.11 Размещение по абсолютному адресу?, Как разместить функцию по абсолютному адресу???? |
|
|
|
 |
Ответов
|
Nov 4 2009, 11:30
|

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

|
Цитата(Sergio66 @ Nov 4 2009, 14:14)  Требуется объединить в одном проекте Глупо вылить в кучу разные вещи. Цитата не грузить в контроллер 2 разных куска кода по разным адресам. А это не проблема комполятора-линкера - склейте HEX файлы Ваших проектов и грузите "одним куском".
--------------------
Feci, quod potui, faciant meliora potentes
|
|
|
|
|
Nov 4 2009, 21:59
|
Местный
  
Группа: Свой
Сообщений: 235
Регистрация: 9-02-05
Пользователь №: 2 526

|
Цитата(zltigo @ Nov 4 2009, 14:30)  Глупо вылить в кучу разные вещи.
А это не проблема комполятора-линкера - склейте HEX файлы Ваших проектов и грузите "одним куском". Вы видимо не внимательно читали вопрос, я просил не оценку своих умственных способностей, а помощь в решении конкретного вопроса.. Склеивать 2 НЕХ файла мне, как раз и не нужно. Мне не грузить одним куском нужно, а компилировать одним проектом. Хоть Вы и считаете глупым валить разные вещи в одну кучу, но на самом деле это не разные вещи и одна куча... Лоадер берет код из внешнего источника, сравнивает № версии этого кода с № версии кода, размещенного в контроллере и принимает решение грузить или нет. Это в примитиве. На самом деле, у этих 2 проектов есть общая область данных, которая должна быть доступна обоим проектам.
|
|
|
|
|
Nov 4 2009, 22:46
|
Гуру
     
Группа: Свой
Сообщений: 10 920
Регистрация: 5-04-05
Пользователь №: 3 882

|
Цитата(Sergio66 @ Nov 5 2009, 02:59)  Лоадер берет код из внешнего источника, сравнивает № версии этого кода с № версии кода, размещенного в контроллере и принимает решение грузить или нет. "Не читал, но осуждаю"  ИМХО бутлодер не должен быть настолько интеллектуальным, чтобы проверять версию! Его задача сообщить наружу загруженную версию, принять данные, записать куда ему укажут или куда "положено" и проверить при старте корректность/валидность кода прикладной задачи. Не его собачье дело какую версию в него будут грузить. А вдруг последняя версия с глюком и нужно откатиться к предыдущей? Как быть?  По поводу размещения кода читайте раздел Controlling data and function placement in memory в User's Guide. В IAR EW430 и EWARM для этих целей pragma location и pragma section используются.
|
|
|
|
|
Nov 5 2009, 08:28
|
Местный
  
Группа: Свой
Сообщений: 235
Регистрация: 9-02-05
Пользователь №: 2 526

|
Цитата(rezident @ Nov 5 2009, 01:46)  "Не читал, но осуждаю"  ИМХО бутлодер не должен быть настолько интеллектуальным, чтобы проверять версию! Его задача сообщить наружу загруженную версию, принять данные, записать куда ему укажут или куда "положено" и проверить при старте корректность/валидность кода прикладной задачи. Не его собачье дело какую версию в него будут грузить. А вдруг последняя версия с глюком и нужно откатиться к предыдущей? Как быть?  По поводу размещения кода читайте раздел Controlling data and function placement in memory в User's Guide. В IAR EW430 и EWARM для этих целей pragma location и pragma section используются. В моем случае бутлоадер именно ДОЛЖЕН быть интеллектуальным. Ему некому сообщать наружу номер версии. Там - снаружи простая флэшка, на которой может быть записана, как новая, так и старая версии программы. И задача лоадера понять, нужно ли делать обновление или нет. Но это тоже в примитиве. Все несколько сложнее. Так стоит задача. И если не "утаптывать" 2 проекта в один (а они в моем случае не такие уж и разные вещи), то решение получается совсем кривое. За наводку спасибо. Правда, pragma location я пробовал, компилер ругается, что эту директиву нельзя использовать для кода, только для переменных. Может что не дочитал... Посмтрю еще раз...
|
|
|
|
|
Nov 5 2009, 09:40
|

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

|
Цитата(Sergio66 @ Nov 5 2009, 12:16)  Все больше эмоции, хотя причина их мне не ясна... Никаких эмоций, просто пытался разными словами объяснить, что ставить пломбу на зуб нужно не через анальное отверстие, даже если что-то "стоит" и мешает думать. Поименовать отдельные сегменты кода и попросить линкер разместить их куда приспичило можете, потом будете спрашивать как разделить да и вообще сделать, например, инициализацию данных, стеков.... относящиеся к загрузчику и прочему... Дурь.
--------------------
Feci, quod potui, faciant meliora potentes
|
|
|
|
Сообщений в этой теме
Sergio66 IAR 5.11 Размещение по абсолютному адресу? Nov 4 2009, 11:14    rezident Цитата(Sergio66 @ Nov 5 2009, 13:28) В мо... Nov 5 2009, 15:10     Sergio66 Цитата(rezident @ Nov 5 2009, 18:10) А по... Nov 5 2009, 16:57  aaarrr Цитата(Sergio66 @ Nov 5 2009, 00:59) На с... Nov 4 2009, 23:03  zltigo Цитата(Sergio66 @ Nov 5 2009, 00:59) Вы в... Nov 4 2009, 23:42 sergeeff Завязывать фактически два разных проекта, да еще и... Nov 5 2009, 01:22 rezident Съем журнала никак не связан с обновлением ПО. То,... Nov 5 2009, 17:09 Sergio66 Цитата(rezident @ Nov 5 2009, 20:09) Съем... Nov 5 2009, 17:31  sergeeff Цитата(Sergio66 @ Nov 5 2009, 20:31) И вс... Nov 5 2009, 20:25  Dog Pawlowa Цитата(Sergio66 @ Nov 5 2009, 21:31) Для ... Nov 6 2009, 07:15 LessNik Цитата(Sergio66 @ Nov 4 2009, 14:14) Треб... Nov 11 2009, 07:58 Sergio66 Цитата(LessNik @ Nov 11 2009, 10:58) Посм... Nov 11 2009, 08:13
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|