[okl4-developer] files needed to port OKL4 to an arm11 board

Nelson Tam nelson at ok-labs.com
Mon Mar 3 12:01:54 EST 2008


Hi Gabi,

On 29/02/2008, at 11:58 AM, Laborator SRCT wrote:

> Hy everybody.
>
> First of all, I'd like to thank you for the support I got previously  
> in my installation procedures. I have a couple of more newbie  
> questions for you. If anybody knows the answer to at least one of  
> them please give me a reply.
>
> I'm interesting in porting okl4 on an arm1176 based motherboard. I'm  
> interested to do some simulations first before actually interacting  
> with the hardware.
>
> I have started with OKL4 1.5.2.
>
> I understand in principle I need a couple of files:
>
> skyeye configuration file: (in tools/sim_config/mb_arm11.skyeye) I  
> think I can use arm1176jzf as cpu: but I don't know what to put  
> inside mach:. Is there an example for arm1176? Can I disable the  
> build system to automatically include my *.skyeye file from it's  
> initial checking?

If you're using Skyeye 1.2.3, take a look at arch/arm/common/ 
arm_arch_interface.c.  In the array arm_machines[] it lists the  
possible mach values.

> machines.py (in platform/mb_arm11/tools): I know I can use create a  
> class mb_arm11(arm1176jzs) but I don't know what to specify within.  
> In the following:
>
>     v2_drivers = [  ("s3c2410_timer", "vtimer"),
>                  ("s3c2410_uart", "vserial")
>                  ]
> is it a must to use a pair of drivers or can I just use vserial and  
> vtimer? I tried Is there a place where all the features of the class  
> are described?

The v2_drivers[] array configures the device driver framework.  You  
specify the device driver and the corresponding driver server in each  
tuple in the array.  If you would like to use the driver framework for  
your new platform, you'll need to write the drivers.

On the other hand if you don't need to use any devices for now, just  
make sure neither v2_drivers[] nor drivers[] are defined in  
machines.py, and the driver framework will be disabled.

> serial_driver: Is there a good starting point to build my own serial  
> driver? What is platform dependent in this file? Can't I use just  
> vserial? Can I use kdb with vserial?
>
> timer_driver: Same questions as for the serial_driver.

The driver framework consists of a generic device server, which is  
linked with the platform-specific device driver.  vserial and vtimer  
refers to the generic part, so you still need to implement the  
platform-specific driver.  I recommend looking at drivers/pxa250_timer  
and drivers/uart_8250 to get you started.

> Additional questions:
> 1.I'm currently trying to increase the messaging level (debug level)  
> from an example (=naming) build from the default to a higher level.  
> For that, my initial attempts were to add flags at the build  
> command. I tried ASSERT_LEVEL=4 and got nothing. VERBOSE_INIT=1 is  
> very interesting but it only applies to the pistachio kernel. Is it  
> something similar for Iguana?

#define VERBOSE in iguana/server/src/ig_util.h

> 2.I saw that all the platforms (okl4 dir/platform) that came with  
> the okl4-1.5.2. include beside a specific machines.py script in  
> tools, also two folders called pistachio and iguana. Are these  
> sources platform dependent as well or just the ones in /arch/arm?


They are platform-dependent as well.

--
(nt)

Nelson Tam
nelson at ok-labs.com






More information about the Developer mailing list