在前面的基础上,下面开始利用skyeye自带的testsuites中的资源来运行自己的程序的方法
1.首先是下载下载skyeye-1.2.5_REL.tar.gz,然后解压该文件
2.使用skyeye模拟板子s3c2410运行某个linux
首先进入解压完的目录,然后
cd ./linux/s3c2410/s3c2410x-2.6.14
skyeye –c skyeye.conf –e vmlinux
注意的是skyeye的版本问题,我是用的是skyeye-1.2.6的,其他版本可能不能够使用。
然后出现
Welcome to
......(arm linux)
ARMLinux for Skyeye
3.编写hello.c
// hello.c for s3c2410c board
#include <stdio.h>
int main ()
{
int i;
for(i=0; i<6; i++)
printf(“This is my program!”);
return 0;
}
arm-linux-gcc -static -o hello hello.c
4.运行hello程序
首先确定一个目录,作为mount目录,我选择的是/home/xuqiang/root
执行下面的命令:
sudo mount –o loop initrd.img /home/xuqiang/root/
cp hello /home/xuqiang/root/bin
sudo umount /home/xuqiang/root/
skyeye -e vmlinux -c skyeye.conf
然后就是:
Welcome to
_ _____ __ __ _ _
/ \ / __ \ / \_/ \ | | |_|
/ _ \ | | | | / /\ /\ \ | | _ ____ _ _ _ _
/ /_\ \ | |__| | / / \_/ \ \| | | | _ \| | | |\ \/ /
/ /___\ \ | |__\ \ | | | || |___ | | |_| | |_| |/ \
/_/ \_\| | \_\|_| |_||_____||_|_| |_|\____|\_/\_/
ARMLinux for Skyeye
For further information please check:
http://www.skyeye.org/
上面需要注意的是版本的使用问题:skyeye 1.2.6 arm-linux-gcc 3.4.1
参考http://blog.chinaunix.net/u1/56374/showart_491186.htmlcankaoccankao
Skyeye-testsuite测试包的使用
如何交叉编译自己的程序并加入到已有的文件系统映像中?
1.交叉编译自己的应用程序
arm-elf-gcc -Wl,-elf2flt -o hello hello.c
2.解开已有文件系统映像文件
mkdir /mnt/romfs
mkdir romfs
mount -o loop romfs.img /mnt/romfs
cp -r /mnt/romfs/* romfs/
3.在解开的文件系统中加入交叉编译后的程序
cp hello romfs/bin/
4.重新生成文件系统映像
genromfs -f boot.img -d romfs/
这样就在当前目录中生成新的文件系统映像文件boot.img.