arm处理器编译选项-march的作用

arm处理器每个核使用不同的arm体系结构版本,每个版本的对应指令集也不同,具体如下所示: ARM体系结构总结

                    核                   

体系结构
 ARM1 V1
 ARM2 V2
 ARM2aS,ARM3 V2a
 ARM6,ARM600,ARM610 V3
 ARM7,ARM700,ARM710 V3
 ARM7TDMI,ARM710T,ARM720T,ARM740T V4T
 Strong ARM,ARM8,ARM810 V4
 ARM9TDMI,ARM920T,ARM940T V4T
 ARM9E-S V5TE
 ARM10TDMI,ARM1020E V5TE

 ARM11,ARM1156T2-S,ARM1156T2FS,ARM1176JZ-S,ARM11JZF-S

 V6
arm-linux-gcc编译器交叉编译时可以通过在CFLAGS中加入-march选项来选择编译出的汇编指令是针对arm处理器的哪个体系结构。如:ARM7TDMI处理器加入-march=armv4t表示支持V4T的指令集,从而解决了没有加入-march选项时编译器将半字或字的strh和str操作自动编译成了2个strb或4个strb指令,另外使用armv4t替代armv4则解决了armv4对bx指令不支持的错误。


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部