//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:~$
|