Я работаю на платформе rcar gen 3 от Renesas и, в частности, на уровне прошивки arm-trust-firmware.
1. bootparam_sa0.srec Loader(Boot parameter) <======= arm-trusted-firmware
2. bl2-m3ulcb.srec Loader <======= arm-trusted-firmware
3. cert_header_sa6.srec Loader(Certification) <======= arm-trusted-firmware
4. bl31-m3ulcb.srec ARM Trusted Firmware <======= arm-trusted-firmware
5. tee-m3ulcb.srec Open Portable Trusted OS <======= optee-os
6. u-boot-elf.srec U-Boot <======= u-boot
Я собрал BL31 по команде с Gcc v5.4
$ make ARCH = aarch64 CROSS_COMPILE = aarch64-linux-gnu- PLAT = rcar LSI = M3 RCAR_GEN3_ULCB = 1 RCAR_LOSSY_ENABLE = 1 RCAR_DRAM_SPLIT = 2 PMIC_LEVEL_MODE = 0 bl31
1009 *столкнулся с ошибкой ниже:
"
Including services/spd/opteed/opteed.mk
AS bl31/aarch64/runtime_exceptions.S
bl31/aarch64/runtime_exceptions.S: Assembler messages:
bl31/aarch64/runtime_exceptions.S:183: Error: non-constant expression in ".if" statement
bl31/aarch64/runtime_exceptions.S:191: Error: non-constant expression in ".if" statement
bl31/aarch64/runtime_exceptions.S:196: Error: non-constant expression in ".if" statement
bl31/aarch64/runtime_exceptions.S:201: Error: non-constant expression in ".if" statement
bl31/aarch64/runtime_exceptions.S:215: Error: non-constant expression in ".if" statement
bl31/aarch64/runtime_exceptions.S:219: Error: non-constant expression in ".if" statement
bl31/aarch64/runtime_exceptions.S:223: Error: non-constant expression in ".if" statement
bl31/aarch64/runtime_exceptions.S:227: Error: non-constant expression in ".if" statement
bl31/aarch64/runtime_exceptions.S:241: Error: non-constant expression in ".if" statement
bl31/aarch64/runtime_exceptions.S:245: Error: non-constant expression in ".if" statement
bl31/aarch64/runtime_exceptions.S:249: Error: non-constant expression in ".if" statement
bl31/aarch64/runtime_exceptions.S:257: Error: non-constant expression in ".if" statement
bl31/aarch64/runtime_exceptions.S:271: Error: non-constant expression in ".if" statement
bl31/aarch64/runtime_exceptions.S:275: Error: non-constant expression in ".if" statement
bl31/aarch64/runtime_exceptions.S:279: Error: non-constant expression in ".if" statement
bl31/aarch64/runtime_exceptions.S:287: Error: non-constant expression in ".if" statement
Makefile:556: recipe for target 'build/rcar/release/bl31/runtime_exceptions.o' failed
make: *** [build/rcar/release/bl31/runtime_exceptions.o] Error 1
"
Та же ошибка: https://github.com/ARM-software/tf-issues/issues/417
Код сборки правильный и, по-видимому, не является проблемой.
Казалось, что это зависитна компиляторе.Я пытался установить gcc / g ++ 7.4 cross:
http://ftp.br.debian.org/debian/pool/main/g/gcc-7-cross/gcc-7-aarch64-linux-gnu_7.4.0-1cross1_amd64.deb
http://ftp.br.debian.org/debian/pool/main/g/gcc-7-cross/g++-7-aarch64-linux-gnu_7.4.0-1cross1_amd64.deb
в Ubuntu 16.04 и изменил Makefile, чтобы использовать gcc-7 (cross), g ++ - 7 (крест), но все еще была эта ошибка.Как я могу преодолеть эту ошибку?