Неопределенная векторная таблица ARM - PullRequest
0 голосов
/ 06 декабря 2018

В настоящее время я работаю с пользовательской платой под U-Boot.Я перенес все файлы, относящиеся к платам и производителям, в новую версию U-boot (v2018) из более старой версии (v2015).Я использую процессор 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:
Я изменил его на текстовый, извините.Кроме того, я не могу себе представить, что это проблема с самим набором инструментов, потому что я перешел на gcc-6 из-за требования новой версии U-Boot.Моя старая версия U-Boot (v2015) я все еще могу с ней собрать.Таким образом, сама цепочка инструментов работает нормально в моих глазах.

РЕДАКТИРОВАТЬ 2:
Похоже, что Renaud Pacalet был прав, я использовал другой набор инструментов сейчас, и я получил дальше.Я использовал следующую цепочку инструментов: ARM Cross Compiler , как там описано.
Он все еще не собирает все, но это другая проблема, связанная с нестандартным портом платы.

Спасибо

...