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

 
 
> Прилинковать HEX-файл, к файлу проекта, HEX - проект для ядра M0 LPC4357
nanorobot
сообщение Nov 11 2014, 12:48
Сообщение #1


Местный
***

Группа: Участник
Сообщений: 244
Регистрация: 29-02-08
Пользователь №: 35 503



Пишу(пытаюсь) проект для LPC4357 с использованием обоих ядер. Не дойду своим умом как прилинковать hex (ну или elf) ядра M0 к основному elf проекта. Смотрел соответствующие демо проекты для IDE LPCXpresso, но там другие подходы. Есть понимание, что делать это надо в скрипте линкера, но полной ясности нет. Прошу помощи.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
alx2
сообщение Nov 12 2014, 09:23
Сообщение #2


Местный
***

Группа: Участник
Сообщений: 340
Регистрация: 25-10-05
Из: Пермь, Россия
Пользователь №: 10 091



Совсем необязательно делать это в скрипте линкера. Проще преобразовать файл из формата hex в формат elf утилитой objcopy из комплекта GNU binutils, а затем полученный elf прилинковать к проекту точно также как и все остальные объектные файлы.


--------------------
Всего наилучшего,
Alex Mogilnikov
Go to the top of the page
 
+Quote Post
nanorobot
сообщение Nov 12 2014, 11:16
Сообщение #3


Местный
***

Группа: Участник
Сообщений: 244
Регистрация: 29-02-08
Пользователь №: 35 503



Цитата(alx2 @ Nov 12 2014, 14:23) *
Совсем необязательно делать это в скрипте линкера. Проще преобразовать файл из формата hex в формат elf утилитой objcopy из комплекта GNU binutils, а затем полученный elf прилинковать к проекту точно также как и все остальные объектные файлы.



В сухом остатке:
- Как прилинковать файл?
- Да так же, как и все остальные!

Этот файл, по оношению к проекту, сторонний. Вот как то и нужно линкеру указать путь к нему, адрес линковки и т.п.
Как это сделать - об этом и был вопрос
Go to the top of the page
 
+Quote Post
Petka
сообщение Nov 13 2014, 16:31
Сообщение #4


Профессионал
*****

Группа: Свой
Сообщений: 1 453
Регистрация: 23-08-05
Пользователь №: 7 886



Цитата(nanorobot @ Nov 12 2014, 14:16) *
В сухом остатке:
- Как прилинковать файл?
- Да так же, как и все остальные!

Этот файл, по оношению к проекту, сторонний. Вот как то и нужно линкеру указать путь к нему, адрес линковки и т.п.
Как это сделать - об этом и был вопрос

Назревает вопрос:
Что вы хотите получить на выходе "объединения" кода от двух ядер? Один общий HEX файл или один общий elf файл?
Go to the top of the page
 
+Quote Post
nanorobot
сообщение Nov 13 2014, 19:12
Сообщение #5


Местный
***

Группа: Участник
Сообщений: 244
Регистрация: 29-02-08
Пользователь №: 35 503



Цитата(Petka @ Nov 13 2014, 21:31) *
Назревает вопрос:
Что вы хотите получить на выходе "объединения" кода от двух ядер? Один общий HEX файл или один общий elf файл?


Не считал этот момент принципиальным, ибо нынешний скрипт линкера дает оба формата. Но если нужно выбрать что то одно, я предпочел бы elf.

Сообщение отредактировал nanorobot - Nov 13 2014, 19:17
Go to the top of the page
 
+Quote Post
Petka
сообщение Nov 13 2014, 20:19
Сообщение #6


Профессионал
*****

Группа: Свой
Сообщений: 1 453
Регистрация: 23-08-05
Пользователь №: 7 886



Цитата(nanorobot @ Nov 13 2014, 22:12) *
Не считал этот момент принципиальным, ибо нынешний скрипт линкера дает оба формата. Но если нужно выбрать что то одно, я предпочел бы elf.

Хм. Скрипт линкера не даёт вообще никаких выходных файлов. Вообще он к выходным форматам отношения не имеет.
Если нужно получить один общий HEX, то лучший способ - ознакомиться с у утилитами objcopy и srecord
Общий elf имеет смысл получать только для целей отладки. Т.к. для M0 ядра у вас отладочной информации в HEX скорее всего не содержится, то преобразование HEX -> ELF ИМХО бессмысленно.
П.С.
Опишите подробнее, что у вас имеется, и что вы хотите сделать.
Что вы называете "проектом"? Для меня "проект" в разделе "opensource" это, например, Makefile.
Go to the top of the page
 
+Quote Post



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

 


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


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