[En-Nut-Discussion] Building eir10c.conf

Uwe Bonnes bon at elektron.ikp.physik.tu-darmstadt.de
Wed Sep 10 10:55:25 CEST 2014


>>>>> "Thiago" == Thiago A Corrêa <thiago.correa at gmail.com> writes:

    Thiago> Hi, It's now arm-none-eabi-gcc (crosstool-NG 1.19.0 - Atmel
    Thiago> build: 277) 4.8.3 20131129 (release) [ARM/embedded-4_8-branch
    Thiago> revision 205641]

    Thiago>      But still same problem. It still complains about the
    Thiago> assembly code in arch/arm/os/context.c

For cm3, that has the same basic architecture, I exchanged
 cm3/os/context: Push direct to PC register instead of push to lr and branch lr.
 @@ -114,7 +114,7 @@ static void NutThreadEntry(void) __attribute__ ((naked));
 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.
Obvious both versions compile for me, to the test must be done with your
compiler.

Thanks
-- 
Uwe Bonnes                bon at elektron.ikp.physik.tu-darmstadt.de

Institut fuer Kernphysik  Schlossgartenstrasse 9  64289 Darmstadt
--------- Tel. 06151 162516 -------- Fax. 06151 164321 ----------


More information about the En-Nut-Discussion mailing list