EmbDev.net

Forum: ARM programming with GCC/GNU tools -mthumb-interwork, works without it


von Carlos B. (cjb)


Rate this post
useful
not useful
hi everybody,
first thanks for this great tool WinARM is!

I've been developing some arm code, and now I wan't to build some of it
to thumb mode.

I tried the mthumb-interwork option, but I got a data abort exception
somewhere on my code which wasn't there when using pure arm code. (I
compiled with -mthumb the thumb code).

further experimenting showed me that compiling everything as arm, but
adding -mthumb-interwork for both compiling and linking throws the same
result.

any clues? I'm using the last WinARM suite.

binaries are different of course, but what would make the code fail with
-mthumb-interwork only?

thanks!

von Martin T. (mthomas) (Moderator)


Rate this post
useful
not useful
Carlos Be wrote:
> I tried the mthumb-interwork option, but I got a data abort exception
> somewhere on my code which wasn't there when using pure arm code. (I
> compiled with -mthumb the thumb code).

Can you track down the data-abort as explained in this text:
http://www.ethernut.de/en/documents/arm-exceptions.html

>
> further experimenting showed me that compiling everything as arm, but
> adding -mthumb-interwork for both compiling and linking throws the same
> result.
>
> any clues? I'm using the last WinARM suite.

Maybe a call of subroutines: Do you have any assembler-code in your
project which calls subroutines in thumb-mode with "BL"? This will fail.
Try to replace them with a "ldr, bx-sequence.
Maybe an issue with the interrupt-handling. Do you use
"attribute(interrupt)"?

> binaries are different of course, but what would make the code fail with
> -mthumb-interwork only?

Difficult to help without knowing the code. Try to create a minimal
example to reproduce the issue (makefile, linker-script, startup-code,
simple application-code) and attach it to a message in this forum.

Martin Thomas

Please log in before posting. Registration is free and takes only a minute.
Existing account
Do you have a Google/GoogleMail account? No registration required!
Log in with Google account
No account? Register here.