Thanks for your help. I will go with the bitbucket libraries and will start to rewrite the bsd <https://github.com/freebsd/freebsd/blob/250e158ddf52459661439141407bca505d199c19/sys/arm/ti/ti_pruss.c> driver for rtems.
Have you also seen the pructrl bitbucket repo? https://bitbucket.org/rpaulo/pructl/src/default/ It is an interface for the drivers and I think this can be easily rewritten into some rtems shell commands. Nils On Sun, 14 Jul 2019 at 01:35, Joel Sherrill <j...@rtems.org> wrote: > > > On Sat, Jul 13, 2019 at 1:42 PM Chris Johns <chr...@rtems.org> wrote: > >> >> >> On 13/7/19 5:16 pm, Nils Hölscher wrote: >> > Hi, >> > >> > After I made sure that my fdt is correct I wondered why the pruss was >> still not >> > accessible. >> > When I researched more about userspace drivers in Linux I found out, >> that I have >> > overseen the pru UIO module in Linux. >> > This is the part that links the PRUs to the /dev/uio[0-7]. >> > Which then would be used by the sources I currently use. >> > The UIO source is available here: >> > https://github.com/beagleboard/linux/blob/3.8/drivers/uio/uio_pruss.c >> > However this requires the linux UIO lib to load the modules and >> abstract the >> > device into a file. >> > >> > While researching I also found that BSD has a PRU driver. >> > Also this driver is more feature rich as it support PRU debugging. >> > The sources can be found her: >> > https://bitbucket.org/rpaulo/libpru/src/default/ >> > Additionally I found these sources in the FreeBSD tree: >> > >> https://github.com/freebsd/freebsd/blob/250e158ddf52459661439141407bca505d199c19/sys/arm/ti/ti_pruss.c >> > This code also registers the PRUs in /dev/. >> > On the other hand the BSD drivers have no documentation at all. >> > >> > These are the code lines that will fail without a file in /dev. >> > Linux: >> https://github.com/nilhoel1/rtems-pru/blob/master/ti/prussdrv.c#L265 >> > BSD: >> https://bitbucket.org/rpaulo/libpru/src/5cb7271533a96d177e73492f7cc40fa4b28396a5/ti-pru.c#lines-614 >> > >> > So my questions are: >> > 1. How are drivers registered to /dev in RTEMS? (examples) >> >> I suggest you look at cpukit/include/rtems/io.h and then for examples of >> this >> interface being used in the bsp directory. >> > > There is a helper in the IO Manager which is implemented as a call to > mknod() > which is a standard call. > >> >> > 2. Which driver would be a better starting point to bring pruss support >> to RTEMS? >> > > > > >> >> The bitbucket set of drivers look pretty good so I think just use them >> and add >> to the beagle bsp. >> > > +1 If needed, > >> >> Chris >> _______________________________________________ >> devel mailing list >> devel@rtems.org >> http://lists.rtems.org/mailman/listinfo/devel > >
_______________________________________________ devel mailing list devel@rtems.org http://lists.rtems.org/mailman/listinfo/devel