I'm confused because I thought the plan was Remote Proc going forward. Do you seem to say it is UIO going forward?
On Friday, May 28, 2021 at 12:15:34 PM UTC-5 hel...@deepsoft.com wrote: > At Fri, 28 May 2021 12:59:20 -0400 beagl...@googlegroups.com wrote: > > > > > On Fri, 28 May 2021 08:13:05 -0700 (PDT), in > > gmane.comp.hardware.beagleboard.user Bruce Chidester > > <brucechidester-re5...@public.gmane.org> wrote: > > > > >I am using BBB Revision C > > > > > >Please help me get clarity on my assumptions that I believe I have > learned > > >so far and tell me where I am incorrect: > > > > Can't confirm for everything, but... > > > > > >1. There are 2 architectures to interact with the PRU's. They are *UIO* > and > > >*RemoteProc*. And they can easily be selected in the /boot/uEnv.txt > file. > > >You cannot run both at the same time. > > > > TRUE -- but maybe not "easily"; there are some dependencies upon the > > kernel version loaded. > > YES. 5.x kernels only support UIO. You need a 4.x TI kernel for RemoteProc. > > > > > TI has deprecated UIO and considers RemoteProc to be the route for > > future usage (it is not tied to just the PRUs, it should work with the > DSP > > chips on the BB AI, et al.). > > I think the mainline kernels don't have the RemoteProc kernel code. At > least > by default. > > > > > > > > >2. When using RemoteProc you can *send* a remote message to the PRU and > > >this solution *does not work* with UIO. > > > > RPMsg supports sending message in both directions > > > https://software-dl.ti.com/processor-sdk-linux/esd/docs/latest/linux/Foundational_Components_PRU-ICSS_PRU_ICSSG.html > > """ > > There are two vrings provided per PRU core, one vring is used for > messages > > passed to the ARM and the other vring is used for messages received from > > the ARM. System level mailboxes are used to notify cores (ARM or PRU) > when > > new messages are waiting in the shared buffers. > > """ > > > > > > > >3. When using UIO the PRU can *send* an Interrupt to the host code but > > >RemoteProc *cannot*. > > > > > >4. When using UIO, you *cannot* send an interrupt to the PRU, you need > to > > >create some other solution maybe through shared memory. > > > > > > > As the PRUs do not have what I would call true interrupts (they have a > > set of "interrupt bits" but do NOT interrupt the processor, the bits have > > to be polled, and appropriate handlers called) any talk of interrupts is > > vague. > > > > However, for RPMsg, the "mailbox" provides, I believe, some form of > > blocked wait or maybe use of a select() call to test for mailbox data. I > > don't really know what a "Kick" entails in: > > """ > > ARM Host Steps > > Step 1a: Allocate a new buffer -or- > > Step 1b: Get a Used buffer from the slave Vring > > Step 2: Copy data to be transferred into the buffer from Step 1 > > Step 3: Add the newly filled buffer to the Available list in the > > slave Vring > > Step 4: Kick the slave Vring by writing its index (1) into a > > message in Mailbox 2 > > PRU Steps > > Step 5: A Kick is discovered in Mailbox 2 with the index of the > > Kicked Vring (1). This indicates to the PRU that data is available for > > receive > > Step 6: Get the Available buffer from the slave Vring > > Step 7: Copy data to be received out of the buffer from Step 2 > > Step 8: Add the now empty buffer to the Used list in the slave > > Vring > > Step 9: Kick the slave Vring by writing its index (1) into a > > message in Mailbox 3 > > """ > > Step five appears to be a polling loop on the mailbox. > > > > > > > > > > -- > Robert Heller -- Cell: 413-658-7953 <(413)%20658-7953> GV: 978-633-5364 > <(978)%20633-5364> > Deepwoods Software -- Custom Software Services > http://www.deepsoft.com/ -- Linux Administration Services > hel...@deepsoft.com -- Webhosting Services > > -- For more options, visit http://beagleboard.org/discuss --- You received this message because you are subscribed to the Google Groups "BeagleBoard" group. To unsubscribe from this group and stop receiving emails from it, send an email to beagleboard+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/beagleboard/32060533-8294-43ec-a812-969ddc9b83c5n%40googlegroups.com.