| Summary: | GCC error message for ARM Cortex-A9/ARM.V7 | ||
|---|---|---|---|
| Product: | buildroot | Reporter: | ecs.egon.derflinger <ecs.egon.derflinger> |
| Component: | Other | Assignee: | unassigned |
| Status: | RESOLVED INVALID | ||
| Severity: | blocker | CC: | buildroot |
| Priority: | P5 | ||
| Version: | 2018.05.2 | ||
| Target Milestone: | --- | ||
| Hardware: | Other | ||
| OS: | Linux | ||
| Host: | Target: | ||
| Build: | |||
Compiled with -v option: GNU C11 (Buildroot 2016.11.2-g944d03b) Version 5.4.0 (arm-buildroot-linux-gnueabi) kompiliert von GNU-C-Version 5.4.0 20160609, GMP-Version 6.1.1, MPFR-Version 3.1.5, MPC-Version 1.0.3. I don't know what the "Command does not fulfill its conditions" error message means exactly. However, a Buildroot-generated compiler is targeted for hosted compilation. I am not sure that it is capable of generating code for a freestanding environment, where the FIQ attribute would be relevant. You may be better off downloading an ARM-supported toolchain from https://developer.arm.com/open-source/gnu-toolchain |
Dear ARM-friends, please find below the GCC error message for the source code also given below. The compiler error is reported for interrupt label "FIQ" only. Thanks for your help! BR Egon:) //-------------------------------------------------------------------------------------------------- 13:44:13 **** Incremental Build of configuration Debug for project MsgDma **** make all Building file: /opt/ScCU_Firmware/ScCU-FW/hal/halFpga/irq/src/IrqCA9ArmV7.c Invoking: Cross GCC Compiler arm-buildroot-linux-gnueabi-gcc -I/opt/ScCU_Firmware/ScCU-FW/hal/halFpga/irq/inc/ -O0 -g3 -Wall -c -fmessage-length=0 -MMD -MP -MF"src/IrqCA9ArmV7.d" -MT"src/IrqCA9ArmV7.o" -o "src/IrqCA9ArmV7.o" "/opt/ScCU_Firmware/ScCU-FW/hal/halFpga/irq/src/IrqCA9ArmV7.c" /opt/ScCU_Firmware/ScCU-FW/hal/halFpga/irq/src/IrqCA9ArmV7.c: In Funktion »__isr_C_A9_A_V7_fiq«: /opt/ScCU_Firmware/ScCU-FW/hal/halFpga/irq/src/IrqCA9ArmV7.c:61:1: Fehler: Befehl erfüllt nicht seine Bedingungen: } ^ (insn/f 13 12 14 (set (reg/f:SI 13 sp) (plus:SI (reg/f:SI 11 fp) (const_int 4 [0x4]))) /opt/ScCU_Firmware/ScCU-FW/hal/halFpga/irq/src/IrqCA9ArmV7.c:61 4 {*arm_addsi3} (expr_list:REG_CFA_ADJUST_CFA (set (reg/f:SI 13 sp) (plus:SI (reg/f:SI 11 fp) (const_int 4 [0x4]))) (nil))) /opt/ScCU_Firmware/ScCU-FW/hal/halFpga/irq/src/IrqCA9ArmV7.c:61:1: interner Compiler-Fehler: in extract_constrain_insn, bei recog.c:2246 Bitte senden Sie einen vollständigen Fehlerbericht auf Englisch ein; inclusive vorverarbeitetem Quellcode, wenn es dienlich ist. Siehe <http://bugs.buildroot.net/> für nähere Anweisungen. make: *** [src/IrqCA9ArmV7.o] Fehler 1 src/subdir.mk:44: die Regel für Ziel „src/IrqCA9ArmV7.o“ scheiterte 13:44:14 Build Finished (took 790ms) //-------------------------------------------------------------------------------------------------- Source file IrqCA9ArmV7.c /*! \brief text text. * * text text text text. * * Name : IrqCA9ArmV7.cpp * Author : ECSed * Version : 1.0 * Copyright : Your copyright notice */ //std includes (goes first) //--- //interface & project includes #include "IrqCA9ArmV7.h" //module includes (goes last) //--- //public: //6.31.4 ARM Function Attributes //acc. https://gcc.gnu.org/onlinedocs/gcc/ARM-Function-Attributes.html /* * */ void __attribute__ ((interrupt ("IRQ"))) __isr_C_A9_A_V7_irq(void) { //your IRQ service code goes here } /* * */ void __attribute__ ((interrupt ("UNDEF"))) __isr_C_A9_A_V7_undev(void) { //your UNDEF service code goes here } /* * */ void __attribute__ ((interrupt ("SWI"))) __isr_C_A9_A_V7_swi(void) { //your SWI service code goes here } /* * */ void __attribute__ ((interrupt ("ABORT"))) __isr_C_A9_A_V7_abort(void) { //your ABORT service code goes here } //void __attribute__ ((interrupt)) __isr_C_A9_A_V7_pabort (void) //void __attribute__ ((interrupt)) __isr_C_A9_A_V7_dabort (void) /* * */ void __attribute__ ((interrupt ("FIQ"))) __isr_C_A9_A_V7_fiq(void) { //your FIQ service code goes here } //protected: //private //-------------------------------------------------------------------------------------------------- Header file IrqCA9ArmV7.h /*! \brief text text. * * text text text text. * * Name : IrqCA9ArmV7.h * Author : ECSed * Version : 1.0 * Copyright : Your copyright notice */ #ifndef _Irq_C_A9_Arm_V7_H_ # define _Irq_C_A9_Arm_V7_H_ //std includes (goes first) //--- //interface & project includes //--- //module includes (goes last) //--- //public: //see DE1-SoC Computer System with ARM Cortex-A9, p. 32 void __attribute__ ((interrupt ("IRQ"))) __isr_C_A9_A_V7_irq(void); void __attribute__ ((interrupt ("UNDEF"))) __isr_C_A9_A_V7_undev(void); void __attribute__ ((interrupt ("SWI"))) __isr_C_A9_A_V7_swi(void); void __attribute__ ((interrupt ("ABORT"))) __isr_C_A9_A_V7_abort(void); //void __attribute__ ((interrupt)) __isr_C_A9_A_V7_pabort (void); //void __attribute__ ((interrupt)) __isr_C_A9_A_V7_dabort (void); void __attribute__ ((interrupt ("FIQ"))) __isr_C_A9_A_V7_fiq(void); //protected: //private #endif //_Irq_C_A9_Arm_V7_H_