Greetings Robert,
Thanks for the information, that does clear things up immensely. If you don’t mind, I have two other questions I was hoping to pose to you (if there is a better place, please let me know).
I’m guessing remoteproc is the future as far as the PRUs go, and I’m still using uio_pruss for my project. In my case, I am receiving an 8 bit parallel feed from a camera module using GRB422 format. If my math is right, 15 frames a second X 320x240 image X 2 bytes per pixel = a little over 2 meg a second that I am sending from the PRU straight to a patch of memory set aside by uio_pruss. My question is, do you think remoteproc could handle that in a way that wouldn’t require tying up the application processor and respect the real time requirements of the video feed? I apologize if this is a vague question. I’m sure I don’t understand remoteproc well enough yet, but I’m afraid of going down a possible dead-end. At the same time, I also want to make my stuff maintainable and future compatible (and do what the cool kids are doing).
The other question (unfortunately, probably just as vague) is related. I use a script to modprobe uio_pruss before I start my program (and the subsequent PRU program). Under Debian 7.8, my script would have to load, unload, and reload uio_pruss like so:
modprobe uio_pruss extram_pool_sz=2097152 #Have to enable uio_pruss kernel module
modprobe -r uio_pruss #then disable it
modprobe uio_pruss extram_pool_sz=2097152 #then enable it again. Dont know why
otherwise, my program would error. In Debian 8.7, I can load it just once, and everything works fine. Now I am trying to do it under Debian 9.3, and have found that if I do it once and run my program, everything runs, but I get no video feed. If I end the program, unload uio_pruss, and reload it, then run my program again, it works. But I can’t do like before where I load, unload, and reload, and then just run my program. If I do, I get a bus fault. But loading it, running the program, closing the program, unloading uio_pruss, reloading it, and then running my program again, works. I know this is weird and probably tied to me doing something obviously wrong, I was just wondering if there are any known issues or things to look out for with uio_pruss under the different Debian versions. And if I need to do more sleuthing and come back with a better defined problem, I will of course understand.
Thanks again for all of your help, and everything you do for the BB community!