I'm having some issues with PRU documentation and information gathering, or maybe I'm just reading a lot of stuff wrong.
Help me figure out where I am wrong. PRU(s) are little embedded processors in the AM335x core. bone_capemgr allows you to change pinmux functions of the core, to allow plug in capes to be detected and set up. and firmware loaded into the kernel. there seems to be a handful of kernel modules relating to the PRUs, pruss ( pru sub system driver / Allows kernel to interact with PRU? ) pru_rproc ( PRU Remoteproc system ) rpmsg_pru ( remote proc message system w/ PRU ) ( this may also be used to pass buffers between PRU and kernel ?) uio ( UIO allows the IO to be assigned to Device files ?) uio_pdrv_genirq ( guessing a UIO/PRU IRQ generator ) Based on what I have read from various Google Searches, the PRUs must be enabled, possibly by an Overlay? are there any overlays that allow you to just enable the PRU, SANS IO pins, just to see if it will run code? FROM: http://mythopoeic.org/bbb-pru-minimal/ echo BB-BONE-PRU-01 >/sys/devices/bone_capemgr.9/slots which I found is based on the older 3.8 kernels and bone_capemgr has moved to /sys/devices/platform/bone_capemgr from the new https://github.com/beagleboard/bb.org-overlays/ it gives me a plethora of options in /lib/firmware which all appear to be Device Tree Overlays based on names I cannot find one like BB-BONE-PRU-01 the closest I can find is uio-pruss-enable-00A0 which I guessed enabled the PRU but the code from am335x_pru package still gives me the prussdrv_open open failed so I'm guessing they are still disabled, or not enabled in the way I was expecting. Looks like the apploader allows you to select which pru you want to use with #PRU_NUM. so a couple of assumptions: which of the following are true? 1. PRU firmware must be loaded at boot from /lib/firmware? (unlikely based on documentation) OR 2. kernel can jam a program into the PRUs whenever you feel like it This one seems like the more likely candidate from the am335x_pru_package however I keep getting a prussdrv_open open failed, which tells me I probably don't have the PRUs enabled I'd really just like to write a program for the pru that looks for a clock signal and reads other pins on it. Also from what I have read the PRUs have their own "GPI/GPO" pins that have single cycle IO that are dedicated to particular pins which are used elsewhere on the BBB Really sorry for brain dumping and being all over the place here, these are just questions that I havent seemed to find the correct google search string to find the info I'm looking for, there is so much stuff out there for the 3.8 kernels and I'm not sure how well all that stuff carries over to the new 4.1.18 kernel. -- 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 [email protected]. For more options, visit https://groups.google.com/d/optout.
