Interface for Kernel Extensions
Hi,
I understand Kernel Extenstions doesn't export any functions to user side. =
my questions are,
1. In case to test screen driver API, how it will be accessed from user sid=
e not like HAL ?
2.In case of testing MMC driver, i have seen OMAP reference they have writt=
en MMC interface for user side commucation like RMMCInf derived from RBusLo=
gicalChannel.
So it mean if user side code wants to access kernel extentions either it ne=
eds LDD or Interface to expose. Is it correct?
Thanks in Advance.
Cheers!
Saravana.
Re: Interface for Kernel Extensions
Hi,
Part Answer.
For MMC testing there is a test program MMCTEST, that will connect directly=
to you driver and perform power up/down and sector reads/writes for testin=
g your driver, before trying to use F32 to access the media.
Mark
Symbian
Re: Interface for Kernel Extensions
My Question is how to expose API's from kerenel extensions?
1. May be develop interface
2. Devlep Some LDD to expose.
Cheers!
SAravana
Re: Interface for Kernel Extensions
Hi,
The MMCTEST program does include an LDD/PDD to access the kernel extension,=
so this can be expanded to other extensions.
Do you have the code for the E32 & F32 tests ?, as these contain code used =
to test the components within the Symbian OS
Mark
Symbian
Re: Interface for Kernel Extensions
Hi Saravana,
Kernel extensions and device drivers are differnet.
Kernel extension have layers like PSL/PIL {color:#000000}([Platform=20
independent layer /|MMC_Port.guide.html#Porting%2ddetail%2emmc%2esource%2do=
rg%2epil|Porting detail: MultiMediaCard (MMC) controller / Source organisat=
ion / Platform independent layer]
[Platform=20
specific layer|MMC_Port.guide.html#Porting%2ddetail%2emmc%2esource%2dorg%2e=
psl|Porting detail: MultiMediaCard (MMC) controller / Source organisation /=
Platform specific layer]){color}. As Device drivers are having LDD/PDD.
Can follow "Symbian OS Internals" & "DDK sdk" for more details regarding ap=
i's and differences between them.
Have a nice time
Re: Interface for Kernel Extensions
A normal kernel extension would have a single entry point created using the=
DECLARE_STANDARD_EXTENSION
macro.
You can however combine the functions of a driver and a kernel extension in=
a single binary by declaring a second entry point using either DECLARE_EXT=
ENSION_LDD (which is used in the same way as DECLARE_STANDARD_LDD) or DECLA=
RE_EXTENSION_PDD. In this case, you would also need to change the target ty=
pe in your mmp file .LDD/.PDD and use extension\[VARID\]=3D in your oby fil=
e.
See » Symbian OS v9.3 » Device Driver Guide » Symbian OS=
device driver model in the OS library for more explanation. What is it you=
are trying to do?
Edited by: ThingOnASpring on 07-Mar-2008 15:02
Edited by: ThingOnASpring on 07-Mar-2008 15:02
Edited by: ThingOnASpring on 07-Mar-2008 15:02
Re: Interface for Kernel Extensions
I have a similar question :
Can kernel extensions have a user level interface ?
In my current implementation access to the I2C bus is via a kernel extensio=
n.
I need to read/write to the I2C bus from a user level application (don't as=
k why .. I just have to ;-)) ...
Do I have to rewrite the I2c as a device driver and then provide user level=
access via the LDD or is there another option of providing some kind of ha=
rdware abstraction layer for kernel extensions ?
I tried reading through the Extensions section in the Symbian OS Internals =
book .. but couldn't quite figure this out.
Thanks.
Re: Interface for Kernel Extensions
Hi,
Since the behavior you mention is in most aspects similar to that of user a=
pplication accessing a kernel level resouerce, it makes more sense to do it=
as an LDD module.
Regards
Kozak
Re: Interface for Kernel Extensions
hi,
you could not access the extension directly from the user side.
there are 2 methods:
1. you must provide a ldd used by the RBusLogicalChannel derived class. the=
n you can access the driver by this way.
2.through the hal function.
/hzl