[okl4-developer] lcd simulation problem with okl4 sdk
Gabi Voiculescu
b304_a at yahoo.com
Wed Mar 5 10:37:14 EST 2008
Hi OKL4.
I hope you can help me. My lcd simulation does not work.
My goal is to understand the way I can access a physical address register from Iguana environment. (If anyone can show me some example to do that bare metal, I would appreciate it.)
I started with a LCD driver (I can write and get feedback).
I got my inspiration from the s3c2410_lcd.c example driver for the gta01 platform.
I see however that there is no runnable demo for the lcd in current OKL4 release.
I've started by porting the s3c2410_lcd driver to pxa, but simulation in skyeye hanged.
So I got back to gta01 (the original platform) and saw the same problems.
I use skyeye-124 compiled with gcc-4.1.2. I have verified that it works (can simulate with or without LCD) by running the arm testsuite (including the s3c2410 binary example that had an lcd peripheral).
I have added the following to gta01.skyeye in tools/sim_config/
lcd: state=on, type=s3c2410x, mod=gtk
However I'm unable to successfully simulate the build resulting from either one of these commands. Simulation stops right before starting OKL4. I can't trigger the KDB console, if specified from the build line.
tools/build.py machine=gta01 project=iguana example=naming
skyeye -c tools/sim_config/gta01.skyeye -e build/images/image.boot
tools/build.py machine=gta01 project=iguana wombat=yes BUILD_DIR=build2
skyeye -c tools/sim_config/gta01.skyeye -e build2/images/image.boot
Is this platform buggy? Any way to fix it to run with Skyeye?
Thanks and hope to hear back soon,
Gabi Voiculescu
==========================================================
A preview of the console output:
[gabi at vlad okl4_release_1.5.2]$ skyeye -c tools/sim_config/gta01.skyeye -e build2/images/image.boot
big_endian is false.
arch: arm
cpu info: armv4, arm920t, 41009200, ff00fff0, 2
mach info: name s3c2410x, mach_init addr 0x806b160
uart_mod:0, desc_in:, desc_out:, converter:
SKYEYE: use arm920t mmu ops
exec file "build2/images/image.boot"'s format is elf32-little.
load section kernel.text: addr = 0x30000000 size = 0x00010734.
load section kernel.glue_7: addr = 0x30010734 size = 0x00000000.
load section kernel.glue_7t: addr = 0x30010734 size = 0x00000000.
load section kernel.rodata: addr = 0x30010734 size = 0x00003845.
load section kernel.kdebug: addr = 0x30013f79 size = 0x000044f7.
load section kernel.init: addr = 0x30018470 size = 0x00002028.
load section kernel.data: addr = 0x3001a800 size = 0x00001b7c.
load section kernel.got: addr = 0x3001c37c size = 0x00000004.
load section kernel.got.plt: addr = 0x3001c380 size = 0x0000000c.
load section kernel.kdebug-data: addr = 0x3001c38c size = 0x00000380.
not load section kernel.bss: addr = 0x3001c70c size = 0x000024e0 .
load section kernel.kspace: addr = 0x30020000 size = 0x00004000.
load section kernel.kip: addr = 0x30024000 size = 0x00000a94.
load section kernel.traps: addr = 0x30025000 size = 0x00001000.
load section ig_server.text: addr = 0x30030000 size = 0x0000fe64.
load section ig_server.rodata: addr = 0x3003fe64 size = 0x00002077.
load section ig_server.data: addr = 0x30049edc size = 0x00000218.
load section ig_server.got: addr = 0x3004a0f4 size = 0x00000010.
not load section ig_server.bss: addr = 0x3004b000 size = 0x00012000 .
load section ig_naming.text: addr = 0x30028000 size = 0x00007630.
load section ig_naming.rodata: addr = 0x3002f630 size = 0x00000918.
load section ig_naming.data: addr = 0x30026000 size = 0x000000d8.
load section ig_naming.got: addr = 0x300260d8 size = 0x00000010.
not load section ig_naming.bss: addr = 0x300260e8 size = 0x0000006c .
load section event.text: addr = 0x30060000 size = 0x00006ca8.
load section event.rodata: addr = 0x30066ca8 size = 0x000008cc.
load section event.data: addr = 0x3005d574 size = 0x000000d8.
load section event.got: addr = 0x3005d64c size = 0x00000010.
not load section event.bss: addr = 0x3005d65c size = 0x00000094 .
load section vtimer.text: addr = 0x30068000 size = 0x000084bc.
load section vtimer.rodata: addr = 0x300704bc size = 0x00000ce4.
load section vtimer.data: addr = 0x3005e1a0 size = 0x00000114.
load section vtimer.got: addr = 0x3005e2b4 size = 0x00000010.
not load section vtimer.bss: addr = 0x3005e2c4 size = 0x00000070 .
load section vserial.text: addr = 0x30078000 size = 0x00007ea0.
load section vserial.rodata: addr = 0x3007fea0 size = 0x00000a04.
load section vserial.data: addr = 0x300728a4 size = 0x00000104.
load section vserial.got: addr = 0x300729a8 size = 0x00000010.
not load section vserial.bss: addr = 0x300729b8 size = 0x0000007c .
load section vbus.text: addr = 0x30088000 size = 0x00007a24.
load section vbus.rodata: addr = 0x3008fa24 size = 0x000009c4.
load section vbus.data: addr = 0x300733e8 size = 0x00000104.
load section vbus.got: addr = 0x300734ec size = 0x00000010.
not load section vbus.bss: addr = 0x300734fc size = 0x00000070 .
load section vtouch.text: addr = 0x30098000 size = 0x00007f6c.
load section vtouch.rodata: addr = 0x3009ff6c size = 0x00000994.
load section vtouch.data: addr = 0x30074900 size = 0x00000110.
load section vtouch.got: addr = 0x30074a10 size = 0x00000010.
not load section vtouch.bss: addr = 0x30074a20 size = 0x00000080 .
load section vlcd.text: addr = 0x300a8000 size = 0x00007a44.
load section vlcd.rodata: addr = 0x300afa44 size = 0x00000988.
load section vlcd.data: addr = 0x300753cc size = 0x00000110.
load section vlcd.got: addr = 0x300754dc size = 0x00000010.
not load section vlcd.bss: addr = 0x300754ec size = 0x00000074 .
load section devicecore.text: addr = 0x300b8000 size = 0x00007ca8.
load section devicecore.rodata: addr = 0x300bfca8 size = 0x00000998.
load section devicecore.data: addr = 0x30076640 size = 0x000000d8.
load section devicecore.got: addr = 0x30076718 size = 0x00000010.
not load section devicecore.bss: addr = 0x30076728 size = 0x0000008c .
load section vmlinux.text: addr = 0x30500000 size = 0x0012b000.
load section vmlinux.glue_7: addr = 0x3062b000 size = 0x00000000.
load section vmlinux.glue_7t: addr = 0x3062b000 size = 0x00000000.
load section vmlinux.exit.text: addr = 0x3062b000 size = 0x00000420.
load section vmlinux.rodata: addr = 0x3062b420 size = 0x0000fd71.
not load section vmlinux.pci_fixup: addr = 0x3063b191 size = 0x00000000 .
load section vmlinux.__ksymtab: addr = 0x3063b194 size = 0x00002e18.
load section vmlinux.__ksymtab_gpl: addr = 0x3063dfac size = 0x000004e8.
not load section vmlinux.__kcrctab: addr = 0x3063e494 size = 0x00000000 .
not load section vmlinux.__kcrctab_gpl: addr = 0x3063e494 size = 0x00000000 .
load section vmlinux.__ksymtab_strings: addr = 0x3063e494 size = 0x00007114.
load section vmlinux.__param: addr = 0x306455a8 size = 0x00000064.
load section vmlinux.data: addr = 0x30646000 size = 0x00022000.
load section vmlinux.data.cacheline_aligned: addr = 0x30668000 size = 0x000008c0.
load section vmlinux.init.text: addr = 0x30669000 size = 0x0000cb10.
load section vmlinux.init.data: addr = 0x30675b10 size = 0x00000828.
load section vmlinux.init.setup: addr = 0x30676340 size = 0x00000150.
load section vmlinux.initcall.init: addr = 0x30676490 size = 0x000000f0.
load section vmlinux.con_initcall.init: addr = 0x30676580 size = 0x00000004.
not load section vmlinux.security_initcall.init: addr = 0x30676584 size = 0x00000000 .
load section vmlinux.init.ramfs: addr = 0x30677000 size = 0x00000085.
load section vmlinux.exitcall: addr = 0x30678000 size = 0x0000005c.
not load section vmlinux.bss: addr = 0x30678060 size = 0x000206e8 .
load section rootfs: addr = 0x30700000 size = 0x007d0000.
load section bootinfo: addr = 0x300c4000 size = 0x00007000.
call ARMul_InitSymTable,kernel filename is build2/images/image.boot.
start addr is set to 0x30000000 by exec file.
<and then skyeye hangs>
I can't tell from readelf but I don't think I've overlapped the boot section inside the boot image.
[gabi at vlad okl4_release_1.5.2]$ readelf -l build2/images/image.boot
Elf file type is EXEC (Executable file)
Entry point 0x30000000
There are 23 program headers, starting at offset 52
Program Headers:
Type Offset VirtAddr PhysAddr FileSiz MemSiz Flg Align
LOAD 0x008000 0x30000000 0x30000000 0x1c70c 0x1ebec RWE 0x8000
LOAD 0x028000 0x30020000 0x30020000 0x06000 0x06000 RW 0x8000
LOAD 0x030000 0x30030000 0x30030000 0x11edb 0x11edb R E 0x8000
LOAD 0x041edc 0x30049edc 0x30049edc 0x00228 0x13124 RW 0x8000
LOAD 0x048000 0x30028000 0x30028000 0x07f48 0x07f48 R E 0x8000
LOAD 0x056000 0x30026000 0x30026000 0x000e8 0x00154 RW 0x8000
LOAD 0x058000 0x30060000 0x30060000 0x07574 0x07574 R E 0x8000
LOAD 0x065574 0x3005d574 0x3005d574 0x000e8 0x0017c RW 0x8000
LOAD 0x068000 0x30068000 0x30068000 0x091a0 0x091a0 R E 0x8000
LOAD 0x0761a0 0x3005e1a0 0x3005e1a0 0x00124 0x00194 RW 0x8000
LOAD 0x078000 0x30078000 0x30078000 0x088a4 0x088a4 R E 0x8000
LOAD 0x0828a4 0x300728a4 0x300728a4 0x00114 0x00190 RW 0x8000
LOAD 0x088000 0x30088000 0x30088000 0x083e8 0x083e8 R E 0x8000
LOAD 0x0933e8 0x300733e8 0x300733e8 0x00114 0x00184 RW 0x8000
LOAD 0x098000 0x30098000 0x30098000 0x08900 0x08900 R E 0x8000
LOAD 0x0a4900 0x30074900 0x30074900 0x00120 0x001a0 RW 0x8000
LOAD 0x0a8000 0x300a8000 0x300a8000 0x083cc 0x083cc R E 0x8000
LOAD 0x0b53cc 0x300753cc 0x300753cc 0x00120 0x00194 RW 0x8000
LOAD 0x0b8000 0x300b8000 0x300b8000 0x08640 0x08640 R E 0x8000
LOAD 0x0c6640 0x30076640 0x30076640 0x000e8 0x00174 RW 0x8000
LOAD 0x0c8000 0x30500000 0x30500000 0x17805c 0x198748 RWE 0x8000
LOAD 0x241000 0x30700000 0x30700000 0x7d0000 0x7d0000 RW 0x1000
LOAD 0xa12000 0x300c4000 0x300c4000 0x07000 0x07000 RW 0x1000
Section to Segment mapping:
Segment Sections...
00 kernel.text kernel.rodata kernel.kdebug kernel.init kernel.data kernel.got kernel.got.plt kernel.kdebug-data kernel.bss
01 kernel.kspace kernel.kip kernel.traps
02 ig_server.text ig_server.rodata
03 ig_server.data ig_server.got ig_server.bss
04 ig_naming.text ig_naming.rodata
05 ig_naming.data ig_naming.got ig_naming.bss
06 event.text event.rodata
07 event.data event.got event.bss
08 vtimer.text vtimer.rodata
09 vtimer.data vtimer.got vtimer.bss
10 vserial.text vserial.rodata
11 vserial.data vserial.got vserial.bss
12 vbus.text vbus.rodata
13 vbus.data vbus.got vbus.bss
14 vtouch.text vtouch.rodata
15 vtouch.data vtouch.got vtouch.bss
16 vlcd.text vlcd.rodata
17 vlcd.data vlcd.got vlcd.bss
18 devicecore.text devicecore.rodata
19 devicecore.data devicecore.got devicecore.bss
20 vmlinux.text vmlinux.exit.text vmlinux.rodata vmlinux.__ksymtab vmlinux.__ksymtab_gpl vmlinux.__ksymtab_strings vmlinux.__param vmlinux.data vmlinux.data.cacheline_aligned vmlinux.init.text vmlinux.init.data vmlinux.init.setup vmlinux.initcall.init vmlinux.con_initcall.init vmlinux.init.ramfs vmlinux.exitcall vmlinux.bss
21 rootfs
22 bootinfo
---------------------------------
Be a better friend, newshound, and know-it-all with Yahoo! Mobile. Try it now.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.okl4.org/pipermail/developer/attachments/20080304/8d56e94e/attachment-0001.htm
More information about the Developer
mailing list