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

相关推荐
2601_962296515 天前
C/C++:编译全过程——预处理、编译、汇编、链接(包含预处理指令:宏定义,文件包括、条件编译)
汇编·预处理·链接·c/c++·编译过程
Freak嵌入式6 天前
Pico PIO 汇编语法深度详解:标识符、指令、伪指令全解析
汇编·stm32·单片机·嵌入式硬件·fpga开发·硬件架构
kyle~11 天前
x86 汇编LOCK前缀 --- 硬件架构向软件提供的核心同步原语
汇编·c++·性能优化·硬件架构·实时系统
典典分享指南12 天前
飞书 + 企业微信 + 微信文档多端协同实践指南
汇编·flask·intellij-idea·fastapi
极客互动API17 天前
企业微信 iPad 协议服务搭建与 AI 回调实战
网络·汇编·人工智能·微信·企业微信·ipad
wechatbot88822 天前
极客互动企业微信 SCRM 私域运营实战效果全景
大数据·汇编·微信·自动化·企业微信·rpa
祈禾1 个月前
计算机组成原理之编译、汇编、链接、解释
开发语言·汇编·笔记·学习
水饺编程1 个月前
AT&T 汇编语言学习笔记开篇语
c语言·汇编·c++
iCxhust1 个月前
8088单板机VScode集成开发环境使用方法二(汇编版)
汇编·单片机·微机原理·8088单板机
·薯条大王1 个月前
经济实惠玩云服务器|一台云服务器多人共用,子账号配置教程
java·linux·运维·服务器·汇编·c++·python