[okl4-developer] S3C2440A and okl4

Rémy Gottschalk rgottschalk at linagora.com
Mon Aug 18 23:01:15 EST 2008


Hello all,

I am finally working on real hardware. So my first task is to port okl4 
    on my board. I am starting this thread to log all problems and 
solutions as I am encountering them since it may help people using 
similar hard and of course myself by getting some advises :)

The board I am using using is an Embest SBC2440-II. It got a Samsung 
S3C2440A SoC (with an arm920t core), 64M of nand flash and 64M of ram. 
For information, this board is really close to the smdk2440 which seems 
to be more common and to have a better support.

This system is also very close to the gta02 arch and then, pretty close 
to the gta01 arch.

First task was to get u-boot working. This was pretty troublesome, I 
won't present it here since it is off-topic but you can mail me about 
this issue.

Now I am trying to pass the l4test since it seems to be the very first 
thing to do in hope of getting the whole system work.

For now I am patching the gta01 related files because it is the closest 
to what I need and will create a new platform/arch when I'll get the 
whole diff.

I am building my system like this :
./tools/build.py machine=gta01 project=l4test

First problem is serial output being noisy and I just solved it by 
adjusting the UBRDIV0 value.

It is defined in the manual as :
UBRDIVn = (int)( UART clock / ( buad rate x 16) ) –1

My board's clock work at 50Mhz so I changed in
platform/s3c2410/pistachio/kdb/console.cc

u32_t freq = 266000000L
to
u32_t freq = 50000000L

and

rUBRDIV0=(int)(freq/4/(115200*16)-1);
tp
rUBRDIV0=(int)(freq / (115200 * 16) ) -1;

Now i am getting the following result :

# bootelf
Loading kernel.text @ 0x30000000 (79576 bytes)
Loading kernel.rodata @ 0x300136d8 (27910 bytes)
Loading kernel.kdebug @ 0x3001a3de (16774 bytes)
Loading kernel.init @ 0x3001e564 (6124 bytes)
Loading kernel.roinit @ 0x3001fd50 (768 bytes)
Loading kernel.data @ 0x30020400 (5636 bytes)
Loading kernel.got @ 0x30021a04 (4 bytes)
Loading kernel.got.plt @ 0x30021a08 (12 bytes)
Loading kernel.kdebug-data @ 0x30021a14 (1052 bytes)
Clearing kernel.bss @ 0x30021e30 (14152 bytes)
Loading kernel.kspace @ 0x30028000 (16384 bytes)
Loading kernel.traps @ 0x3002c000 (4096 bytes)
Loading kernel.utcb_page @ 0x3002d000 (4096 bytes)
Loading l4test.text @ 0x300a0000 (212444 bytes)
Loading l4test.rodata @ 0x300d3ddc (28900 bytes)
Loading l4test.data @ 0x30503000 (33240 bytes)
Loading l4test.got @ 0x3050b1d8 (16 bytes)
Clearing l4test.bss @ 0x3050c000 (217132 bytes)
Loading bootinfo @ 0x3002e000 (4096 bytes)
## Starting application at 0x30000000 ...
s3c2410_init_interrupts:124: LN2410_INT_MASK
s3c2410_init_interrupts:135: LN2410_INT_MASK: 6f7f7fff

OKL4 - (provider: Open Kernel Labs) built on Aug 18 2008 12:20:23 using 
gcc version 3.4.4.
Kernel undefined exception at f002c12c
--- KD# exception  ---


Regards,

-- 
Remy Gottschalk - rgottschalk at linagora.com
Ingénieur informatique embarquée
Groupe LINAGORA - http://www.linagora.com
Tél.: +33(0)1 58 18 68 28 - Fax : +33(0)1 58 18 68 29



More information about the Developer mailing list