Вопросы

Кросс-компиляция — Ошибка: выбранный процессор не поддерживает `fmrx r3, fpexc ‘в режиме ARM — Beaglebone

Я пытаюсь скомпилировать файл для прошивки в Beaglebone Black. Все работает нормально, но если я попытаюсь включить FPU с помощью

#define set_en_bit_in_fpexc() do { \
    int dummy; \
    __asm__ __volatile__ ("fmrx %0,fpexc\n\t" \
                         "orr  %0,%0,#0x40000000\n\t" \
                         "fmxr fpexc,%0" : "=r" (dummy) : :); \
} while (0)

Я получаю следующую ошибку

Error: selected processor does not support `fmrx r3,fpexc' in ARM mode
Error: selected processor does not support `fmxr fpexc,r3' in ARM mode

Я тоже пробовал с thumb mode, но получаю те же ошибки. Конечно, если я удалю часть кода, инициализирующую FPU, он будет работать нормально.

Почему я получаю эти ошибки?

Makefile

[...]
CROSSPATH?=/usr/bin
CROSSPFX=$(CROSSPATH)/arm-none-eabi-
CC=$(CROSSPFX)gcc
AS=$(CROSSPFX)as
LD=$(CROSSPFX)ld
NM=$(CROSSPFX)nm
OBJCOPY=$(CROSSPFX)objcopy
OBJDUMP=$(CROSSPFX)objdump
CFLAGS=-Wall -Wextra -O2 -ffreestanding
ARCHFLAGS=-mcpu=cortex-a8 -march=armv7-a -mfpu=neon
CCARCHFLAGS=$(ARCHFLAGS) -marm
[...]

Я на Arch, ядро ​​4.8.1

P.S. Мой профессор использует кросс-компилятор linaro, и он отлично работает

Читать:
Гарантируется ли, что левый операнд в операторе запятой не будет фактически выполнен, если он не имеет побочных эффектов?

Похожие записи

Получите значение из mat-input в угловом материале

admin

Ошибка при рендеринге диаграммы x-диапазона React highcharts

admin

Работает ли покрытие кода PHPUnit_Selenium?

admin

Доступ запрещен при выполнении файла PUT с использованием предварительно подписанного URL-адреса S3

admin

Настройка заголовка авторизации — приложение Flask с использованием запросов Python и JWT

admin

Ошибка сегментации при вызове функции сборки x86 из программы C

admin