Menu

#108 segfault when using s3c6410 config to run arm_hello in skyeye installation

open
nobody
9
2014-08-15
2013-04-13
kangsh
No

Using the following skyeye.conf to run arm_hello in skyeye installation, a segfault will jump out. The version of skyeye I test is skyeye-1.3.5 release.

arch:arm
cpu: arm11
mach: s3c6410x

physical memory

mem_bank: map=M, type=RW, addr=0x50000000, size=0x00800000
mem_bank: map=M, type=RW, addr=0x50800000, size=0x00800000
mem_bank: map=M, type=RW, addr=0x51000000, size=0x19000000

all peripherals I/O mapping area

mem_bank: map=I, type=RW, addr=0x70000000, size=0x10000000
mem_bank: map=I, type=RW, addr=0x80000000, size=0x10000000
uart:mod = term

I use gdb to try to backtrace the segfault , the output as the following:


ksh@linux-j2ng:/opt/skyeye/testsuite/arm_hello> gdb /opt/skyeye/bin/skyeye
GNU gdb (GDB) SUSE (7.3-41.1.2)
Copyright (C) 2011 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later http://gnu.org/licenses/gpl.html
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-suse-linux".
For bug reporting instructions, please see:
http://www.gnu.org/software/gdb/bugs/...
Reading symbols from /opt/skyeye/bin/skyeye...done.
(gdb) set args -n -e arm_hello
(gdb) r
Starting program: /opt/skyeye/bin/skyeye -n -e arm_hello
SkyEye 1.3.5
SkyEye is an Open Source project under GPL. All rights of different parts or modules are reserved by their author. Any modification or redistributions of SkyEye should not remove or modify the annoucement of SkyEye copyright.
Get more information about it, please visit the homepage http://www.skyeye.org.
Type "help" to get command list.
In create_uart_console
Detaching after fork from child process 31247.
mmap DRAM, size=0x800000, return 0x50000000
mmap DRAM, size=0x800000, return 0x50800000
mmap DRAM, size=0x19000000, return 0x51000000
1 core is initialized.
Program received signal SIGSEGV, Segmentation fault.
write_phys (addr=16777216, size=132, buffer=0x6c57e0 "\223") at loader/loader_elf.c:61
61 (uint8_t )(addr + i) = buffer[i];
(gdb)


Thanks
MK

Discussion


Log in to post a comment.