QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 1700|回复: 0

skyeye-1.3.0 模拟S3C2410 中断问题

[复制链接]
发表于 2010-3-12 20:27:48 | 显示全部楼层 |阅读模式
对中断控制寄存器的访问有问题,环境为ubuntu 9.10 , skyeye-1.3.0

init_sparc_register_defs: Registering the GDB stub for remote debugging
(skyeye)start
arch: arm
cpu info: armv4, arm920t, 41009200, ff00fff0, 2
In do_mach_option, mach info: name s3c2410x, mach_init addr 0x581910

uart_mod:3, desc_in:, desc_out:, converter:
In create_uart_console
SKYEYE: use arm920t mmu ops
s3c2410x_io_reset
exec file "build/images/image.boot"'s format is elf32-little.
load section kernel.text: addr = 0x30000000  size = 0x00014cbc.
load section kernel.rodata: addr = 0x30014cbc  size = 0x0000873f.
load section kernel.kdebug: addr = 0x3001d3fb  size = 0x00004275.
load section kernel.init: addr = 0x30021670  size = 0x00001eec.
load section kernel.roinit: addr = 0x3002355c  size = 0x00000004.
load section kernel.elfweaver_info: addr = 0x30023560  size = 0x00000068.
load section kernel.data: addr = 0x30023800  size = 0x000015cc.
load section kernel.got: addr = 0x30024dcc  size = 0x00000004.
load section kernel.got.plt: addr = 0x30024dd0  size = 0x0000000c.
load section kernel.kdebug-data: addr = 0x30024ddc  size = 0x000003b0.
not load section kernel.bss: addr = 0x3002518c  size = 0x00002b78 .
load section kernel.kspace: addr = 0x30028000  size = 0x00004000.
load section kernel.traps: addr = 0x3002c000  size = 0x00001000.
load section kernel.utcb_page: addr = 0x3002d000  size = 0x00001000.
load section ig_server.data: addr = 0x3002e024  size = 0x00000224.
load section ig_server.got: addr = 0x3002e248  size = 0x00000010.
not load section ig_server.bss: addr = 0x3002e258  size = 0x00000130 .
load section event.data: addr = 0x3002fa30  size = 0x00000108.
load section event.got: addr = 0x3002fb38  size = 0x00000010.
not load section event.bss: addr = 0x3002fb48  size = 0x00000120 .
load section ig_server.text: addr = 0x30030000  size = 0x0000c754.
load section ig_server.rodata: addr = 0x3003c754  size = 0x000018cd.
load section vtimer.data: addr = 0x3003f5c4  size = 0x00000244.
load section vtimer.got: addr = 0x3003f808  size = 0x00000010.
not load section vtimer.bss: addr = 0x3003f818  size = 0x00000174 .
load section event.text: addr = 0x30040000  size = 0x00005200.
load section event.rodata: addr = 0x30045200  size = 0x0000082d.
load section vtimer.text: addr = 0x30048000  size = 0x000067d0.
load section vtimer.rodata: addr = 0x3004e7d0  size = 0x00000df1.
load section vserial.data: addr = 0x30063000  size = 0x00000434.
load section vserial.got: addr = 0x30063434  size = 0x00000010.
not load section vserial.bss: addr = 0x30063444  size = 0x000003fc .
load section vserial.text: addr = 0x30064000  size = 0x0000611c.
load section vserial.rodata: addr = 0x3006a11c  size = 0x00000aa1.
load section multi_thread.data: addr = 0x3006d9a8  size = 0x00000108.
load section multi_thread.got: addr = 0x3006dab0  size = 0x00000010.
not load section multi_thread.bss: addr = 0x3006dac0  size = 0x000000f0 .
load section iguana_server.cell_environment: addr = 0x3006e000  size = 0x00000176.
load section initscript: addr = 0x30082000  size = 0x00001000.
load section multi_thread.text: addr = 0x30084000  size = 0x0000512c.
load section multi_thread.rodata: addr = 0x3008912c  size = 0x00000879.
load section bootinfo: addr = 0x3008c000  size = 0x00003000.
not load section elfweaver.notes: addr = 0x00000000  size = 0x0000038a .
In SIM_start, Set PC to the address 0x30000000

(skyeye)run
(running)io_write_word(0x4a000000) = 0x00000000
io_write_word(0x4a000004) = 0x00000000
io_read_word(0x4a000010) = 0xffffffff
io_write_word(0x4a000010) = 0x00008000
io_write_word(0x4a00000 = 0xefffffff
io_write_word(0x4a00001 = 0x00000000
io_write_word(0x4a00001c) = 0x00000000
io_read_word(0x4a00000 = 0xffffffff
io_write_word(0x4a00000 = 0x6f7f7fff
io_read_word(0x4a00000 = 0xffffffff
io_write_word(0x4a00000 = 0x6f7f7fff
io_read_word(0x4a00000 = 0xffffffff
io_write_word(0x4a00000 = 0x6f7f7fff
io_read_word(0x4a00000 = 0xffffffff
io_write_word(0x4a00000 = 0x6f7f7fff
io_read_word(0x4a000008) = 0xffffffff
io_write_word(0x4a000008) = 0x6f7f7fff
io_read_word(0x4a000008) = 0xffffffff
io_write_word(0x4a000008) = 0x6f7f7fff
io_read_word(0x4a000008) = 0xffffffff
io_write_word(0x4a000008) = 0x6f7f7fff
io_read_word(0x4a000008) = 0xffffffff
io_write_word(0x4a000008) = 0x6f7f7fff
io_read_word(0x4a000008) = 0xffffffff
io_write_word(0x4a000008) = 0x6f7f7fff
io_read_word(0x4a000008) = 0xffffffff
io_write_word(0x4a000008) = 0x6f7f7fff
io_read_word(0x4a000008) = 0xffffffff
io_write_word(0x4a000008) = 0x6f7f7fff
io_read_word(0x4a000008) = 0xffffffff
io_write_word(0x4a000008) = 0x6f7f7fff
io_read_word(0x4a000008) = 0xffffffff
io_write_word(0x4a000008) = 0x6f7f7fff
io_read_word(0x4a000008) = 0xffffffff
io_write_word(0x4a000008) = 0x6f7f7fff
io_read_word(0x4a000008) = 0xffffffff
io_write_word(0x4a000008) = 0x6f7f7fff
io_read_word(0x4a000008) = 0xffffffff
io_write_word(0x4a000008) = 0x6f7f7fff
io_read_word(0x4a000008) = 0xffffffff
io_write_word(0x4a000008) = 0x6f7f7fff
io_read_word(0x4a000008) = 0xffffffff
io_write_word(0x4a000008) = 0x6f7f7fff
io_read_word(0x4a000008) = 0xffffffff
io_write_word(0x4a000008) = 0x6f7f7fff
io_read_word(0x4a000008) = 0xffffffff
io_write_word(0x4a000008) = 0x6f7f7fff
io_read_word(0x4a000008) = 0xffffffff
io_write_word(0x4a000008) = 0x6f7f7fff
io_read_word(0x4a000008) = 0xffffffff
io_write_word(0x4a000008) = 0x6f7f7fff
io_read_word(0x4a000008) = 0xffffffff
io_write_word(0x4a000008) = 0x6f7f7fff
io_read_word(0x4a000008) = 0xffffffff
io_write_word(0x4a000008) = 0x6f7f7fff
io_read_word(0x4a000008) = 0xffffffff
io_write_word(0x4a000008) = 0x6f7f7fff
io_read_word(0x4a000008) = 0xffffffff
io_write_word(0x4a000008) = 0x6f7f7fff
io_read_word(0x4a000008) = 0xffffffff
io_write_word(0x4a000008) = 0x6f7f7fff
io_read_word(0x4a000008) = 0xffffffff
io_write_word(0x4a000008) = 0x6f7f7fff
io_read_word(0x4a000008) = 0xffffffff
io_write_word(0x4a000008) = 0x6f7f7fff
io_read_word(0x4a000008) = 0xffffffff
io_write_word(0x4a000008) = 0x6f7f7fff
io_read_word(0x4a000008) = 0xffffffff
io_write_word(0x4a000008) = 0x6f7f7fff
io_read_word(0x4a000008) = 0xffffffff
io_write_word(0x4a000008) = 0x6f7f7fff
io_read_word(0x4a00001c) = 0xffffffff
io_write_word(0x4a00001c) = 0x00000001
io_read_word(0x4a00001c) = 0xffffffff
io_write_word(0x4a00001c) = 0x00000003
io_read_word(0x4a00001c) = 0xffffffff
io_write_word(0x4a00001c) = 0x00000007
io_read_word(0x4a00001c) = 0xffffffff
io_write_word(0x4a00001c) = 0x0000000f
io_read_word(0x4a00001c) = 0xffffffff
io_write_word(0x4a00001c) = 0x0000001f
io_read_word(0x4a00001c) = 0xffffffff
io_write_word(0x4a00001c) = 0x0000003f
io_read_word(0x4a00001c) = 0xffffffff
io_write_word(0x4a00001c) = 0x0000007f
io_read_word(0x4a00001c) = 0xffffffff
io_write_word(0x4a00001c) = 0x000000ff
io_read_word(0x4a00001c) = 0xffffffff
io_write_word(0x4a00001c) = 0x000001ff
io_read_word(0x4a00001c) = 0xffffffff
io_write_word(0x4a00001c) = 0x000003ff
io_read_word(0x4a00001c) = 0xffffffff
io_write_word(0x4a00001c) = 0x000007ff
io_write_word(0x51000000) = 0x00000700
timer_write(0x00000000) = 0x00000700
io_read_word(0x51000000) = 0xffffffff
timer_read(0x00000000) = 0xffffffff
io_write_word(0x51000004) = 0x00000700
timer_write(0x00000004) = 0x00000700
io_write_word(0x5100003c) = 0x00009eb0
timer_write(0x0000003c) = 0x00009eb0
io_write_word(0x51000008) = 0x00200000
timer_write(0x00000008) = 0x00200000
io_read_word(0x4a000008) = 0xffffffff
io_write_word(0x4a000008) = 0x6f7f3fff
io_write_word(0x51000008) = 0x00500000
timer_write(0x00000008) = 0x00500000

比如,
io_write_word(0x4a000008) = 0x6f7f7fff
io_read_word(0x4a000008) = 0xffffffff
注意到写入0x41000008的时候是0x6f7f7fff,而读出则成0xffffffff。从log看出,中间并没有别的访问。

以上的log只是在s3c2410x_io_read_word与s3c2410x_io_write_word中增加。

[ 本帖最后由 goosen 于 2010-3-12 20:30 编辑 ]
您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2024-11-22 03:47 , Processed in 0.071641 second(s), 16 queries .

© 2021 Powered by Discuz! X3.5.

快速回复 返回顶部 返回列表