RasPi GPIO driver
sarraciro
sarraciro at yahoo.it
Sun Oct 20 22:46:10 UTC 2013
sorry ... I forgot..
Another question is: Can I mix POSIX threads with normal threads??
--
RC
Il giorno lun, 21/10/2013 alle 00.19 +0200, sarraciro ha scritto:
> Hi Alan,
> yes I've tested it too and work properly...
> for compile using your rki-project makefile (as starting point) I had to
> add the POSIX support in the makefile...(RTEMS_HAS_POSIX_API = yes after
> paths for RTEMS tools and RTEMS BSP).
> But ... it use posix support ... There is another way?? like ChibiOS ???
>
> I've read an article about minimum constrains to compile C code in bare
> metal OS ...
> I think the solution is something like this:
>
> /* mmio.h - access to MMIO registers */
>
> #ifndef MMIO_H
> #define MMIO_H
>
> #include <stdint.h>
>
> // write to MMIO register
> static inline void mmio_write(uint32_t reg, uint32_t data) {
> uint32_t *ptr = (uint32_t*)reg;
> asm volatile("str %[data], [%[reg]]"
> : : [reg]"r"(ptr), [data]"r"(data));
> }
>
> // read from MMIO register
> static inline uint32_t mmio_read(uint32_t reg) {
> uint32_t *ptr = (uint32_t*)reg;
> uint32_t data;
> asm volatile("ldr %[data], [%[reg]]"
> : [data]"=r"(data) : [reg]"r"(ptr));
> return data;
> }
>
> #endif // #ifndef MMIO_H
>
> anyone can confirm or disagree with this?
> The ": :" or ":" are not C operators true?? sounds like C++?
>
> --
> RC (popovich)
>
>
> Il giorno dom, 20/10/2013 alle 18.05 -0400, Alan Cudmore ha scritto:
> > There is an RTEMS Rpi GPIO driver here:
> > https://github.com/pficheux/raspberry_pi/tree/master/RTEMS/gpio_driver
> > I have tested this, and it works.
> >
> > Simon, I will definitely check out your driver when you submit it.
> >
> > Alan
> >
> > On 10/20/2013 5:57 PM, sarraciro wrote:
> > > Thank you Simon for your prompt reply... sure that I'm interested!
> > > I'll wait for the patch! but also I'm trying to learn (understand!?!)
> > > how to write a simple driver for RTEMS... for other future use of a
> > > custom drivers.
> > > regards
> > >
> > > --
> > > RC
> > >
> > > Il giorno dom, 20/10/2013 alle 21.32 +0000, williamssimonp at gmail.com ha
> > > scritto:
> > >> I am testing one as we speak, if you’re interested. Should be ready
> > >> to submit the patch about mid-week.
> > >>
> > >> Regards
> > >>
> > >> Simon
> > >>
> > >> Sent from Windows Mail
> > >>
> > >> From: sarraciro
> > >> Sent: Sunday, 20 October 2013 22:28
> > >> To: rtems-users at rtems.org
> > >>
> > >> Hi all,
> > >> I'm trying to write a simple driver to use raspberry pi gpio.
> > >> I've found some examples for the POSIX approach (& I tried it with
> > >> success) but I'm more interesting to pure C solution.
> > >> I read the RTEMS's documentation but it's too general (for my
> > >> know-how) ... and I've read the BCM2835 datasheet for register
> > >> addresses ... I understood the relevance to use the pointers for
> > >> access
> > >> to the memory...but I'm stucking until now I don't understand how to
> > >> move on...
> > >> Any suggestions or lectures for understand how to complete the task?
> > >> thank you
> > >> rc
> > >>
> > >> _______________________________________________
> > >> rtems-users mailing list
> > >> rtems-users at rtems.org
> > >> http://www.rtems.org/mailman/listinfo/rtems-users
> > >>
> > >
> > >
> > > _______________________________________________
> > > rtems-users mailing list
> > > rtems-users at rtems.org
> > > http://www.rtems.org/mailman/listinfo/rtems-users
> >
>
>
>
> _______________________________________________
> rtems-users mailing list
> rtems-users at rtems.org
> http://www.rtems.org/mailman/listinfo/rtems-users
More information about the users
mailing list