Hello all,
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?
Should I add hardware component? or just use
Hello Parvneneh,
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
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 [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
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
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
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
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
Hello Damon, Thank you for your email. I looked at the link you sent me. I'm using Beaglebone black board for my demo. It seems that there is not GPIO driver for this platform. I wanted to know is there any documentation of GPIO driver for me to understand the other platforms driver and write the driver code for am335x? Thank you, Parvaneh Aghajani. On Tue, Nov 12, 2019 at 9:10 PM Lee, Damon (Data61, Kensington NSW) < Damon.Lee@data61.csiro.au> wrote:
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
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
Hello Parvaneh, (sorry if I got your name wrong on my first response)
I'm using Beaglebone black board for my demo. It seems that there is not GPIO driver for this platform. I wanted to know is there any documentation of GPIO driver for me to understand the other platforms driver and write the driver code for am335x?
As far as I know, each platform has its own programming model and quirks, and is very different from each other. So basing your GPIO driver on another platform might not be a very good idea, unless of course they share the same designer and are pretty similar. However, I believe we don't have the GPIO drivers for platforms similar to the am335x, so the best option would be to either consult the technical reference manual for the am335x or look at the U-Boot or Linux sources for an example. Sincerely, Damon
participants (2)
-
Lee, Damon (Data61, Kensington NSW)
-
Parvaneh Ahgajani