平常开发的主要是helper2416开发板的程序,芯片是三星的2416,属于arm9,交叉编译器是公司自行移植的针对helper2416开发板的编译器,支持的是armv5te指令集
最近手上有一台android的小米盒子,就想着同是arm的平台,开发板指令集版本不高,能否用开发板的交叉编译器编译个helloworld的c语言程序在小米盒子上运行。
说说过程:
程序:
-
#include <stdio.h>
-
#include <stdlib.h>
-
-
int main()
-
{
-
printf( "hello world!\n" );
-
return 0;
-
}
开发板的arm交叉编译器编译,注意用静态链接,否则运行时会提示"sh: ./helloworld: No such file or directory"
arm-linux-gcc main.c -o helloworld -static
首先adb先连接上盒子(步骤略),再把程序传到小米盒子上,目录/sdcard/,其他目录可能传不上去
adb push ./helloworld /sdcard/helloworld
465 KB/s (584721 bytes in 1.227s)
进入小米盒子
adb shell
提升到root权限(请确保盒子已root)
$ su
进入/sdcard目录
$ cd /sdcard/
拷贝到/mnt/asec/目录下,不然会无法修改程序为可执行
root@android:/sdcard # cp helloworld /mnt/asec/
root@android:/sdcard # cd /mnt/asec/
让程序有可执行权限
root@android:/mnt/asec # chmod 777 helloworld
运行
root@android:/mnt/asec # ./helloworld
输入
hello world!
成功了
作者:帅得不敢出门 程序员群:31843264
阅读(2940) | 评论(0) | 转发(0) |