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

 
 
> Вопрос о toolchain, Кросскомпиляция
DmitryV
сообщение Mar 24 2008, 20:45
Сообщение #1


Участник
*

Группа: Новичок
Сообщений: 31
Регистрация: 16-06-06
Пользователь №: 18 105



Добрый вечер!

Правильно ли понимаю, что cross compile toolchain - это набор binutils + gcc + gdb, сконфигуренных и скомпиленных для соответствующей аппаратной платформы?
Чем отличаются arm-elf-tools (arm-elf-gcc и т.д.) от arm-linux-tools (соответственно, arm-linux-gcc)? Сам собирал RedBoot при помощи arm-elf- и linux на эту же платформу при помощи arm-linux-. Все работает и не жалуется. В другой ситуации, uClinux для LPC2468 собирается arm-elf, но не хочет arm-linux. В чем тут разница, чего не понимаю?
Где можно взять относительно свежие бинарники этих тулчаинов для linux? На какие параметры целевой платформы надо обращать внимание, чтобы собрать самому? Или там просто типа configure --target=arm-elf?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Raydan
сообщение May 1 2009, 06:09
Сообщение #2


Участник
*

Группа: Участник
Сообщений: 15
Регистрация: 11-04-09
Из: Пермь
Пользователь №: 47 498



Возникла похожая проблема - пытаюсь отлаживать программы с помощью собственноручно собранный arm-linux-gdb на хосте + gdbserver из uClinux 20070130 на целевом (EA LPC2468).
Соединение как понимаю проходит нормально:

CODE
root# gdbserver 192.168.0.7:1234 hello
Process hello created; pid = 195
Listening on port 1234
Remote debugging from host 192.168.0.7


Но отлаживать не получается:

CODE
$ arm-linux-gdb hello.gdb
GNU gdb 6.8
This GDB was configured as "--host=i686-pc-linux-gnu --target=arm-linux"...
(gdb) target remote 192.168.0.10:1234
Remote debugging using 192.168.0.10:1234
0xa1840050 in ?? ()
(gdb) b main
Cannot access memory at address 0x3c


Бинарники собирались в sdk, который поставляют Embedded Artists, Makefile для простенького HW следующий:

CODE
CC=/home/user/uClinux-dist/tools/ucfront-gcc arm-elf-gcc
DEST=/home/user/nfs
FLAGS=-Wall
CFLAGS=-Os -DEMBED -Dlinux -D__linux__ -Dunix -D__uClinux__ -fomit-frame-pointer -fno-common -fno-builtin
LFLAGS=-Wl,-elf2flt="-r"
TARGET=hello

OBJECTS=$(TARGET).o

.PHONY: all

all: $(TARGET)

$(TARGET): $(OBJECTS)
$(CC) $(FLAGS) $(LFLAGS) -o $@ $^

%.o: %.c
$(CC) $(FLAGS) $(CFLAGS) -c $^

install:
cp $(TARGET) $(DEST)

clean:
rm -f *~ *.gdb *.o


Еще я честно говоря не очень понимаю, каким образом elf файл hello.gdb c отладочной информацией должен согласовываться с flt файлом на целевом. Может у кого-нибудь был опыт отладки в подобных условиях?

Сообщение отредактировал Raydan - May 1 2009, 06:12
Go to the top of the page
 
+Quote Post



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

 


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


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