仅编译thumb1

时间:2012-11-20 13:31:13

标签: gcc compiler-construction arm thumb

如何告诉gcc编译成仅限Thumb1的指令?

每个人都知道helloworld.c:

#include <stdio.h>  
main() {  
 printf("Hello world");  
}  

这是我的命令行:

user @ debian-armel:〜$ gcc -mcpu = cortex-m3 -mthumb helloworld.c&amp;&amp; objdump -d a.out

并且,大多数指令都是32位宽,而不是我预期的16位。

那么,我做错了什么?

1 个答案:

答案 0 :(得分:3)

Cortex-M3支持Thumb-2,因此编译器可以自由生成32位版本。以下其中一项应达到您的需求:

-march=ARMv5 -mthumb
-march=ARMv4T -mthumb
-march=ARMv6-M
-mcpu=Cortex-M0