We use cookies to provide our visitors with an optimal site experience. View our privacy notice and cookie notice to learn more about how we use cookies and how to manage your settings. By proceeding on our website you consent to the use of cookies.
In the past I had some PRU code running on Beaglebone Black with Debian Jessie. Recently upgraded to Debian Stretch (ver 9.4) and existing PRU code now generates a segmentation fault.
I’ve updated uBoot to use the old dbto file (that worked in Jessie) and uBoot seems OK. (I’ve included the output of version.sh)
I’ve also tried building the example PRU files in /am335x_pru_package/pru_sw/example_apps/PRU_memAccess_DDR_PRUsharedRAM and still get a segmentation fault.
Updated u-boot, kernel and bb-cape-overlays. Still have segmentation error.
What is difference between the two PRUSS Options in /boot/uEnv? WHen do you use one vs the other and also there are now several AM335X-PRU-RPROC-* files in /lib/firmware. Any information on which one should be used and when?
uio came first, initially supported in 3.8.x based kernels, we’ve been patching the driver since all the way up to v4.18.x (v4.19.x brought in major changes to the uio driver, so i need to fix that)… Almost all examples use this driver (machinekit,etc)…
TI decided the uio driver was not “proper” for the am335x pru’s so they’ve been developing their own driver, each incompatible with each other:
4.4.x-ti remoteproc: biggest user was libroboticape (BeagleBone Blue) up to v0.3.4
4.9.x-ti remoteproc: biggest user was BeagleLogic
4.14.x-ti remoteproc: libroboticape from 0.4.0 -> 1.0.x
also for 4.14.x-ti remoteproc, there’s a new book in development:
Also make sure that none of the other dtbo files listed in the /boot/uEnv file contain the IO mapping for the PRUSS.
It is an error to include the example from Listing 13-1 in Derek Molloy’s book on PRU mapping. In that dts file you must not include the following lines: