Я программирую хост-систему хост-ускорителя. Хост работает на ПК под Ubuntu Linux и взаимодействует со встроенным оборудованием через USB-соединение. Связь выполняется путем копирования блоков памяти в и из встроенной аппаратной памяти.
В памяти платы есть область памяти, которую я использую в качестве почтового ящика, где я пишу и читаю данные. Почтовый ящик определяется как структура, и я использую то же определение, чтобы выделить зеркальный почтовый ящик в моем пространстве хоста.
Я успешно использовал эту технику в прошлом, поэтому теперь я скопировал проект Eclipse хоста в текущее рабочее пространство проекта и внес соответствующие изменения имен. Странно то, что при создании проекта-хозяина я получаю следующее сообщение:
Целевая задача: fft2d_host
Вызов: GCC C Linker
gcc -L/opt/adapteva/esdk/tools/host/x86_64/lib -o "fft2d_host". /src/fft 2d_host.o -le_host -lrt./src/fft2d_host.o: В функции `main ':
fft2d_host.c:(. text + 0x280): усечение переместилось, чтобы соответствовать: R_X86_64_PC32 против символа `Почтовый ящик ', определенного в разделе ОБЩИЙ. /src/fft 2d_host.o
Что означает эта ошибка и почему она не будет основываться на текущем проекте, в то время как с предыдущим проектом все в порядке?