Many thanks to Jason and others for publishing some interesting PRU examples.
I’ve tried a number of the examples, but its been painful to follow the evolution and very little has worked LXQT 4.9.78-ti-r94 .
Jason has an interesting example https://github.com/jadonk/bone101/tree/gh-pages/examples/extras/pru bitflip.c/.pru0c that uses AM33XX_PRUSS_SHAREDRAM_BASE 0x4a310000.
I’m wondering if anybody has any comments on this approach?
I have built a proto that I have got working, I only need to get 8 int16 from A8 to the PRU. These represent a frequency for 8 toggling GPIOs
(For PRU0 I’m using P9_25 27 28 29 30 31 P8_11 12)
This method has intially worked for me using
LXQT 4.9.78-ti-r94 #1 4.9.78-ti-r94 #1 SMP PREEMPT Fri Jan 26 21:26:24 UTC 2018
with 8*int16 (or 32bytes).
Initially I tried 8int32 (64bytes) but could only sucessfully use the first 5int32(40bytes
However switching to LXQT 4.14.49-ti-r54 #1 SMP PREEMPT Fri Jun 15 22:14:13 UTC 2018
I seem to be running into problems with the one way comms through the SHARED RAM being limited to 2*int16 or 4bytes.
The actual code example is at https://github.com/neilh10/bbb_pru_ppm
Any observations on initializing and using AM33XX_PRUSS_SHAREDRAM_BASE in this way much appreciated.
Details are
sudo /opt/scripts/tools/version.sh
git:/opt/scripts/:[31292bce1d4b35b497cc7a013d6d57e7e1f4f5c4]
eeprom:[A335BNLT000C1818BBBG0448]
model:[TI_AM335x_BeagleBone_Black]
dogtag:[BeagleBoard.org Debian Image 2018-06-17]
bootloader:[eMMC-(default)]:[/dev/mmcblk1]:[U-Boot 2018.03-00002-gac9cce7c6a]:[location: dd MBR]
kernel:[4.14.49-ti-r54]
nodejs:[v6.14.3]
uboot_overlay_options:[enable_uboot_overlays=1]
uboot_overlay_options:[disable_uboot_overlay_audio=1]
uboot_overlay_options:[uboot_overlay_pru=/lib/firmware/AM335X-PRU-RPROC-4-14-TI-00A0.dtbo]
uboot_overlay_options:[enable_uboot_cape_universal=1]
pkg check: to individually upgrade run: [sudo apt install --only-upgrade ]
pkg:[bb-cape-overlays]:[4.4.20180625.0-0rcnee0~stretch+20180625]
pkg:[bb-wl18xx-firmware]:[1.20180517-0rcnee0~stretch+20180517]
pkg:[kmod]:[23-2rcnee1~stretch+20171005]
pkg:[roboticscape]:[0.4.4-git20180608.0-0rcnee0~stretch+20180609]
pkg:[firmware-ti-connectivity]:[20170823-1rcnee1~stretch+20180328]
groups:[debian : debian adm kmem dialout cdrom floppy audio dip video plugdev users systemd-journal i2c bluetooth netdev cloud9ide gpio pwm eqep admin spi tisdk weston-launch xenomai]
cmdline:[console=ttyO0,115200n8 bone_capemgr.uboot_capemgr_enabled=1 root=/dev/mmcblk1p1 ro rootfstype=ext4 rootwait coherent_pool=1M net.ifnames=0 quiet cape_universaln=enable]
dmesg | grep pinctrl-single
[ 1.108053] pinctrl-single 44e10800.pinmux: 142 pins at pa f9e10800 size 568
dmesg | grep gpio-of-helper
[ 1.115448] gpio-of-helper ocp:cape-universal: ready
END