hzeller / beagleg

G-code interpreter and stepmotor controller for crazy fast coordinated moves of up to 8 steppers. Uses the Programmable Realtime Unit (PRU) of the Beaglebone.
http://beagleg.org/
GNU General Public License v3.0
122 stars 50 forks source link

Kernel 4.1+ remoteproc #6

Closed lromor closed 7 years ago

lromor commented 8 years ago

Hello @hzeller , I was wondering if you are working on a version that supports the new kernel feature remoteproc to communicate with the PRUs and if not, if you would like beagleg to support that feature.

hzeller commented 8 years ago

Given that this is a fairly new feature, it is probably dangerous to rely on as we then have to maintain two versions of the code to support older kernels. In particular as I can't see a particular advantage to just using the TI PRU library that does whatever is needed internally to start/stop the PRU.

The communication with the PRU is very simple and straightforward, so using a kernel feature doesn't seem like a huge benefit unless this code is ported to other platforms; but then again, the the PRU code for whatever other embedded processor would need to be different as well.

Can you give me some insight what the benefits are from your point of view ?

lromor commented 8 years ago

Given that this is a fairly new feature, it is probably dangerous to rely on as we then have to maintain two versions of the code to support older kernels.

Well from what I understood (if I understood correctly) they started working on it since 2011 http://lxr.free-electrons.com/source/drivers/remoteproc/remoteproc_core.c and it will be the new standard, that's the only reason why I proposed a source code update.

Can you give me some insight what the benefits are from your point of view ?

I will just quote this, https://github.com/machinekit/machinekit/issues/839

Sorry for bothering you, it's an awesome project and I really appreciate your work, maybe it's still to early to think about remoteproc.

hzeller commented 8 years ago

Ah, I see, so it actually wouldn't work with later kernels. Agreed, in that case we'd need to support the old and new interface.

Would you like to prepare a pull request ?

lromor commented 8 years ago

Meh, I would love, when I will finish my project I will work on that to thank you.

bigguiness commented 7 years ago

Is this still an issue? It appears the latest jessie images still support the uio_pruss driver. Is it really going to be replaced be a remoteproc driver?

hzeller commented 7 years ago

The last kernel coming from TI I tested only supported the remoteproc thing, but it also logs into dmesg that it is not really ready. Given that the -bone kernels actually work with the PRUSS, we're good for now.

I think we can close this for now.