EmcraftSystems / linux-emcraft

uClinux for Cortex-M3 and Cortex-M4, version 2.6.33
http://www.emcraft.com
Other
267 stars 209 forks source link

A problem with compiling #8

Open atimin opened 10 years ago

atimin commented 10 years ago

I tried to compile the sources for Cortex-M4. It's my first attempts and I really confused... I started with `make menuconfig' where I disabled MMU-options and chose STMicro STM32 processor. Then I lunched 'make' and got these errors.

arch/arm/kernel/entry-common.S: Assembler messages:
arch/arm/kernel/entry-common.S:29: Error: lo register required -- `ldr r1,[tsk,#0]'
arch/arm/kernel/entry-common.S:30: Error: unshifted register required -- `tst r1,#0x000000ff'
arch/arm/kernel/entry-common.S:36: Error: lo register required -- `ldr lr,[sp,#36]'
arch/arm/kernel/entry-common.S:36: Error: only lo regs allowed with immediate -- `cmp lr,#0xfffffffd'
arch/arm/kernel/entry-common.S:36: Error: lo register required -- `ldmia sp,{r4-r11}'
arch/arm/kernel/entry-common.S:36: Error: lo register required -- `ldr lr,[sp,#64]'
arch/arm/kernel/entry-common.S:36: Error: lo register required -- `ldmia sp,{r0-r3,r12}'
arch/arm/kernel/entry-common.S:36: Error: lo register required -- `ldr r12,[sp,#32]'
arch/arm/kernel/entry-common.S:36: Error: lo register required -- `add r11,sp,#44'
arch/arm/kernel/entry-common.S:36: Error: lo register required -- `ldmia r11,{r1-r7}'
arch/arm/kernel/entry-common.S:36: Error: lo register required -- `stmia r12,{r0-r7}'
arch/arm/kernel/entry-common.S:36: Error: lo register required -- `ldmia sp,{r4-r11}'
arch/arm/kernel/entry-common.S:51: Error: unshifted register required -- `tst r1,#(1<<1)'
arch/arm/kernel/entry-common.S:53: Error: unshifted register required -- `tst r1,#(1<<0)|(1<<2)'
arch/arm/kernel/entry-common.S:68: Error: lo register required -- `ldr r1,[tsk,#0]'
arch/arm/kernel/entry-common.S:69: Error: unshifted register required -- `tst r1,#0x000000ff'
arch/arm/kernel/entry-common.S:75: Error: lo register required -- `ldr lr,[sp,#36]'
arch/arm/kernel/entry-common.S:75: Error: only lo regs allowed with immediate -- `cmp lr,#0xfffffffd'
arch/arm/kernel/entry-common.S:75: Error: lo register required -- `ldmia sp,{r4-r11}'
arch/arm/kernel/entry-common.S:75: Error: lo register required -- `ldr lr,[sp,#64]'
arch/arm/kernel/entry-common.S:75: Error: lo register required -- `ldmia sp,{r0-r3,r12}'
arch/arm/kernel/entry-common.S:75: Error: lo register required -- `ldr r12,[sp,#32]'
arch/arm/kernel/entry-common.S:75: Error: lo register required -- `add r11,sp,#40'
arch/arm/kernel/entry-common.S:75: Error: lo register required -- `ldmia r11,{r0-r7}'
arch/arm/kernel/entry-common.S:75: Error: lo register required -- `stmia r12,{r0-r7}'
arch/arm/kernel/entry-common.S:75: Error: lo register required -- `ldmia sp,{r4-r11}'
arch/arm/kernel/entry-common.S:83: Error: lo register required -- `lsr tsk,tsk,#13'
arch/arm/kernel/entry-common.S:83: Error: shifts in CMP/MOV instructions are only supported in unified syntax -- `mov tsk,tsk,lsl#13'
arch/arm/kernel/entry-common.S:84: Error: lo register required -- `ldr r1,[tsk,#0]'
arch/arm/kernel/entry-common.S:85: Error: only lo regs allowed with immediate -- `mov why,#1'
arch/arm/kernel/entry-common.S:86: Error: unshifted register required -- `tst r1,#(1<<8)'
arch/arm/kernel/entry-common.S:128: Error: lo register required -- `stmdb sp!,{r0-r3,lr}'
arch/arm/kernel/entry-common.S:134: Error: lo register required -- `ldmia sp!,{r0-r3,ip,lr}'
arch/arm/kernel/entry-common.S:143: Error: lo register required -- `ldmia sp!,{r0-r3,ip,lr}'
arch/arm/kernel/entry-common.S:147: Error: lo register required -- `stmdb sp!,{r0-r3,lr}'
arch/arm/kernel/entry-common.S:153: Error: lo register required -- `ldr lr,[fp,#-4]'
arch/arm/kernel/entry-common.S:154: Error: lo register required -- `ldmia sp!,{r0-r3,pc}'
arch/arm/kernel/entry-common.S:157: Error: lo register required -- `ldr r1,[fp,#-4]'
arch/arm/kernel/entry-common.S:162: Error: lo register required -- `ldr lr,[fp,#-4]'
arch/arm/kernel/entry-common.S:163: Error: lo register required -- `ldmia sp!,{r0-r3,pc}'
arch/arm/kernel/entry-common.S:194: Error: only lo regs allowed with immediate -- `cmp lr,#0xfffffffd'
arch/arm/kernel/entry-common.S:194: Error: lo register required -- `add r12,sp,#32'
arch/arm/kernel/entry-common.S:194: Error: lo register required -- `stmdb sp!,{r4-r12,lr}'
arch/arm/kernel/entry-common.S:194: Error: lo register required -- `stmia sp,{r4-r12,lr}'
arch/arm/kernel/entry-common.S:194: Error: lo register required -- `ldmia r12,{r0-r3,r6,r8-r10}'
arch/arm/kernel/entry-common.S:194: Error: lo register required -- `add r12,sp,#40'
arch/arm/kernel/entry-common.S:194: Error: lo register required -- `stmia r12,{r0-r3,r6,r8-r10}'
arch/arm/kernel/entry-common.S:207: Error: only lo regs allowed with immediate -- `mov fp,#0'
arch/arm/kernel/entry-common.S:246: Error: unshifted register required -- `tst r8,#0x01000000'
arch/arm/kernel/entry-common.S:247: Error: Thumb does not support conditional execution
arch/arm/kernel/entry-common.S:248: Error: Thumb does not support conditional execution
arch/arm/kernel/entry-common.S:267: Error: lo register required -- `lsr tsk,tsk,#13'
arch/arm/kernel/entry-common.S:267: Error: shifts in CMP/MOV instructions are only supported in unified syntax -- `mov tsk,tsk,lsl#13'
arch/arm/kernel/entry-common.S:269: Error: lo register required -- `ldr ip,[tsk,#0]'
arch/arm/kernel/entry-common.S:282: Error: unshifted register required -- `bic scno,scno,#0xff000000'
arch/arm/kernel/entry-common.S:283: Error: unshifted register required -- `eor scno,scno,#0'
arch/arm/kernel/entry-common.S:286: Error: lo register required -- `stmdb sp!,{r4,r5}'
arch/arm/kernel/entry-common.S:287: Error: unshifted register required -- `tst ip,#(1<<8)'
arch/arm/kernel/entry-common.S:292: Error: Thumb does not support conditional execution
arch/arm/kernel/entry-common.S:295: Error: only lo regs allowed with immediate -- `mov why,#0'
arch/arm/kernel/entry-common.S:297: Error: unshifted register required -- `eor r0,scno,#0'
arch/arm/kernel/entry-common.S:316: Error: Thumb does not support conditional execution
arch/arm/kernel/entry-common.S:317: Error: Thumb does not support conditional execution
arch/arm/kernel/entry-common.S:365: Error: unshifted register required -- `bic scno,r0,#0x900000'
arch/arm/kernel/entry-common.S:367: Error: Thumb does not support conditional execution
arch/arm/kernel/entry-common.S:368: Error: Thumb does not support conditional execution
arch/arm/kernel/entry-common.S:369: Error: Thumb does not support conditional execution
arch/arm/kernel/entry-common.S:370: Error: Thumb does not support conditional execution
arch/arm/kernel/entry-common.S:371: Error: Thumb does not support conditional execution
arch/arm/kernel/entry-common.S:372: Error: Thumb does not support conditional execution
arch/arm/kernel/entry-common.S:373: Error: Thumb does not support conditional execution
arch/arm/kernel/entry-common.S:393: Error: lo register required -- `add ip,sp,#8'
arch/arm/kernel/entry-common.S:394: Error: lo register required -- `str ip,[sp,#4]'
arch/arm/kernel/entry-common.S:414: Error: instruction not supported in Thumb16 mode -- `teq r1,#88'
arch/arm/kernel/entry-common.S:415: Error: Thumb does not support conditional execution
arch/arm/kernel/entry-common.S:420: Error: instruction not supported in Thumb16 mode -- `teq r1,#88'
arch/arm/kernel/entry-common.S:421: Error: Thumb does not support conditional execution

I use CodeSourcery G++ Lite toochain. Host Ubuntu 14.04. Thanks a lot for your help.

sposelenov-emcraft commented 10 years ago

Aleksey,

Regards,

Sergei Poselenov, Emcraft Systems

On Mon, 2014-08-11 at 09:57 -0700, Aleksey Timin wrote:

I tried to compile the sources for Cortex-M4. It's my first attempts and I really confused... I started with `make menuconfig' where I disabled MMU-options and chose STMicro STM32 processor. Then I lunched 'make' and got these errors.

arch/arm/kernel/entry-common.S: Assembler messages: arch/arm/kernel/entry-common.S:29: Error: lo register required -- ldr r1,[tsk,#0]' arch/arm/kernel/entry-common.S:30: Error: unshifted register required --tst r1,#0x000000ff' arch/arm/kernel/entry-common.S:36: Error: lo register required -- ldr lr,[sp,#36]' arch/arm/kernel/entry-common.S:36: Error: only lo regs allowed with immediate --cmp lr,#0xfffffffd' arch/arm/kernel/entry-common.S:36: Error: lo register required -- ldmia sp,{r4-r11}' arch/arm/kernel/entry-common.S:36: Error: lo register required --ldr lr,[sp,#64]' arch/arm/kernel/entry-common.S:36: Error: lo register required -- ldmia sp,{r0-r3,r12}' arch/arm/kernel/entry-common.S:36: Error: lo register required --ldr r12,[sp,#32]' arch/arm/kernel/entry-common.S:36: Error: lo register required -- add r11,sp,#44' arch/arm/kernel/entry-common.S:36: Error: lo register required --ldmia r11,{r1-r7}' arch/arm/kernel/entry-common.S:36: Error: lo register required -- stmia r12,{r0-r7}' arch/arm/kernel/entry-common.S:36: Error: lo register required --ldmia sp,{r4-r11}' arch/arm/kernel/entry-common.S:51: Error: unshifted register required -- tst r1,#(1<<1)' arch/arm/kernel/entry-common.S:53: Error: unshifted register required --tst r1,#(1<<0)|(1<<2)' arch/arm/kernel/entry-common.S:68: Error: lo register required -- ldr r1,[tsk,#0]' arch/arm/kernel/entry-common.S:69: Error: unshifted register required --tst r1,#0x000000ff' arch/arm/kernel/entry-common.S:75: Error: lo register required -- ldr lr,[sp,#36]' arch/arm/kernel/entry-common.S:75: Error: only lo regs allowed with immediate --cmp lr,#0xfffffffd' arch/arm/kernel/entry-common.S:75: Error: lo register required -- ldmia sp,{r4-r11}' arch/arm/kernel/entry-common.S:75: Error: lo register required --ldr lr,[sp,#64]' arch/arm/kernel/entry-common.S:75: Error: lo register required -- ldmia sp,{r0-r3,r12}' arch/arm/kernel/entry-common.S:75: Error: lo register required --ldr r12,[sp,#32]' arch/arm/kernel/entry-common.S:75: Error: lo register required -- add r11,sp,#40' arch/arm/kernel/entry-common.S:75: Error: lo register required --ldmia r11,{r0-r7}' arch/arm/kernel/entry-common.S:75: Error: lo register required -- stmia r12,{r0-r7}' arch/arm/kernel/entry-common.S:75: Error: lo register required --ldmia sp,{r4-r11}' arch/arm/kernel/entry-common.S:83: Error: lo register required -- lsr tsk,tsk,#13' arch/arm/kernel/entry-common.S:83: Error: shifts in CMP/MOV instructions are only supported in unified syntax --mov tsk,tsk,lsl#13' arch/arm/kernel/entry-common.S:84: Error: lo register required -- ldr r1,[tsk,#0]' arch/arm/kernel/entry-common.S:85: Error: only lo regs allowed with immediate --mov why,#1' arch/arm/kernel/entry-common.S:86: Error: unshifted register required -- tst r1,#(1<<8)' arch/arm/kernel/entry-common.S:128: Error: lo register required --stmdb sp!,{r0-r3,lr}' arch/arm/kernel/entry-common.S:134: Error: lo register required -- ldmia sp!,{r0-r3,ip,lr}' arch/arm/kernel/entry-common.S:143: Error: lo register required --ldmia sp!,{r0-r3,ip,lr}' arch/arm/kernel/entry-common.S:147: Error: lo register required -- stmdb sp!,{r0-r3,lr}' arch/arm/kernel/entry-common.S:153: Error: lo register required --ldr lr,[fp,#-4]' arch/arm/kernel/entry-common.S:154: Error: lo register required -- ldmia sp!,{r0-r3,pc}' arch/arm/kernel/entry-common.S:157: Error: lo register required --ldr r1,[fp,#-4]' arch/arm/kernel/entry-common.S:162: Error: lo register required -- ldr lr,[fp,#-4]' arch/arm/kernel/entry-common.S:163: Error: lo register required --ldmia sp!,{r0-r3,pc}' arch/arm/kernel/entry-common.S:194: Error: only lo regs allowed with immediate -- cmp lr,#0xfffffffd' arch/arm/kernel/entry-common.S:194: Error: lo register required --add r12,sp,#32' arch/arm/kernel/entry-common.S:194: Error: lo register required -- stmdb sp!,{r4-r12,lr}' arch/arm/kernel/entry-common.S:194: Error: lo register required --stmia sp,{r4-r12,lr}' arch/arm/kernel/entry-common.S:194: Error: lo register required -- ldmia r12,{r0-r3,r6,r8-r10}' arch/arm/kernel/entry-common.S:194: Error: lo register required --add r12,sp,#40' arch/arm/kernel/entry-common.S:194: Error: lo register required -- stmia r12,{r0-r3,r6,r8-r10}' arch/arm/kernel/entry-common.S:207: Error: only lo regs allowed with immediate --mov fp,#0' arch/arm/kernel/entry-common.S:246: Error: unshifted register required -- tst r8,#0x01000000' arch/arm/kernel/entry-common.S:247: Error: Thumb does not support conditional execution arch/arm/kernel/entry-common.S:248: Error: Thumb does not support conditional execution arch/arm/kernel/entry-common.S:267: Error: lo register required --lsr tsk,tsk,#13' arch/arm/kernel/entry-common.S:267: Error: shifts in CMP/MOV instructions are only supported in unified syntax -- mov tsk,tsk,lsl#13' arch/arm/kernel/entry-common.S:269: Error: lo register required --ldr ip,[tsk,#0]' arch/arm/kernel/entry-common.S:282: Error: unshifted register required -- bic scno,scno,#0xff000000' arch/arm/kernel/entry-common.S:283: Error: unshifted register required --eor scno,scno,#0' arch/arm/kernel/entry-common.S:286: Error: lo register required -- stmdb sp!,{r4,r5}' arch/arm/kernel/entry-common.S:287: Error: unshifted register required --tst ip,#(1<<8)' arch/arm/kernel/entry-common.S:292: Error: Thumb does not support conditional execution arch/arm/kernel/entry-common.S:295: Error: only lo regs allowed with immediate -- mov why,#0' arch/arm/kernel/entry-common.S:297: Error: unshifted register required --eor r0,scno,#0' arch/arm/kernel/entry-common.S:316: Error: Thumb does not support conditional execution arch/arm/kernel/entry-common.S:317: Error: Thumb does not support conditional execution arch/arm/kernel/entry-common.S:365: Error: unshifted register required -- bic scno,r0,#0x900000' arch/arm/kernel/entry-common.S:367: Error: Thumb does not support conditional execution arch/arm/kernel/entry-common.S:368: Error: Thumb does not support conditional execution arch/arm/kernel/entry-common.S:369: Error: Thumb does not support conditional execution arch/arm/kernel/entry-common.S:370: Error: Thumb does not support conditional execution arch/arm/kernel/entry-common.S:371: Error: Thumb does not support conditional execution arch/arm/kernel/entry-common.S:372: Error: Thumb does not support conditional execution arch/arm/kernel/entry-common.S:373: Error: Thumb does not support conditional execution arch/arm/kernel/entry-common.S:393: Error: lo register required --add ip,sp,#8' arch/arm/kernel/entry-common.S:394: Error: lo register required -- str ip,[sp,#4]' arch/arm/kernel/entry-common.S:414: Error: instruction not supported in Thumb16 mode --teq r1,#88' arch/arm/kernel/entry-common.S:415: Error: Thumb does not support conditional execution arch/arm/kernel/entry-common.S:420: Error: instruction not supported in Thumb16 mode -- `teq r1,#88' arch/arm/kernel/entry-common.S:421: Error: Thumb does not support conditional execution

I use CodeSourcery G++ Lite toochain. Host Ubuntu 14.04. Thanks a lot for your help.

— Reply to this email directly or view it on GitHub.