Hello Parveneh,
> I am trying to implement a simple demo on sel4 using camkes.
> I need to add some external hardware like sensors to my demo.
> For this purpose I need GPIO programming.
> Could you please point me to some example GPIO components?
We do not have a GPIO component, but we are currently developing one.
However, almost all the hardware related components (TimeServer,
SerialServer) in global-components[1] are just an interface over the
particular drivers in libplatsupport[2]. So developing an GPIO
component for your demo should be fairly easy as long as there are GPIO
drivers for your target platform in libplatsupport[3].
> Should I add hardware component? or just use <platsupport.GPIO.h> to
> write signal on pins on source files?
You would need a hardware component if the GPIO device requires some
registers and/or interrupts to be mapped in. For an example on creating
a hardware component you could take a look at the CAmkES timer
tutorials[4]. As I mentioned above, if there are GPIO drivers for your
target platform in libplatsupport, you could use the GPIO interfaces
defined in "platsupport/gpio.h". Otherwise, you would have to develop
your own GPIO drivers for your target platform.
I hope this answers your questions, and if you have any other questions
feel free to ask them on the mailing list.
Sincerely,
Damon Lee
PS: Sorry if you are receiving this again, I sent it out yesterday but
I may have done something wrong as it did not seem to have reached the
mailing list.
[1]
https://github.com/SEL4PROJ/global-components/tree/master/components
[2] https://github.com/seL4/util_libs/tree/master/libplatsupport
[3]
https://github.com/seL4/util_libs/tree/master/libplatsupport/src/plat
[4] https://docs.sel4.systems/Tutorials/hello-camkes-timer.html