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

 
 
> Как сгенерить hex для ARM IAR-ом v4.20A?
adc
сообщение Jan 12 2009, 08:23
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 409
Регистрация: 29-10-07
Пользователь №: 31 836



Собственно сабж. Чего только в настройках проекта не делал.. Получается только *.а79 unsure.gif Поиск по форуму к сожалению ничего не дал... Hex нужен для прошивки lpc2103 через mt-link сегером v4.0.
Заранее спасибо за помощь!


--------------------
Умный программист пишет тупым кодом гениальные вещи, а не наоборот...
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
rvk
сообщение Jan 12 2009, 08:36
Сообщение #2


Частый гость
**

Группа: Свой
Сообщений: 165
Регистрация: 13-05-06
Из: Камышин
Пользователь №: 17 067



Заходите в Project\Option\Linker, ставите галочку в окне Output File, и вписываете расширение hex вместо a79.
Затем там же идете в окно Format, нажимаете на точку Other и выбираете формат intel standard или intel extended
Все, теперь у Вас скомпилируется hex файл по Intel стандарту.

Сообщение отредактировал rvk - Jan 12 2009, 08:37
Go to the top of the page
 
+Quote Post
adc
сообщение Jan 12 2009, 09:10
Сообщение #3


Местный
***

Группа: Свой
Сообщений: 409
Регистрация: 29-10-07
Пользователь №: 31 836



Цитата(rvk @ Jan 12 2009, 11:36) *
Заходите в Project\Option\Linker, ставите галочку в окне Output File, и вписываете расширение hex вместо a79.
Затем там же идете в окно Format, нажимаете на точку Other и выбираете формат intel standard или intel extended
Все, теперь у Вас скомпилируется hex файл по Intel стандарту.

Эти операции проделывал... Hex то получается... только какой то корявый... Не воспринимается он сегером...
Добавлю проект.. может кто посмотрит.
(Программирование на С только начинаю.. и с IAR-ом.. только знакомлюсь...)


Цитата(zltigo @ Jan 12 2009, 11:30) *
Ну-ну так укажите ЛЮБОЕ желаемое расширение вместо a79 использующегося для любого формата по умолчанию.

При установки птички "override default" и изменении расширения файла на hex выдает сообщение при компиляции:
Код
Fatal Error[e62]: File name "D:\Programm\arm\LPC_H2103_BLINKING_LED(my)\Debug\Exe\
LPC_H2103_BLINKING_LED(my).hex" used for multiple files

Вы где то писали, непомню в какой ветке, что возможно надо выбрать другой файл в конфиге линкера?! у меня неактивная строчка $TOOLKIT_DIR$\config\lnkarm.xcl.
Имеет ли это отношение к вопросу?
Прикрепленные файлы
Прикрепленный файл  LPC_H2103_BLINKING_LED_my_.zip ( 44.98 килобайт ) Кол-во скачиваний: 17
 


--------------------
Умный программист пишет тупым кодом гениальные вещи, а не наоборот...
Go to the top of the page
 
+Quote Post
GetSmart
сообщение Jan 12 2009, 11:09
Сообщение #4


.
******

Группа: Участник
Сообщений: 4 005
Регистрация: 3-05-06
Из: Россия
Пользователь №: 16 753



Цитата(adc @ Jan 12 2009, 15:10) *
При установки птички "override default" и изменении расширения файла на hex выдает сообщение при компиляции:
Код
Fatal Error[e62]: File name "D:\Programm\arm\LPC_H2103_BLINKING_LED(my)\Debug\Exe\
LPC_H2103_BLINKING_LED(my).hex" used for multiple files

Вы где то писали, непомню в какой ветке, что возможно надо выбрать другой файл в конфиге линкера?! у меня неактивная строчка $TOOLKIT_DIR$\config\lnkarm.xcl.
Имеет ли это отношение к вопросу?

Ошибка потому что на второй вкладке линкера стоит такое же имя файла. Достаточно на первой вкладке поставить расширение HEX, а создание второго файла (на второй вкладке) выключить.

Я попытался скомпилить этот проект и тоже HEX получился пустым. Даже в отладчике пустой код. Перепробовал все галки в опциях - не помогло. Потом удалил конфигурацию Debug и создал её заново. Сразу всё скомпилилось и HEX стал нормальным.
Глюк какой-то. При желании можно текст в файлах проекта почитать, там должо быть что-то лишнее или наоборот чего-то нехватать. У меня раз был такой глюк в CrossWorks 1.6.


--------------------
Заблуждаться - Ваше законное право :-)
Go to the top of the page
 
+Quote Post
adc
сообщение Jan 13 2009, 08:54
Сообщение #5


Местный
***

Группа: Свой
Сообщений: 409
Регистрация: 29-10-07
Пользователь №: 31 836



Цитата(GetSmart @ Jan 12 2009, 14:09) *
...Потом удалил конфигурацию Debug и создал её заново. Сразу всё скомпилилось и HEX стал нормальным.
Глюк какой-то....

Ага.. тоже получил HEX, только при открытии его в Segger J-Flash обнаружилось что адрес записываемый во флеш начинается с 0х8000?!

2 zltigo:
Цитата
Вы где то писали, непомню в какой ветке, что возможно надо выбрать другой файл в конфиге линкера?! у меня неактивная строчка $TOOLKIT_DIR$\config\lnkarm.xcl.

Этот файл придется править?.. или ручками в настройке можно выставить...?!


--------------------
Умный программист пишет тупым кодом гениальные вещи, а не наоборот...
Go to the top of the page
 
+Quote Post
GetSmart
сообщение Jan 13 2009, 09:27
Сообщение #6


.
******

Группа: Участник
Сообщений: 4 005
Регистрация: 3-05-06
Из: Россия
Пользователь №: 16 753



Цитата(adc @ Jan 13 2009, 14:54) *
Ага.. тоже получил HEX, только при открытии его в Segger J-Flash обнаружилось что адрес записываемый во флеш начинается с 0х8000?!

Всё правильно. Стандартный XCL содержит именно этот адрес начала флэш. Фиг знает почему. Нужно взять любой (более подходящий) стандартный и подправить в нём адреса. Потом записать в папку проекта и подключить в настройках линкера для Release и Debug. Хотя я обычно для каждой конфигурации делаю свой XCL.


--------------------
Заблуждаться - Ваше законное право :-)
Go to the top of the page
 
+Quote Post
adc
сообщение Jan 13 2009, 09:50
Сообщение #7


Местный
***

Группа: Свой
Сообщений: 409
Регистрация: 29-10-07
Пользователь №: 31 836



Цитата(GetSmart @ Jan 13 2009, 12:27) *
Всё правильно. Стандартный XCL содержит именно этот адрес начала флэш. Фиг знает почему. Нужно взять любой (более подходящий) стандартный и подправить в нём адреса. Потом записать в папку проекта и подключить в настройках линкера для Release и Debug. Хотя я обычно для каждой конфигурации делаю свой XCL.

хм..?! мдя.. что же.. разработчики IAR-а поленились сразу сделать нормальные адреса.. Это по меньшей мере странно. smile3046.gif
Попытался сам из IAR-а поправить.. при установке значений ром 0000-7FFF пишет
Цитата
Range must not overlap other ranges in other regions

Если есть возможность, поделитесь примером конфигурации линкера(для lpc2103).


--------------------
Умный программист пишет тупым кодом гениальные вещи, а не наоборот...
Go to the top of the page
 
+Quote Post

Сообщений в этой теме


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

 


RSS Текстовая версия Сейчас: 26th June 2025 - 05:12
Рейтинг@Mail.ru


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