目前,我正在使用U-Boot下的定制板。我将所有主板和供应商特定文件移植到了旧版本(v2015)的新U引导版本(v2018)中。我使用i.MX6UL ARM处理器。但是,通过构建项目,它会因构建手臂向量表而崩溃。它说该指令未定义或设置。
arch/arm/lib/vectors.S: Assembler messages:
arch/arm/lib/vectors.S:88: Error: Keine solche Anweisung: »b reset«
arch/arm/lib/vectors.S:88: Error: Keine solche Anweisung: »ldr pc,_undefined_instruction«
arch/arm/lib/vectors.S:88: Error: Keine solche Anweisung: »ldr pc,_software_interrupt«
arch/arm/lib/vectors.S:88: Error: Keine solche Anweisung: »ldr pc,_prefetch_abort«
arch/arm/lib/vectors.S:88: Error: Keine solche Anweisung: »ldr pc,_data_abort«
arch/arm/lib/vectors.S:88: Error: Keine solche Anweisung: »ldr pc,_not_used«
arch/arm/lib/vectors.S:88: Error: Keine solche Anweisung: »ldr pc,_irq«
arch/arm/lib/vectors.S:88: Error: Keine solche Anweisung: »ldr pc,_fiq«
arch/arm/lib/vectors.S:152: Warning: value 0x900020 truncated to 0x20
arch/arm/lib/vectors.S:157: Error: junk at end of line, first unrecognized character is `@'
arch/arm/lib/vectors.S:158: Error: junk at end of line, first unrecognized character is `@'
arch/arm/lib/vectors.S:159: Error: junk at end of line, first unrecognized character is `@'
arch/arm/lib/vectors.S:238: Error: Bad parameter list for macro `get_irq_stack'
arch/arm/lib/vectors.S:242: Error: Bad parameter list for macro `get_fiq_stack'
arch/arm/lib/vectors.S:250: Error: alignment not a power of 2
arch/arm/lib/vectors.S:252: Error: Keine solche Anweisung: »ldr r13,IRQ_STACK_START_IN@setup our mode stack«
arch/arm/lib/vectors.S:252: Error: invalid char '[' beginning operand 2 `[r13]@save caller lr in position 0 of saved stack'
arch/arm/lib/vectors.S:252: Error: Keine solche Anweisung: »mrs lr,spsr@get the spsr«
arch/arm/lib/vectors.S:252: Error: invalid char '[' beginning operand 2 `[r13'
arch/arm/lib/vectors.S:252: Error: Operand nach »,« erwartet; nichts erhalten
arch/arm/lib/vectors.S:252: Error: junk at end of line, first unrecognized character is `@'
arch/arm/lib/vectors.S:252: Error: Keine solche Anweisung: »msr spsr,r13@switch modes,make sure moves will execute«
arch/arm/lib/vectors.S:252: Error: too many memory references for `mov'
arch/arm/lib/vectors.S:252: Warning: `pc' is not valid here (expected `(%rsi)')
arch/arm/lib/vectors.S:252: Error: junk `@jump to next instruction&switch modes.' after expression
arch/arm/lib/vectors.S:252: Warning: `lr@jump to next instruction&switch modes.' is not valid here (expected `(%rdi)')
arch/arm/lib/vectors.S:252: Error: no instruction mnemonic suffix given and no register operands; can't size instruction
arch/arm/lib/vectors.S:253: Error: junk at end of line, first unrecognized character is `@'
arch/arm/lib/vectors.S:253: Error: too many memory references for `sub'
arch/arm/lib/vectors.S:253: Error: Keine solche Anweisung: »stmia sp,{r0 - r12}@Save user registers (now in svc mode)r0-r12«
arch/arm/lib/vectors.S:253: Error: Keine solche Anweisung: »ldr r2,IRQ_STACK_START_IN«
arch/arm/lib/vectors.S:253: Error: junk at end of line, first unrecognized character is `@'
arch/arm/lib/vectors.S:253: Error: Keine solche Anweisung: »ldmia r2,{r2 - r3}«
arch/arm/lib/vectors.S:253: Error: too many memory references for `add'
arch/arm/lib/vectors.S:253: Error: too many memory references for `add'
arch/arm/lib/vectors.S:253: Error: too many memory references for `mov'
arch/arm/lib/vectors.S:253: Error: Keine solche Anweisung: »stmia r5,{r0 - r3}@save sp_SVC,lr_SVC,pc,cpsr«
arch/arm/lib/vectors.S:253: Error: too many memory references for `mov'
arch/arm/lib/vectors.S:254: Error: Keine solche Anweisung: »bl do_undefined_instruction«
arch/arm/lib/vectors.S:256: Error: alignment not a power of 2
arch/arm/lib/vectors.S:258: Error: Keine solche Anweisung: »ldr r13,IRQ_STACK_START_IN@setup our mode stack«
arch/arm/lib/vectors.S:258: Error: invalid char '[' beginning operand 2 `[r13]@save caller lr in position 0 of saved stack'
arch/arm/lib/vectors.S:258: Error: Keine solche Anweisung: »mrs lr,spsr@get the spsr«
arch/arm/lib/vectors.S:258: Error: invalid char '[' beginning operand 2 `[r13'
arch/arm/lib/vectors.S:258: Error: Operand nach »,« erwartet; nichts erhalten
arch/arm/lib/vectors.S:258: Error: junk at end of line, first unrecognized character is `@'
arch/arm/lib/vectors.S:258: Error: Keine solche Anweisung: »msr spsr,r13@switch modes,make sure moves will execute«
arch/arm/lib/vectors.S:258: Error: too many memory references for `mov'
arch/arm/lib/vectors.S:258: Warning: `pc' is not valid here (expected `(%rsi)')
arch/arm/lib/vectors.S:258: Error: junk `@jump to next instruction&switch modes.' after expression
arch/arm/lib/vectors.S:258: Warning: `lr@jump to next instruction&switch modes.' is not valid here (expected `(%rdi)')
arch/arm/lib/vectors.S:258: Error: no instruction mnemonic suffix given and no register operands; can't size instruction
arch/arm/lib/vectors.S:259: Error: junk at end of line, first unrecognized character is `@'
arch/arm/lib/vectors.S:259: Error: too many memory references for `sub'
arch/arm/lib/vectors.S:259: Error: Keine solche Anweisung: »stmia sp,{r0 - r12}@Save user registers (now in svc mode)r0-r12«
arch/arm/lib/vectors.S:259: Error: Keine solche Anweisung: »ldr r2,IRQ_STACK_START_IN«
arch/arm/lib/vectors.S:259: Error: junk at end of line, first unrecognized character is `@'
arch/arm/lib/vectors.S:259: Error: Keine solche Anweisung: »ldmia r2,{r2 - r3}«
arch/arm/lib/vectors.S:259: Error: too many memory references for `add'
arch/arm/lib/vectors.S:259: Error: too many memory references for `add'
arch/arm/lib/vectors.S:259: Error: too many memory references for `mov'
arch/arm/lib/vectors.S:259: Error: Keine solche Anweisung: »stmia r5,{r0 - r3}@save sp_SVC,lr_SVC,pc,cpsr«
arch/arm/lib/vectors.S:259: Error: too many memory references for `mov'
arch/arm/lib/vectors.S:260: Error: Keine solche Anweisung: »bl do_software_interrupt«
arch/arm/lib/vectors.S:262: Error: alignment not a power of 2
arch/arm/lib/vectors.S:264: Error: Keine solche Anweisung: »ldr r13,IRQ_STACK_START_IN@setup our mode stack«
arch/arm/lib/vectors.S:264: Error: invalid char '[' beginning operand 2 `[r13]@save caller lr in position 0 of saved stack'
arch/arm/lib/vectors.S:264: Error: Keine solche Anweisung: »mrs lr,spsr@get the spsr«
arch/arm/lib/vectors.S:264: Error: invalid char '[' beginning operand 2 `[r13'
arch/arm/lib/vectors.S:264: Error: Operand nach »,« erwartet; nichts erhalten
arch/arm/lib/vectors.S:264: Error: junk at end of line, first unrecognized character is `@'
arch/arm/lib/vectors.S:264: Error: Keine solche Anweisung: »msr spsr,r13@switch modes,make sure moves will execute«
arch/arm/lib/vectors.S:264: Error: too many memory references for `mov'
arch/arm/lib/vectors.S:264: Warning: `pc' is not valid here (expected `(%rsi)')
arch/arm/lib/vectors.S:264: Error: junk `@jump to next instruction&switch modes.' after expression
arch/arm/lib/vectors.S:264: Warning: `lr@jump to next instruction&switch modes.' is not valid here (expected `(%rdi)')
arch/arm/lib/vectors.S:264: Error: no instruction mnemonic suffix given and no register operands; can't size instruction
arch/arm/lib/vectors.S:265: Error: junk at end of line, first unrecognized character is `@'
arch/arm/lib/vectors.S:265: Error: too many memory references for `sub'
arch/arm/lib/vectors.S:265: Error: Keine solche Anweisung: »stmia sp,{r0 - r12}@Save user registers (now in svc mode)r0-r12«
arch/arm/lib/vectors.S:265: Error: Keine solche Anweisung: »ldr r2,IRQ_STACK_START_IN«
arch/arm/lib/vectors.S:265: Error: junk at end of line, first unrecognized character is `@'
arch/arm/lib/vectors.S:265: Error: Keine solche Anweisung: »ldmia r2,{r2 - r3}«
arch/arm/lib/vectors.S:265: Error: too many memory references for `add'
arch/arm/lib/vectors.S:265: Error: too many memory references for `add'
arch/arm/lib/vectors.S:265: Error: too many memory references for `mov'
arch/arm/lib/vectors.S:265: Error: Keine solche Anweisung: »stmia r5,{r0 - r3}@save sp_SVC,lr_SVC,pc,cpsr«
arch/arm/lib/vectors.S:265: Error: too many memory references for `mov'
arch/arm/lib/vectors.S:266: Error: Keine solche Anweisung: »bl do_prefetch_abort«
arch/arm/lib/vectors.S:268: Error: alignment not a power of 2
arch/arm/lib/vectors.S:270: Error: Keine solche Anweisung: »ldr r13,IRQ_STACK_START_IN@setup our mode stack«
arch/arm/lib/vectors.S:270: Error: invalid char '[' beginning operand 2 `[r13]@save caller lr in position 0 of saved stack'
arch/arm/lib/vectors.S:270: Error: Keine solche Anweisung: »mrs lr,spsr@get the spsr«
arch/arm/lib/vectors.S:270: Error: invalid char '[' beginning operand 2 `[r13'
arch/arm/lib/vectors.S:270: Error: Operand nach »,« erwartet; nichts erhalten
arch/arm/lib/vectors.S:270: Error: junk at end of line, first unrecognized character is `@'
arch/arm/lib/vectors.S:270: Error: Keine solche Anweisung: »msr spsr,r13@switch modes,make sure moves will execute«
arch/arm/lib/vectors.S:270: Error: too many memory references for `mov'
arch/arm/lib/vectors.S:270: Warning: `pc' is not valid here (expected `(%rsi)')
arch/arm/lib/vectors.S:270: Error: junk `@jump to next instruction&switch modes.' after expression
arch/arm/lib/vectors.S:270: Warning: `lr@jump to next instruction&switch modes.' is not valid here (expected `(%rdi)')
arch/arm/lib/vectors.S:270: Error: no instruction mnemonic suffix given and no register operands; can't size instruction
arch/arm/lib/vectors.S:271: Error: junk at end of line, first unrecognized character is `@'
arch/arm/lib/vectors.S:271: Error: too many memory references for `sub'
arch/arm/lib/vectors.S:271: Error: Keine solche Anweisung: »stmia sp,{r0 - r12}@Save user registers (now in svc mode)r0-r12«
arch/arm/lib/vectors.S:271: Error: Keine solche Anweisung: »ldr r2,IRQ_STACK_START_IN«
arch/arm/lib/vectors.S:271: Error: junk at end of line, first unrecognized character is `@'
arch/arm/lib/vectors.S:271: Error: Keine solche Anweisung: »ldmia r2,{r2 - r3}«
arch/arm/lib/vectors.S:271: Error: too many memory references for `add'
arch/arm/lib/vectors.S:271: Error: too many memory references for `add'
arch/arm/lib/vectors.S:271: Error: too many memory references for `mov'
arch/arm/lib/vectors.S:271: Error: Keine solche Anweisung: »stmia r5,{r0 - r3}@save sp_SVC,lr_SVC,pc,cpsr«
arch/arm/lib/vectors.S:271: Error: too many memory references for `mov'
arch/arm/lib/vectors.S:272: Error: Keine solche Anweisung: »bl do_data_abort«
arch/arm/lib/vectors.S:274: Error: alignment not a power of 2
arch/arm/lib/vectors.S:276: Error: Keine solche Anweisung: »ldr r13,IRQ_STACK_START_IN@setup our mode stack«
arch/arm/lib/vectors.S:276: Error: invalid char '[' beginning operand 2 `[r13]@save caller lr in position 0 of saved stack'
arch/arm/lib/vectors.S:276: Error: Keine solche Anweisung: »mrs lr,spsr@get the spsr«
arch/arm/lib/vectors.S:276: Error: invalid char '[' beginning operand 2 `[r13'
arch/arm/lib/vectors.S:276: Error: Operand nach »,« erwartet; nichts erhalten
arch/arm/lib/vectors.S:276: Error: junk at end of line, first unrecognized character is `@'
arch/arm/lib/vectors.S:276: Error: Keine solche Anweisung: »msr spsr,r13@switch modes,make sure moves will execute«
arch/arm/lib/vectors.S:276: Error: too many memory references for `mov'
arch/arm/lib/vectors.S:276: Warning: `pc' is not valid here (expected `(%rsi)')
arch/arm/lib/vectors.S:276: Error: junk `@jump to next instruction&switch modes.' after expression
arch/arm/lib/vectors.S:276: Warning: `lr@jump to next instruction&switch modes.' is not valid here (expected `(%rdi)')
arch/arm/lib/vectors.S:276: Error: no instruction mnemonic suffix given and no register operands; can't size instruction
arch/arm/lib/vectors.S:277: Error: junk at end of line, first unrecognized character is `@'
arch/arm/lib/vectors.S:277: Error: too many memory references for `sub'
arch/arm/lib/vectors.S:277: Error: Keine solche Anweisung: »stmia sp,{r0 - r12}@Save user registers (now in svc mode)r0-r12«
arch/arm/lib/vectors.S:277: Error: Keine solche Anweisung: »ldr r2,IRQ_STACK_START_IN«
arch/arm/lib/vectors.S:277: Error: junk at end of line, first unrecognized character is `@'
arch/arm/lib/vectors.S:277: Error: Keine solche Anweisung: »ldmia r2,{r2 - r3}«
arch/arm/lib/vectors.S:277: Error: too many memory references for `add'
arch/arm/lib/vectors.S:277: Error: too many memory references for `add'
arch/arm/lib/vectors.S:277: Error: too many memory references for `mov'
arch/arm/lib/vectors.S:277: Error: Keine solche Anweisung: »stmia r5,{r0 - r3}@save sp_SVC,lr_SVC,pc,cpsr«
arch/arm/lib/vectors.S:277: Error: too many memory references for `mov'
arch/arm/lib/vectors.S:278: Error: Keine solche Anweisung: »bl do_not_used«
arch/arm/lib/vectors.S:281: Error: alignment not a power of 2
arch/arm/lib/vectors.S:283: Error: Keine solche Anweisung: »ldr r13,IRQ_STACK_START_IN@setup our mode stack«
arch/arm/lib/vectors.S:283: Error: invalid char '[' beginning operand 2 `[r13]@save caller lr in position 0 of saved stack'
arch/arm/lib/vectors.S:283: Error: Keine solche Anweisung: »mrs lr,spsr@get the spsr«
arch/arm/lib/vectors.S:283: Error: invalid char '[' beginning operand 2 `[r13'
arch/arm/lib/vectors.S:283: Error: Operand nach »,« erwartet; nichts erhalten
arch/arm/lib/vectors.S:283: Error: junk at end of line, first unrecognized character is `@'
arch/arm/lib/vectors.S:283: Error: Keine solche Anweisung: »msr spsr,r13@switch modes,make sure moves will execute«
arch/arm/lib/vectors.S:283: Error: too many memory references for `mov'
arch/arm/lib/vectors.S:283: Warning: `pc' is not valid here (expected `(%rsi)')
arch/arm/lib/vectors.S:283: Error: junk `@jump to next instruction&switch modes.' after expression
arch/arm/lib/vectors.S:283: Warning: `lr@jump to next instruction&switch modes.' is not valid here (expected `(%rdi)')
arch/arm/lib/vectors.S:283: Error: no instruction mnemonic suffix given and no register operands; can't size instruction
arch/arm/lib/vectors.S:284: Error: junk at end of line, first unrecognized character is `@'
arch/arm/lib/vectors.S:284: Error: too many memory references for `sub'
arch/arm/lib/vectors.S:284: Error: Keine solche Anweisung: »stmia sp,{r0 - r12}@Save user registers (now in svc mode)r0-r12«
arch/arm/lib/vectors.S:284: Error: Keine solche Anweisung: »ldr r2,IRQ_STACK_START_IN«
arch/arm/lib/vectors.S:284: Error: junk at end of line, first unrecognized character is `@'
arch/arm/lib/vectors.S:284: Error: Keine solche Anweisung: »ldmia r2,{r2 - r3}«
arch/arm/lib/vectors.S:284: Error: too many memory references for `add'
arch/arm/lib/vectors.S:284: Error: too many memory references for `add'
arch/arm/lib/vectors.S:284: Error: too many memory references for `mov'
arch/arm/lib/vectors.S:284: Error: Keine solche Anweisung: »stmia r5,{r0 - r3}@save sp_SVC,lr_SVC,pc,cpsr«
arch/arm/lib/vectors.S:284: Error: too many memory references for `mov'
arch/arm/lib/vectors.S:285: Error: Keine solche Anweisung: »bl do_irq«
arch/arm/lib/vectors.S:287: Error: alignment not a power of 2
arch/arm/lib/vectors.S:289: Error: Keine solche Anweisung: »ldr r13,IRQ_STACK_START_IN@setup our mode stack«
arch/arm/lib/vectors.S:289: Error: invalid char '[' beginning operand 2 `[r13]@save caller lr in position 0 of saved stack'
arch/arm/lib/vectors.S:289: Error: Keine solche Anweisung: »mrs lr,spsr@get the spsr«
arch/arm/lib/vectors.S:289: Error: invalid char '[' beginning operand 2 `[r13'
arch/arm/lib/vectors.S:289: Error: Operand nach »,« erwartet; nichts erhalten
arch/arm/lib/vectors.S:289: Error: junk at end of line, first unrecognized character is `@'
arch/arm/lib/vectors.S:289: Error: Keine solche Anweisung: »msr spsr,r13@switch modes,make sure moves will execute«
arch/arm/lib/vectors.S:289: Error: too many memory references for `mov'
arch/arm/lib/vectors.S:289: Warning: `pc' is not valid here (expected `(%rsi)')
arch/arm/lib/vectors.S:289: Error: junk `@jump to next instruction&switch modes.' after expression
arch/arm/lib/vectors.S:289: Warning: `lr@jump to next instruction&switch modes.' is not valid here (expected `(%rdi)')
arch/arm/lib/vectors.S:289: Error: no instruction mnemonic suffix given and no register operands; can't size instruction
arch/arm/lib/vectors.S:290: Error: junk at end of line, first unrecognized character is `@'
arch/arm/lib/vectors.S:290: Error: too many memory references for `sub'
arch/arm/lib/vectors.S:290: Error: Keine solche Anweisung: »stmia sp,{r0 - r12}@Save user registers (now in svc mode)r0-r12«
arch/arm/lib/vectors.S:290: Error: Keine solche Anweisung: »ldr r2,IRQ_STACK_START_IN«
arch/arm/lib/vectors.S:290: Error: junk at end of line, first unrecognized character is `@'
arch/arm/lib/vectors.S:290: Error: Keine solche Anweisung: »ldmia r2,{r2 - r3}«
arch/arm/lib/vectors.S:290: Error: too many memory references for `add'
arch/arm/lib/vectors.S:290: Error: too many memory references for `add'
arch/arm/lib/vectors.S:290: Error: too many memory references for `mov'
arch/arm/lib/vectors.S:290: Error: Keine solche Anweisung: »stmia r5,{r0 - r3}@save sp_SVC,lr_SVC,pc,cpsr«
arch/arm/lib/vectors.S:290: Error: too many memory references for `mov'
arch/arm/lib/vectors.S:291: Error: Keine solche Anweisung: »bl do_fiq«
arch/arm/lib/vectors.S:121: Error: alignment padding (2 bytes) not a multiple of 4
arch/arm/lib/vectors.S:121: Error: alignment padding (2 bytes) not a multiple of 4
scripts/Makefile.build:314: die Regel für Ziel „arch/arm/lib/vectors.o“ scheiterte
make[1]: *** [arch/arm/lib/vectors.o] Fehler 1
Makefile:1410: die Regel für Ziel „arch/arm/lib“ scheiterte
make: *** [arch/arm/lib] Fehler 2
有人知道这个问题的根源在哪里或通常由谁来设置这些说明?
编辑1:
抱歉,我现在将其更改为文本。
而且,我无法想象这是工具链本身的问题,
因为我更改为要求新U-Boot版本的gcc-6原因。
我的旧U-Boot版本(v2015)仍然可以使用它来构建。因此,工具链本身在我眼中运行良好。
编辑2:
看来 Renaud Pacalet 是正确的,我现在使用了不同的工具链,而且我走得更远。我现在使用的工具链如下:ARM Cross Compiler如此处所述。
他仍然不构建所有内容,但这是自定义板端口的另一个问题原因。
谢谢