高分跪求!Ubuntu中使用Skyeye运行helloworld程序

[复制链接]
查看11 | 回复1 | 2010-12-6 22:30:58 | 显示全部楼层 |阅读模式
//hello.c
#include
int main()
{
printf("Hello World!\n");
return 0;
}
//skyeye.conf(照实验指导书写的)
#skyeye config file sample
cpu: arm7tdmi
mach: at91
mem_bank: map=M, type=RW, addr=0x01000000, size=0x00400000
mem_bank: map=I, type=RW, addr=0xf0000000, size=0x10000000
code_coverage:state=on,start=0x1000000, end=0x1400000, filename=./code_cov
#log: logon=0, logfile=./sk1.log, start=0, end=200000
用arm-linux-gcc -o hello hello.c的方式生成了可执行程序
但是skyeye -e hello后就是打印不出来"Hello World"。
听老师说是因为我装的是skyeye-testsuite-1.2.5,它运行起来相当于没有操作系统,也就没有C的库函数,遇到printf就没用。。。但是到底怎么解决这个问题呢?
ron@ron-desktop:~$ dir
examples.desktophellohello.cskyeye.conf下载公共图片影片文件桌面模板音乐
ron@ron-desktop:~$ skyeye -e hello
Your elf file is little endian.
arch: arm
cpu info: armv3, arm7tdmi, 41007700, fff8ff00, 0
mach info: name at91, mach_init addr 0x8060680
code coverage info: turn on profiling!
log_info: log start clock 16777216
log_info: log end clock 20971520
uart_mod:0, desc_in:, desc_out:, converter:
SKYEYE: use arm7100 mmu ops
Begin do code coverage between 0x1000000 and 0x1400000 .
exec file "hello"'s format is elf32-little.
load section .interp: addr = 0x000080f4size = 0x00000013.
SKYEYE:NumInstrs 0, mem_write_byte addr = 80f4 no bank
ron@ron-desktop:~$

回复

使用道具 举报

千问 | 2010-12-6 22:30:58 | 显示全部楼层
下载一个对应版本的skyeyetestsuit静态编译你的hello:# arm-linux-gcc -static -o hello hello.c选择一个测试实例,例如skyeyetestsuit/linux/ep7312/2.6.x,将initrd_old.img 挂载到某个目录下命令如下:#mkdir /mnt/initrd (root权限)#mount -t ext2 initrd_old.img /mnt/initrd -o loop将你的hello程序放到/mnt/initrd/bin目录去卸载initrd_old.img: #umount /mnt/initrd启动skyeye: #skyeye -e vml
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行