реклама на сайте
подробности

 
 
> Ошибка при компиляции в IAR, Error[e133]: The output format intel-standard cannot handle multiple a
otrog
сообщение May 31 2006, 06:23
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 232
Регистрация: 22-02-06
Из: Воронеж
Пользователь №: 14 589



Здравствуйте.
При компиляции в Release в IAR 4.12A такого вот текста:
Код
#include <ioavr.h>
#include <inavr.h>

char i;
__eeprom char x;

int main( void )
{
  i = x;
  return 0;
}

Получаю сообщение smile3046.gif :
Цитата
Error[e133]: The output format intel-standard cannot handle multiple address spaces. Use format variants (-y -O) to specify which address space is wanted

Если компилировать в Debug, то все нормально.
Помогите кто можетhelp.gif.
ПС Файлы проекта прилагаю.Прикрепленный файл  testiar2.rar ( 10.05 килобайт ) Кол-во скачиваний: 173


--------------------
Истина рождается в спорах; но когда страсти кипят, истина испаряется.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
prottoss
сообщение May 31 2006, 11:30
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 2 720
Регистрация: 24-03-05
Пользователь №: 3 659



Здравствуйте!



По поводу intel-standart и intel-extended. В последнем формате в выходном файле содержится и код для FLASH и код для EEPROM, т.е intel-extended формат поддерживает сегменты в файле для нескольких типов памяти, intel-standart формат поддерживает только один сегмент. Если Ваш программатор поддерживает файлы с несколкими сегментами, то можете пользоваться для компиляции выходного файла intel-extended форматом.



Для того чтобы получить два файла (один для кода , другой для EEPROM) в категории Linker на вкладке Extra Options установить флажок Use command line options
и вписать в мемо следующие строки
-y(CODE)
-Ointel-standard,(XDATA)=xxxxx.eep
где xxxxx.eep - файл прошивки для внешней SPI EEPROM



код будет скомпилирован в файл с форматом, который в укажете в категории Linker на вкладке Output или Extra Output. Файл xxxxx.eep будет скомпилирован в корневую папку проекта



Удачи!


--------------------
Go to the top of the page
 
+Quote Post
prottoss
сообщение May 31 2006, 14:31
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 2 720
Регистрация: 24-03-05
Пользователь №: 3 659



Цитата(prottoss @ May 31 2006, 19:30) *
Для того чтобы получить два файла (один для кода , другой для EEPROM) в категории Linker на вкладке Extra Options установить флажок Use command line options
и вписать в мемо следующие строки
-y(CODE)
-Ointel-standard,(XDATA)=xxxxx.eep
где xxxxx.eep - файл прошивки для внешней SPI EEPROM


Извиняюсь дико за неточность - скопировал тект из своего же комментария к исходнику, и не поправил строку! : "... где xxxxx.eep - файл прошивки для внешней SPI EEPROM ..." надо читать как "... где xxxxx.eep - файл прошивки EEPROM ..."



Цитата(IgorKossak @ May 31 2006, 20:56) *
И напоследок.
Формат intel-standard - для пространств памяти не более 64 кБайт и без указания стартовой точки.
Формат intel-extended - для пространств, адресуемых 24- или 32-битной шиной адреса и с возможностью указать стартовую точку приложения.
Согласен, я был не точен, но ведь intel-extended так же включает несколько сегментов (допучим сегмент кода и сегмент данных), не так ли? И, кстати, как Вы переведеты эту строку на русский? "Error[e133]: The output format intel-standard cannot handle multiple address spaces. Use format variants (-y -O) to specify which address space is wanted" Я читаю примерно следующие: "Выходной формат intel-standard не имеет заголовка для нескольких сегментов... используйте варианты формата, чтобы указать искомые адресные простраства...."


--------------------
Go to the top of the page
 
+Quote Post
IgorKossak
сообщение May 31 2006, 14:47
Сообщение #4


Шаман
******

Группа: Модераторы
Сообщений: 3 064
Регистрация: 30-06-04
Из: Киев, Украина
Пользователь №: 221



Цитата(prottoss @ May 31 2006, 17:31) *
... но ведь intel-extended так же включает несколько сегментов (допучим сегмент кода и сегмент данных), не так ли? И, кстати, как Вы переведеты эту строку на русский? "Error[e133]: The output format intel-standard cannot handle multiple address spaces. Use format variants (-y -O) to specify which address space is wanted" Я читаю примерно следующие: "Выходной формат intel-standard не имеет заголовка для нескольких сегментов... используйте варианты формата, чтобы указать искомые адресные простраства...."

Сегмент(ы) кода и\или сегмент(ы) данных, но ОДНОГО пространства!
Это ЛИБО флэш, ЛИБО ЕЕПРОМ, ЛИБО ОЗУ, но никогда не смесь всего этого в одном выходном файле.
В стандарте на формат описываются все команды, но среди них нет команды, идентифицирующей адресное пространство, как впрочем и сегмент.

Кстати, более точный перевод приведённого Вами текста: "Выходной формат intel-standard не может поддерживать множественные адресные пространства ...".

Ну и посудите сами. Флэш память начинается с 0, ЕЕПРОМ начинается с 0, ОЗУ по большому счёту тоже с 0. Ну и как это всё описать в intel-hex формате?
Go to the top of the page
 
+Quote Post
prottoss
сообщение May 31 2006, 14:58
Сообщение #5


Гуру
******

Группа: Свой
Сообщений: 2 720
Регистрация: 24-03-05
Пользователь №: 3 659



Цитата(IgorKossak @ May 31 2006, 22:47) *
Кстати, более точный перевод приведённого Вами текста: "Выходной формат intel-standard не может поддерживать множественные адресные пространства ...".
Тогда что Вы подразумевает е под термином "адресное пространство" и "множественные адресные пространства"


--------------------
Go to the top of the page
 
+Quote Post
IgorKossak
сообщение May 31 2006, 16:33
Сообщение #6


Шаман
******

Группа: Модераторы
Сообщений: 3 064
Регистрация: 30-06-04
Из: Киев, Украина
Пользователь №: 221



Цитата(prottoss @ May 31 2006, 17:58) *
... Тогда что Вы подразумевает е под термином "адресное пространство" и "множественные адресные пространства"

Цитата
Это ЛИБО флэш, ЛИБО ЕЕПРОМ, ЛИБО ОЗУ

В Вашем случае имеет место смесь флэш и ЕЕПРОМ.
Go to the top of the page
 
+Quote Post
prottoss
сообщение May 31 2006, 16:55
Сообщение #7


Гуру
******

Группа: Свой
Сообщений: 2 720
Регистрация: 24-03-05
Пользователь №: 3 659



Цитата(IgorKossak @ Jun 1 2006, 00:33) *
Цитата(prottoss @ May 31 2006, 17:58) *

... Тогда что Вы подразумевает е под термином "адресное пространство" и "множественные адресные пространства"

Цитата
Это ЛИБО флэш, ЛИБО ЕЕПРОМ, ЛИБО ОЗУ

В Вашем случае имеет место смесь флэш и ЕЕПРОМ.


В таком случае Вы самаи себе противоречите) Выше Вы говорили что:

Цитата(IgorKossak @ Jun 1 2006, 00:33) *
Сегмент(ы) кода и\или сегмент(ы) данных, но ОДНОГО пространства!
Это ЛИБО флэш, ЛИБО ЕЕПРОМ, ЛИБО ОЗУ, но никогда не смесь всего этого в одном выходном файле.
В стандарте на формат описываются все команды, но среди них нет команды, идентифицирующей адресное пространство, как впрочем и сегмент.


теперь Вы говорите что это "... В Вашем случае имеет место смесь флэш и ЕЕПРОМ..."


--------------------
Go to the top of the page
 
+Quote Post
IgorKossak
сообщение Jun 1 2006, 11:16
Сообщение #8


Шаман
******

Группа: Модераторы
Сообщений: 3 064
Регистрация: 30-06-04
Из: Киев, Украина
Пользователь №: 221



Чем выдёргивать фразы из контекста, следовало бы чтать внимательнее.
Это относилось к формату intel-hex:
Цитата(IgorKossak @ Jun 1 2006, 00:33) *
Сегмент(ы) кода и\или сегмент(ы) данных, но ОДНОГО пространства!
Это ЛИБО флэш, ЛИБО ЕЕПРОМ, ЛИБО ОЗУ, но никогда не смесь всего этого в одном выходном файле.
В стандарте на формат описываются все команды, но среди них нет команды, идентифицирующей адресное пространство, как впрочем и сегмент.

А это относилось к случаю с Вашей программой как заданию для линкера в первом окне настроек:
Цитата
... В Вашем случае имеет место смесь флэш и ЕЕПРОМ..."
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- otrog   Ошибка при компиляции в IAR   May 31 2006, 06:23
- - haker_fox   Дело в том, что стандартный интеловский формат не ...   May 31 2006, 06:50
- - Sergio66   В опциях проекта Options-> Linker-> Extra Op...   May 31 2006, 07:25
|- - otrog   Цитата(Sergio66 @ May 31 2006, 11:25) В о...   May 31 2006, 10:16
- - Igor26   -we133=i -Ointel-extended,(CODE)=%PROJ_NAME%.hex -...   May 31 2006, 10:27
- - otrog   Чтото я торможу Такое ощущение, что команды соз...   May 31 2006, 10:55
- - IgorKossak   В первом окне поставьте формат, иной нежели intel-...   May 31 2006, 11:28
|- - otrog   Цитата(IgorKossak @ May 31 2006, 15:28) В...   May 31 2006, 12:36
|- - IgorKossak   Цитата(otrog @ May 31 2006, 15:36) Цитата...   May 31 2006, 12:56
|- - IgorKossak   Цитата(prottoss @ May 31 2006, 14:30) По ...   May 31 2006, 11:37
||- - zltigo   Цитата(IgorKossak @ May 31 2006, 14:37) Ч...   May 31 2006, 12:10
- - Alex11   Я сумел побороться только таким кривым способом. В...   May 31 2006, 20:30
- - otrog   Урааа! Заработало!!! Для того ч...   Jun 1 2006, 09:11


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 24th July 2025 - 16:32
Рейтинг@Mail.ru


Страница сгенерированна за 0.01502 секунд с 7
ELECTRONIX ©2004-2016