|
楼主 |
发表于 2010-2-20 15:48:03
|
显示全部楼层
okl4 3.0 on gta01 (s3c2410)
在s3c2410上运行OKL4 3.0需做些调整。涉及到协处理器 p15 的一些设置。
$ vim arch/arm/pistachio/cpu/arm920t/include/syscon.h
/* Kernel mode - little endian, cached, write buffer, remap to 0xffff0000 */
#define C15_CONTROL_KERNEL (C15_CONTROL_FIXED | C15_CONTROL_M | C15_CONTROL_C |
C15_CONTROL_S | C15_CONTROL_I | C15_CONTROL_X | CONFIG_C15_CLOCK)
需将 C15_CONTROL_C 去除,Disable data cache,即
#define C15_CONTROL_KERNEL (C15_CONTROL_FIXED | C15_CONTROL_M |
C15_CONTROL_S | C15_CONTROL_I | C15_CONTROL_X | CONFIG_C15_CLOCK)
1)build okl4
$ tools/build.py machine=gta01 project=examples example=hello kdb_serial=True PYFREEZE=False
2)start skyeye-1.3.0
$ skyeye -c skyeye_s3c2410x.conf -e build/images/image.boot
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 note 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.
(skyeye)start
arch: arm
cpu info: armv4, arm920t, 41009200, ff00fff0, 2
In do_mach_option, mach info: name s3c2410x, mach_init addr 0xb70e3d30
uart_mod:3, desc_in:, desc_out:, converter:
In create_uart_console
SKYEYE: use arm920t mmu ops
exec file "build/images/image.boot"'s format is elf32-little.
load section kernel.text: addr = 0x30000000 size = 0x00014ab0.
load section kernel.rodata: addr = 0x30014ab0 size = 0x00007df7.
load section kernel.kdebug: addr = 0x3001c8a7 size = 0x0000428d.
load section kernel.init: addr = 0x30020b34 size = 0x00001900.
load section kernel.roinit: addr = 0x30022434 size = 0x00000004.
load section kernel.elfweaver_info: addr = 0x30022438 size = 0x00000068.
load section kernel.data: addr = 0x30022800 size = 0x000015cc.
load section kernel.got: addr = 0x30023dcc size = 0x00000004.
load section kernel.got.plt: addr = 0x30023dd0 size = 0x0000000c.
load section kernel.kdebug-data: addr = 0x30023ddc size = 0x000003b0.
not load section kernel.bss: addr = 0x3002418c size = 0x00002b78 .
load section hello.data: addr = 0x3002740c size = 0x0000014c.
load section hello.got: addr = 0x30027558 size = 0x00000010.
not load section hello.bss: addr = 0x30027568 size = 0x00000324 .
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 initscript: addr = 0x3002e000 size = 0x00001000.
load section hello.text: addr = 0x30030000 size = 0x00005bd8.
load section hello.rodata: addr = 0x30035bd8 size = 0x00001834.
load section hello.cell_environment: addr = 0x30038000 size = 0x00000a24.
not load section elfweaver.notes: addr = 0x00000000 size = 0x00000304 .
In SIM_start, Set PC to the address 0x30000000
(skyeye)run
(running)
3)xterm log
Connecting to goosen-desktop:41081
OKL4 - (provider: Open Kernel Labs) built on Feb 20 2010 13:19:25 using gcc vers
ion 3.4.4.
Hello, world!
--- KD# User: L4 Rootserver exit ---
> arch
/arch> cp15dump
Main Id : 41009200
Cache Type : 0d172172
----
Control Reg : c000317b
----
TTBase0 : 30028000
----
FCSE/PID : 00000000
DACR : 55555555
D-Fault Sts : 000000f5
Fault Addr : 00200004
/arch> prior
> dependgraph
Nodes:
Thread [f0103e70] (Thread 'idle_thread' with priority -1)
Thread [f0103d20] (Thread 'f0103d20' with priority 255)
Edges:
4)skyeye_s3c2410x.conf
$ cat skyeye_s3c2410x.conf
# skyeye config file for S3C2410x
arch: arm
cpu: arm920t
mach: s3c2410x
# physical memory
mem_bank: map=M, type=RW, addr=0x00000000, size=0x10000000
mem_bank: map=M, type=RW, addr=0x30000000, size=0x08000000
# all peripherals I/O mapping area
mem_bank: map=I, type=RW, addr=0x48000000, size=0x18000000
# mem_bank: map=I, type=RW, addr=0x19000300, size=0x00000020
# net: type=cs8900a, base=0x19000300, size=0x20,int=9, mac=0:4:3:2:1:f, ethmod=tuntap, hostip=10.0.0.1
# nandflash: type=s3c2410x,name=K9F1208U0B,dump=./nand.dump
# lcd: type=s3c2410x, mod=gtk
# regfile:r1=193
# dbct:state=on
uart: mod=term
[ 本帖最后由 goosen 于 2010-2-20 16:04 编辑 ] |
|