Ошибка: выбранный процессор не поддерживает запрошенный регистр специального назначения - PullRequest
1 голос
/ 08 апреля 2020

Я компилирую u-boot v2020.04-rc5

Моя среда.

Хост: 18.04.1-Ubuntu SMP

Make Version: GNU Make 4.1

Набор инструментов: g cc -linaro-7.5.0-2019.12-x86_64_arm- linux -gnueabi

Цель: STM32F769

Этапы репликации Проблема:

Step1: git клон https://github.com/u-boot/u-boot.git

Step2: cd u-boot

Step3: git checkout v2020.04-rc5

Шаг 4: сделать ARCH = arm CROSS_COMPILE = ~ / g cc -linaro-7.5.0-2019.12-x86_64_arm- linux -gnueabi / arm- linux -gnueabi- stm32f769-disco_defconfig

Шаг 5: включить поддержку UBIFS (CONFIG_CMD_UBI = y) с помощью menuconfig

Шаг 6: сделать ARCH = arm CROSS_COMPILE = ~ / g cc -linaro-7.5.0-2019.12-x86_64_arm- linux -gnueabi / arm- linux -gnueabi-

Желаемый результат: сборка прошла успешно. Фактический вывод: ошибка, как показано ниже.

$ /home/sicris/Downloads/gcc-linaro-7.5.0-2019.12-x86_64_arm-linux-gnueabi/bin/arm-linux -gnueabi-g cc -Wp, -MD, fs / ubifs / .super.od -nostdin c -isystem /home/sicris/Downloads/gcc-linaro-7.5.0-2019.12-x86_64_arm- linux -gnueabi / bin /../ lib / gcc / arm- linux -gnueabi / 7.5.0 / include -Iinclude -I ../ include -I ../ arch / arm / include -include .. /include/linux/kconfig.h -I ../ fs / ubifs -Ifs / ubifs -D_KERNEL_ -D_UBOOT_ -Wall -Wstrict-prototypes -Wno-format-security -fno-builtin -ffreestanding -std = gnu11 -fshort-wchar -fno-strict-aliasing -fno-P IE -Os -fno-stack-protector -fno-delete-null-указатель-проверки -g -fstack-использование -Wno-формат-нелитеральный -Werror = дата-время - D_ARM_ -Wa, -mimplicit-it = всегда -mthumb -mthumb-interwork -mabi = aapcs- linux -перемещение слов -fno-pi c -mno-unaligned-access -ctions-section -fdata-section- fno-common -ffixed-r9 -msoft-float -pipe -march = armv7-m -D_LINUX_ARM_ARCH_ = 7 -I ../../ arch / arm / mach-stm32 / include -I .. / arch / arm / mach-stm32 / include -D "KBUILD_STR (s) = # s" -D "KBUILD_BASENAME = KBUILD_STR (супер)" -D "KBUILD_MODNAME = KBUILD_STR (супер)" - c -o fs / ubifs /super.o ../fs/ubifs/super.c

{стандартный ввод}: сообщения ассемблера: {стандартный ввод}: 755: ошибка: выбранный процессор не поддерживает запрошенный регистр специального назначения - ` mrs r1, cpsr '

{стандартный ввод}: 757: ошибка: выбранный процессор не поддерживает запрошенный регистр специального назначения - msr cpsr_c,r3'{standard input} :770: Error: selected processor does not support requested special purpose register – msr cpsr_ c, r1'

{стандартный ввод }: 835: ошибка: выбранный процессор не поддерживает запрошенный регистр специального назначения - mrs r4,cpsr'{standard input} :837: Error: selected processor does not support requested special purpose register – msr cpsr_ c, r2 '

{стандартный ввод}: 850: ошибка: выбранный процессор не поддерживает запрошенную специальную цель регистр - `msr cpsr_ c, r4 '

Примечания:

  1. Я попытался добавить флаг компиляции" -mtune = cortex-m7 ". Результат тот же.

  2. Я попытался добавить "-mcpu = cortex-m7" и "-march = armv7e-m". Результат тот же.

Вопрос:

  1. Я пропустил какую-либо настройку флага компиляции?

  2. Есть ли обходной путь?

Я также опубликую этот вопрос в технической поддержке разработчика linaro.

1 Ответ

0 голосов
/ 19 апреля 2020

Попробуйте старую версию компилятора. Исходя из беглого поиска в Google, вы на правильном пути, думая, что это связано с неправильным указанием архитектуры, но вы можете обойти ее с более старой версией компилятора. Изменить: попробуйте экспортировать переменные ARCH и CROSS_COMPILE. Я смог собрать это, используя компилятор, который вы указали в подсказке мастера u-boot на моей машине с Ubuntu 16.04. Надеюсь это поможет. Редактировать Редактировать: Также попробуйте сделать clean && изготовления неподходящим, чтобы очистить все возможные ошибки.

...