小小天才 发表于 2011-8-3 09:24:55

skyeye 打印不出helloworld ?

**************************** WARNING **********************************
If you want to run ELF image, you should use -e option to indicate
your elf-format image filename. Or you only want to run binary image,
you need to set the filename of the image and its entry in skyeye.conf.
***********************************************************************

Your elf file is little endian.
arch: arm
cpu info: armv4, arm920t, 41009200, ff00fff0, 2
mach info: name s3c2410x, mach_init addr 0x806d3c0
uart_mod:0, desc_in:, desc_out:, converter:
SKYEYE: use arm920t mmu ops
Loaded RAM   ./helloworld.bin
就停留在这里了

ksh 发表于 2011-8-3 09:56:41

能否给出更多信息? 你的helloworld.bin是怎么生成的,是否加载到正确的地址?
最好给我看一下你的 helloworld的链接脚本,和skyeye.conf。

小小天才 发表于 2011-8-3 10:10:16

回复 2# ksh 的帖子

skyeye.conf:

cpu:arm920t
mach: s3c2410x
#physical memory
mem_bank: map=M, type=RW, addr=0x00000000, size=0x00800000, file=./helloworld.bin,boot=yes
#all peripherals I/O mapping area
mem_bank: map=I, type=RW, addr=0x48000000, size=0x20000000

command:

arm-elf-gcc -c helloworld.c
arm-elf-ld -e helloworld -Ttext 0x0 helloworld.o -o helloworld
arm-elf-objcopy -O binary helloword helloworld.bin

helloworld.c :

#define UFCON0((volatile unsigned int *)(0x50000020))
void helloworld(void){
      const char *p="helloworld\n";
      while(*p){
                *UFCON0=*p++;
      };
      while(1);
}

[ 本帖最后由 小小天才 于 2011-8-3 10:12 编辑 ]

小小天才 发表于 2011-8-3 10:18:46

vm7 + ubuntu10.10

skyeye版本为1.2.6

ksh 发表于 2011-8-3 10:52:06

回复 3# 小小天才 的帖子

可以参考一下我们skyeye-1.3.2中的testsuite/arm_hello/ 中的代码。
你的代码没有初始化stack 寄存器,可能在运行c函数的时候压栈的时候会出错。

小小天才 发表于 2011-8-3 13:31:12

回复 5# ksh 的帖子

卸载重新安装helloworld出来了
页: [1]
查看完整版本: skyeye 打印不出helloworld ?