首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 嵌入开发 > 汇编语言 >

怎么用gas编译mips汇编代码

2012-11-04 
如何用gas编译mips汇编代码?如题所示。[解决办法]好吧,我没用过mips,不过原理和arm也一样。1.你要下一个适合

如何用gas编译mips汇编代码?
如题所示。

[解决办法]
好吧,我没用过mips,不过原理和arm也一样。
1.你要下一个适合mips的交叉编译器。如我arm的名字arm-none-eabi-XXXX,一般下到的是一个工具集,有很多命令“XXXX”指的就是它们,如as, gcc, ld, objcopy等等。当然你不难得干,自己下个源码编译一个也是可以的(有点烦人)。
2.下好了,要安装好,这个没问题吧!反正,每个命令加参数--version试一下,正常就好。
3.编译(我以arm为例,你把”arm-none-eabi-“换成你编译器的前缀就行了):
<1>arm-none-eabi-gcc -E input.S | arm-none-eabi-as -o output.o
先用gcc -E将汇编源文件预处理一下,以防有#include这些as不认识的东西
as通过管道接收处理后的内容,并将其编译成目标文件,-o是指定输出文件的名字
<2>arm-none-eabi-ld -Ttext 0xc0008000 -g output.o -o out_elf
重定位程序-Ttext指定程序代码段开始的地址,生成的是elf格式的文件。这里有点问题,我这是编译来在裸机上运行的,0xc0008000是我开发板内存的地址,如果你是在有操作系统的环境下,我也不知道怎么搞。
<3>arm-none-eabi-ogjcopy -O binary -S out_elf out.bin
这步是将生成的elf格式的二进制文件转换成BIN格式,更多格式的转换请参考手册

热点排行