ARMCC和gcc汇编文件互相转换的高效方法


前言

  • 总所周知针对不同编译器的汇编语言语法有所不同,尽管他们都是使用相同的处理器;自动转换的方法可大大提高工作效率。

一、GCC汇编转ARMCC汇编

  • 先在Linux下使用GCC编译相关的汇编代码为.o
  • 然后在Eclipse for DS-5 v5.26.0 IDE已有的可正常编译代码的工程中添加该.o文件
  • 使用如下命令反汇编.o文件并生成对应的汇编.txt
    • fromelf --text -c --output="{PWD}{ConfigName}.txt" "G:xxx.o" 分别对应上述txt的路径和要生成的.o路径
    • 上述命令说明:指定输出文件名和输入文件
  • 将生成的txt中的汇编代码拷贝并另存为.s文件即可
  • 对于arm处理器
    • 需要注意gcc编译时是使用thumb还是ARM指令,在ds5下编译另存为的.s文件需要选择对应的thumb或ARM指令。
    • 若在ds5下使用ARM指令的汇编,那么在Linux用GCC编译是可以通过增加-marm编译选项告诉编译器使用ARM指令编译;gcc默认是Thumb指令编译。

二、ARMCC汇编转GCC汇编

  • 同理只需获得在ds5下编译得到的.o
  • 在Linux下使用gcc反汇编即可得到对应的汇编代码
  • GCCPTAH/arm−none−eabi−objdump−dS*.axf > log
  • 注意事项同上不再赘述。

总结

本文介绍了一种高效的转换不同编译器下相同汇编代码的互相转换的方法,具体为Eclipse for DS-5 v5.26.0 IDE下的ARMCC和GCC编译器。

相关推荐
我在人间贩卖青春12 天前
汇编之伪指令
汇编·伪指令
我在人间贩卖青春12 天前
汇编之伪操作
汇编·伪操作
济61712 天前
FreeRTOS基础--堆栈概念与汇编指令实战解析
汇编·嵌入式·freertos
myloveasuka12 天前
汇编TEST指令
汇编
我在人间贩卖青春12 天前
汇编编程驱动LED
汇编·点亮led
我在人间贩卖青春12 天前
汇编和C编程相互调用
汇编·混合编程
myloveasuka13 天前
寻址方式笔记
汇编·笔记·计算机组成原理
请输入蚊子13 天前
《操作系统真象还原》 第六章 完善内核
linux·汇编·操作系统·bochs·操作系统真像还原
myloveasuka13 天前
指令格式举例
汇编·笔记·计算机组成原理
我在人间贩卖青春14 天前
汇编之分支跳转指令
汇编·arm·分支跳转