错误:指令非法。 Mips交叉编译器

时间:2018-08-14 15:31:11

标签: c mips

我使用Mips交叉编译器在Linux x64上编译简单程序,然后使用 scp 将其上传到我的路由器上。当我运行该程序时,出现错误:非法指令

我的程序:

#include <stdio.h>
int main(void)
{
  printf("Hello, world!");
  return 0;
}
我的mips-box的

/ proc / cpuinfo

system type         : Atheros AR9330 rev 1
machine             : TP-LINK TL-WR741ND v4
processor           : 0
cpu model           : MIPS 24Kc V7.4
isa                 : mips1 mips2 mips32r1 mips32r2
ASEs implemented    : mips16

编译:

mips-linux-gnu-gcc -static -march=24kc -o hello hello.c

上传:

scp hello root@192.168.1.1:/tmp

运行:

root@OpenWrt:/tmp# ./hello
Illegal instruction

1 个答案:

答案 0 :(得分:1)

已解决。

我使用另一个工具链。链接:https://www.mips.com/develop/tools/codescape-mips-sdk/download-codescape-mips-sdk-essentials/

对于 MIPS经典传统CPU IP内核:4k,M4k,M14k,24k,34k,74k,1004k,1074k ,并使用相同的编译命令。