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编译器。

相关推荐
资料,小偿1 天前
4.1.1基于51单片机汇编语言出租车计价器可切换白天黑夜,可修改价格
汇编·51单片机·proteus
embrace991 天前
【C语言学习】数据在内存中存储
java·c语言·开发语言·汇编·c++·学习·算法
T.Ree.7 天前
汇编_mov指令
汇编
CC-NX8 天前
32位汇编:实验12动态链接库
汇编
资料,小偿8 天前
4.101基于8086国旗图案proteus8.9,8086彩灯图案流水灯图案,国期图案仿真,四个开关四种模式。近期本人原创
汇编·proteus
资料,小偿11 天前
4.29.3五种波形发生器8086波形发生器,锯齿波脉冲波正弦波三角波直流信号含调试视频➕18页5000字原创报告软件流程图proteus8.9近期原创的,
汇编·proteus
T.Ree.11 天前
汇编_读写内存
开发语言·汇编·c#
量子炒饭大师12 天前
【一天一个计算机知识】—— 【编程百度】翻译环境与运行环境
c语言·汇编·c++·gitee·机器翻译
资料,小偿13 天前
4.98基于8086倒车测距8086测距ACD0809proteus8.9仿真,汇编语言源程序
汇编·proteus
万象.14 天前
GNU汇编语法和Cortex-A7常用汇编指令
服务器·汇编·gnu