[En-Nut-Discussion] ARM Thumb Mode anyone

Bernd Walter enut at cicely.de
Wed Mar 31 13:11:14 CEST 2010


On Wed, Mar 31, 2010 at 10:40:48AM +0200, Harald Kipp wrote:
> Hi,
> 
> I remembered, that this topic appeared several times in this list and
> checked the archive
> 
> http://lists.egnite.de/pipermail/en-nut-discussion/2009-January/010164.html
> 
> I want to give it a try for the bootmon bootloader, because its code is
> completely independent. Unfortunately:
> 
> libgcc.a(_umodsi3.o)(__umodsi3): warning: interworking not enabled.
>   first occurrence: utils.o: Thumb call to ARM
> c:/programme/yagarto/bin/../lib/gcc/arm-elf/4.4.2/../../../../arm-elf/bin/ld.exe:
> c:/programme/yagarto/bin/../lib/gcc/arm-elf/4.4.2\
> libgcc.a(_udivsi3.o)(__udivsi3): warning: interworking not enabled.
>   first occurrence: utils.o: Thumb call to ARM
> c:/programme/yagarto/bin/../lib/gcc/arm-elf/4.4.2/../../../../arm-elf/bin/ld.exe:
> c:/programme/yagarto/bin/../lib/gcc/arm-elf/4.4.2\
> libgcc.a(_umodsi3.o)(__umodsi3): warning: interworking not enabled.
>   first occurrence: utils.o: Thumb call to ARM
> c:/programme/yagarto/bin/../lib/gcc/arm-elf/4.4.2/../../../../arm-elf/bin/ld.exe:
> c:/programme/yagarto/bin/../lib/gcc/arm-elf/4.4.2\
> libgcc.a(_udivsi3.o)(__udivsi3): warning: interworking not enabled.
>   first occurrence: utils.o: Thumb call to ARM
> 
> As you can see, I used YAGARTO with GCC 4.4.2.

It seems you are using a libgcc version, which is not compiled with
thumb-interwork.
Did you tell the linker that it needs to use the interwork version?
Usually there are many different libgcc versions to pick from.

> Bernd Walter and others reported, that they successfully used thumb mode
> for their application code and stick to thumb-interwork for the Nut/OS libs.

I even compile large parts of Nut/OS with thumb, but since interrupt
code needs to be native and ISR routines are not into individual files
the drivers usually needs to be compiled native.

> But looking to the errors above, I can hardly believe, that their
> applications never used any division.
> 
> Did anyone get thumb code linked with this YAGARTO or GCC version?

I stil use 4.1.0, but this error has nothing to do with the gcc
version.

-- 
B.Walter <bernd at bwct.de> http://www.bwct.de
Modbus/TCP Ethernet I/O Baugruppen, ARM basierte FreeBSD Rechner uvm.



More information about the En-Nut-Discussion mailing list