OKL4 3.0 - Porting to new Soc

6 messages Options
Embed this post
Permalink
Kumar Sanghvi

OKL4 3.0 - Porting to new Soc

Reply Threaded More More options
Print post
Permalink
Hi All,

I am new to OKL4.

I referred Benno's steps on Porting OKL to a new Soc.
However, there seems to be significant differences in porting steps for OKL4 3.0 version; like the v2 driver and related.
Are there any specific steps listed for Porting OKL4 3.0 to a new Soc (like the ones described by Benno)?
I am trying to bring up OKL4 3.0 on Intel desktop boards as well as on Beagleboard.

Where can I find information on v2 driver?
Also, I am confused about the Iguana in OKL4 3.0 version? Is it that some APIs have been deprecated?


Thanks & regards,
Kumar Sanghvi.

_______________________________________________
Developer mailing list
[hidden email]
https://lists.okl4.org/mailman/listinfo/developer
Gabi Voiculescu

Re: OKL4 3.0 - Porting to new Soc

Reply Threaded More More options
Print post
Permalink


--- On Fri, 8/14/09, Kumar Sanghvi <[hidden email]> wrote:

From: Kumar Sanghvi <[hidden email]>
Subject: [okl4-developer] OKL4 3.0 - Porting to new Soc
To: [hidden email]
Date: Friday, August 14, 2009, 2:22 PM

Hi All,

I am new to OKL4.

I referred Benno's steps on Porting OKL to a new Soc.
However, there seems to be significant differences in porting steps for OKL4 3.0 version; like the v2 driver and related.
Are there any specific steps listed for Porting OKL4 3.0 to a new Soc (like the ones described by Benno)?
I am trying to bring up OKL4 3.0 on Intel desktop boards as well as on Beagleboard.
If I remember correctly the okl4 already runs under x86 platform, by using the qemu emulator.

What I can tell you from my experience is that you will need to create:
  • the platform folder: which can work with only kernel timer, generic interrupt, kdb serial io support; from my experience at least so far the nano and micro folders aren't required from the very begining
  • arm cortex cpu entry in arch/arm/pistachio/cpu/ (for beagleboard) - specific mmu and cache management, and more cpu specific sources are here
  • at this point you should be able to bring up the serial debug console
  • v2 drivers for timer and serial (depending on your application needs)
  • will need to fix vserial's shared memory mechanism
  • and probably fix some scripts to be able to properly give initial permissions in the buils system for the starting threads to be able to make use of memory sections and interrupts

Where can I find information on v2 driver?
I do not understand this. If you are refering to how the dx and di interfaces were supposed to work, there is some info available on the okl4 website in the Recent Changes (where you find older documentation).

Although somewhat deprecated in terms of API this documentation (the Get Started, Get Educated section) is usefull for you to start understanding the server-client interfaces involved.

Also, I am confused about the Iguana in OKL4 3.0 version? Is it that some APIs have been deprecated?

Iguana is a schim layer on top of OKL4 designed to do what has been left out of OKL4 to make it super fast.

My understanding is that iguana is deprecated and we should not use it for new applications. Instead we should use a schim layer of our own design based on the okl4 library, if needed.

The v2 servers are used in conjunction with the v2 drivers to provinde the functionality of the underlying v2 driver hardware to iguana applications.
So if you want to print stuff to another serial port, not the kernel debug serial port, you could use vserial. If you would like to have a wait for time, feature or a time reference, you may want to use vtimer. If you would like to write to a vga screen then vlcd is for you as well.

The servers contain the generic looping routines, while the v2 drivers contain the platform specific source code.

The iguana layer has been partially updated to still work. Some of the examples used to demonstrate it's behaivour haven't been updated (like the drivers example).


Thanks & regards,
Kumar Sanghvi.

-----Inline Attachment Follows-----

For more information please email on the development mailing list.
_______________________________________________


_______________________________________________
Developer mailing list
[hidden email]
https://lists.okl4.org/mailman/listinfo/developer
Kumar Sanghvi

Re: OKL4 3.0 - Porting to new Soc

Reply Threaded More More options
Print post
Permalink
Hi Gabi,

Thanks very much for providing useful information.
It helped to clear out some doubts I had.

Regards,
Kumar Sanghvi.

On Fri, Aug 14, 2009 at 7:58 PM, Gabi Voiculescu <[hidden email]> wrote:


--- On Fri, 8/14/09, Kumar Sanghvi <[hidden email]> wrote:

From: Kumar Sanghvi <[hidden email]>
Subject: [okl4-developer] OKL4 3.0 - Porting to new Soc
To: [hidden email]
Date: Friday, August 14, 2009, 2:22 PM


Hi All,

I am new to OKL4.

I referred Benno's steps on Porting OKL to a new Soc.
However, there seems to be significant differences in porting steps for OKL4 3.0 version; like the v2 driver and related.
Are there any specific steps listed for Porting OKL4 3.0 to a new Soc (like the ones described by Benno)?
I am trying to bring up OKL4 3.0 on Intel desktop boards as well as on Beagleboard.
If I remember correctly the okl4 already runs under x86 platform, by using the qemu emulator.

What I can tell you from my experience is that you will need to create:
  • the platform folder: which can work with only kernel timer, generic interrupt, kdb serial io support; from my experience at least so far the nano and micro folders aren't required from the very begining
  • arm cortex cpu entry in arch/arm/pistachio/cpu/ (for beagleboard) - specific mmu and cache management, and more cpu specific sources are here
  • at this point you should be able to bring up the serial debug console
  • v2 drivers for timer and serial (depending on your application needs)
  • will need to fix vserial's shared memory mechanism
  • and probably fix some scripts to be able to properly give initial permissions in the buils system for the starting threads to be able to make use of memory sections and interrupts

Where can I find information on v2 driver?
I do not understand this. If you are refering to how the dx and di interfaces were supposed to work, there is some info available on the okl4 website in the Recent Changes (where you find older documentation).

Although somewhat deprecated in terms of API this documentation (the Get Started, Get Educated section) is usefull for you to start understanding the server-client interfaces involved.


Also, I am confused about the Iguana in OKL4 3.0 version? Is it that some APIs have been deprecated?

Iguana is a schim layer on top of OKL4 designed to do what has been left out of OKL4 to make it super fast.

My understanding is that iguana is deprecated and we should not use it for new applications. Instead we should use a schim layer of our own design based on the okl4 library, if needed.

The v2 servers are used in conjunction with the v2 drivers to provinde the functionality of the underlying v2 driver hardware to iguana applications.
So if you want to print stuff to another serial port, not the kernel debug serial port, you could use vserial. If you would like to have a wait for time, feature or a time reference, you may want to use vtimer. If you would like to write to a vga screen then vlcd is for you as well.

The servers contain the generic looping routines, while the v2 drivers contain the platform specific source code.

The iguana layer has been partially updated to still work. Some of the examples used to demonstrate it's behaivour haven't been updated (like the drivers example).


Thanks & regards,
Kumar Sanghvi.

-----Inline Attachment Follows-----

For more information please email on the development mailing list.
_______________________________________________



_______________________________________________
Developer mailing list
[hidden email]
https://lists.okl4.org/mailman/listinfo/developer
houwei

OKL4 3.0 - Porting to Qemu Emulater

Reply Threaded More More options
Print post
Permalink
In reply to this post by Gabi Voiculescu
Some javascript/style in this post has been disabled (why?)

Hi All,

 

I am confused when booting the OKL4 with the qemu emulater

 

My Build command is :

tools/build.py machine=versatile project=linux wombat=true TOOLCHAIN=gnu_arm_eabi_toolchain

 pistachio.TOOLCHAIN=gnu_arm_toolchain PYFREEZE=False

 

And this can success compiled. can also creat image.elf in build directory

But when I use qemu emulater to boot this image.elf, there is nothing response.

The qemu boot command is:

qemu-system-arm -M versatileab -start-addr 0x04100000 -nographic -kernel build/image.elf

 

Thanks a lot for the help everyone!

 

Best wishes!

 

Houwei



__________ Information from ESET NOD32 Antivirus, version of virus signature database 4367 (20090825) __________

The message was checked by ESET NOD32 Antivirus.

http://www.eset.com

_______________________________________________
Developer mailing list
[hidden email]
https://lists.okl4.org/mailman/listinfo/developer
Gabi Voiculescu

Re: OKL4 3.0 - Porting to Qemu Emulater

Reply Threaded More More options
Print post
Permalink
Some javascript/style in this post has been disabled (why?)
Hello.

I am not sure what emulator needs to be used with the versatile platform.

The elf or boot files I remember are used with skyeye arm emulator. You should check the versatile platform is not used in conjunction with that emulator instead of qemu.

If I remember correctly, the qemu file to load was .img (at least that was true for x86 platforms in okl4 1.5.2) and it was created by default for x86 platforms (x86_pc99).

Good luck,
Gabi Voiculescu

--- On Wed, 8/26/09, houwei <[hidden email]> wrote:

From: houwei <[hidden email]>
Subject: [okl4-developer] OKL4 3.0 - Porting to Qemu Emulater
To: [hidden email]
Date: Wednesday, August 26, 2009, 5:07 AM

Hi All,

 

I am confused when booting the OKL4 with the qemu emulater

 

My Build command is :

tools/build.py machine=versatile project=linux wombat=true TOOLCHAIN=gnu_arm_eabi_toolchain

 pistachio.TOOLCHAIN=gnu_arm_toolchain PYFREEZE=False

 

And this can success compiled. can also creat image.elf in build directory

But when I use qemu emulater to boot this image.elf, there is nothing response.

The qemu boot command is:

qemu-system-arm -M versatileab -start-addr 0x04100000 -nographic -kernel build/image.elf

 

Thanks a lot for the help everyone!

 

Best wishes!

 

Houwei



__________ Information from ESET NOD32 Antivirus, version of virus signature database 4367 (20090825) __________

The message was checked by ESET NOD32 Antivirus.

http://www.eset.com

-----Inline Attachment Follows-----

_______________________________________________
Developer mailing list
Developer@...
https://lists.okl4.org/mailman/listinfo/developer


_______________________________________________
Developer mailing list
[hidden email]
https://lists.okl4.org/mailman/listinfo/developer
Damien Arcuset

Re: OKL4 3.0 - Porting to Qemu Emulater

Reply Threaded More More options
Print post
Permalink
In reply to this post by houwei
Some javascript/style in this post has been disabled (why?)
Hi,
 
I confirm that qemu is the right emulator for versatile. You must also use the build/image.elf file with qemu.
The problem comes from your build command :simply add "KDB_SERIAL=True"
Add also KDB_BREAKIN=False if you don't need it, I personally had some problem whithout specifying it False on OKLinux
 
You can find some build option here : http://wiki.ok-labs.com/BuildOptions
 
Hope this helps,
Damien
 
PS : Take care, boolean arguments are case sensitive !!
PS2 : I think that your arg "wombat=True" is not needed as you don't seem to build Iguana...


De : [hidden email] [mailto:[hidden email]] De la part de Gabi Voiculescu
Envoyé : mercredi 26 août 2009 12:11
À : houwei
Cc : [hidden email]
Objet : Re: [okl4-developer] OKL4 3.0 - Porting to Qemu Emulater

Hello.

I am not sure what emulator needs to be used with the versatile platform.

The elf or boot files I remember are used with skyeye arm emulator. You should check the versatile platform is not used in conjunction with that emulator instead of qemu.

If I remember correctly, the qemu file to load was .img (at least that was true for x86 platforms in okl4 1.5.2) and it was created by default for x86 platforms (x86_pc99).

Good luck,
Gabi Voiculescu

--- On Wed, 8/26/09, houwei <[hidden email]> wrote:

From: houwei <[hidden email]>
Subject: [okl4-developer] OKL4 3.0 - Porting to Qemu Emulater
To: [hidden email]
Date: Wednesday, August 26, 2009, 5:07 AM

Hi All,

 

I am confused when booting the OKL4 with the qemu emulater

 

My Build command is :

tools/build.py machine=versatile project=linux wombat=true TOOLCHAIN=gnu_arm_eabi_toolchain

 pistachio.TOOLCHAIN=gnu_arm_toolchain PYFREEZE=False

 

And this can success compiled. can also creat image.elf in build directory

But when I use qemu emulater to boot this image.elf, there is nothing response.

The qemu boot command is:

qemu-system-arm -M versatileab -start-addr 0x04100000 -nographic -kernel build/image.elf

 

Thanks a lot for the help everyone!

 

Best wishes!

 

Houwei



__________ Information from ESET NOD32 Antivirus, version of virus signature database 4367 (20090825) __________

The message was checked by ESET NOD32 Antivirus.

http://www.eset.com

-----Inline Attachment Follows-----

_______________________________________________
Developer mailing list
Developer@...
https://lists.okl4.org/mailman/listinfo/developer


_______________________________________________
Developer mailing list
[hidden email]
https://lists.okl4.org/mailman/listinfo/developer