[En-Nut-Discussion] Building eir10c.conf

Thiago A. Corrêa thiago.correa at gmail.com
Wed Sep 10 14:02:04 CEST 2014


Hi Uwe,



On Wed, Sep 10, 2014 at 5:55 AM, Uwe Bonnes
<bon at elektron.ikp.physik.tu-darmstadt.de> wrote:
>  void NutThreadEntry(void)
>  {
>      /* Load argument in r0 and jump to thread entry. */
> -    asm volatile ("ldmfd   sp!, {r0, lr}\n\tbx lr":::"r0", "lr");
> +    asm volatile ("pop {r0, pc}\n\t":::"r0", "pc");
>  }
>
> Could you perhaps try to do the same for arch/arm/os/context.c.

That fixed the first compiler error, but there are still others[1],
including a complain about arch not supporting Thumb.

> Obvious both versions compile for me, to the test must be done with your
> compiler.

Which makes me think perhaps I'm doing something wrong in the
configurator. On the Settings Dialog I've selected "arm-gcc". Is this
the proper one?

Kind Regards,
     Thiago A. Correa

[1]
make[1]: Entering directory `C:/programming/ethernut/nutbld/arch'
arm-none-eabi-gcc -c -IC:\programming\ethernut\nutbld/include  -IC:\programming\
ethernut\nut/include -IC:\programming\ethernut\nut/include/contrib  -DELEKTOR_IR
1  -MD -MP -mcpu=arm7tdmi -mthumb-interwork -Os -Wall -Wstrict-prototypes -Werro
r -Wa,-a=arm/board/elektor_ir1.lst  -o arm/board/elektor_ir1.o C:\programming\et
hernut\nut/arch/arm/board/elektor_ir1.c
arm-none-eabi-gcc -c -IC:\programming\ethernut\nutbld/include  -IC:\programming\
ethernut\nut/include -IC:\programming\ethernut\nut/include/contrib  -DELEKTOR_IR
1  -MD -MP -mcpu=arm7tdmi -mthumb-interwork -Os -Wall -Wstrict-prototypes -Werro
r -Wa,-a=arm/os/context.lst  -o arm/os/context.o C:\programming\ethernut\nut/arc
h/arm/os/context.c
C:\Users\thiago\AppData\Local\Temp\ccedWtKe.s: Assembler messages:
C:\Users\thiago\AppData\Local\Temp\ccedWtKe.s:36: Error: selected processor does
 not support Thumb mode `stmfd sp!,{r4-r11,lr}'
C:\Users\thiago\AppData\Local\Temp\ccedWtKe.s:37: Error: selected processor does
 not support Thumb mode `mrs r0,cpsr'
C:\Users\thiago\AppData\Local\Temp\ccedWtKe.s:38: Error: selected processor does
 not support Thumb mode `stmfd sp!,{r0}'
C:\Users\thiago\AppData\Local\Temp\ccedWtKe.s:39: Error: lo register required --
 `str sp,[r3,#24]'
C:\Users\thiago\AppData\Local\Temp\ccedWtKe.s:50: Error: lo register required --
 `ldr sp,[r3,#24]'
C:\Users\thiago\AppData\Local\Temp\ccedWtKe.s:51: Error: lo register required --
 `ldmfd sp!,{r0}'
C:\Users\thiago\AppData\Local\Temp\ccedWtKe.s:52: Error: unshifted register requ
ired -- `bic r0,r0,#0xC0'
C:\Users\thiago\AppData\Local\Temp\ccedWtKe.s:53: Error: selected processor does
 not support Thumb mode `msr spsr,r0'
C:\Users\thiago\AppData\Local\Temp\ccedWtKe.s:54: Error: lo register required --
 `ldmfd sp!,{r4-r11,lr}'
C:\Users\thiago\AppData\Local\Temp\ccedWtKe.s:117: Error: selected processor doe
s not support Thumb mode `mrs r3,cpsr'
C:\Users\thiago\AppData\Local\Temp\ccedWtKe.s:118: Error: unshifted register req
uired -- `orr r3,r3,#0xC0'
C:\Users\thiago\AppData\Local\Temp\ccedWtKe.s:119: Error: selected processor doe
s not support Thumb mode `msr cpsr,r3'
C:\Users\thiago\AppData\Local\Temp\ccedWtKe.s:141: Error: lo register required -
- `ldr sp,[r3,#24]'
C:\Users\thiago\AppData\Local\Temp\ccedWtKe.s:142: Error: lo register required -
- `ldmfd sp!,{r0}'
C:\Users\thiago\AppData\Local\Temp\ccedWtKe.s:143: Error: unshifted register req
uired -- `bic r0,r0,#0xC0'
C:\Users\thiago\AppData\Local\Temp\ccedWtKe.s:144: Error: selected processor doe
s not support Thumb mode `msr spsr,r0'
C:\Users\thiago\AppData\Local\Temp\ccedWtKe.s:145: Error: lo register required -
- `ldmfd sp!,{r4-r11,lr}'
C:\Users\thiago\AppData\Local\Temp\ccedWtKe.s:160: Error: selected processor doe
s not support Thumb mode `mrs r3,cpsr'
C:\Users\thiago\AppData\Local\Temp\ccedWtKe.s:161: Error: unshifted register req
uired -- `bic r3,r3,#0xC0'
C:\Users\thiago\AppData\Local\Temp\ccedWtKe.s:162: Error: selected processor doe
s not support Thumb mode `msr cpsr,r3'
make[1]: *** [arm/os/context.o] Error 1
make[1]: Leaving directory `C:/programming/ethernut/nutbld/arch'
make: *** [all] Error 2

C:\programming\ethernut\nutbld>


More information about the En-Nut-Discussion mailing list