Hi All,
I have BBB rev c recently flashed to Debian 8 - kernel 4.4. I have been struggling to get code into the PRUs since many of the demos on the web are fragmented in methods and dependencies which make it difficult to have a winning combination. My goal is to have a configuration script that can setup all the requirements for the PRU to work.
I also noticed that many users appear to be using uio_pruss for their loader and not remote_proc. That said what img is the last known working image with uio_pruss ?
In the latest site listed image, uio_pruss module seems not to be included, is there a separate package we need to install for this support?
I am able to compile using gcc-pru and build elf files form the various demos. In general I am trying to do this basic one https://github.com/Neil-Jubinville/pru-gcc-examples/tree/master/blinking-led and use my init script here: https://github.com/Neil-Jubinville/pru/blob/master/prep_pru.sh
Using the uio_pruss method:
- I get uio_pruss not found for the module. Therefore subsequent commands yield:
root@beaglebone:~/pru-gcc-examples/blinking-led/host-uio# ./out/pload …/pru/out/pru-core0.elf …/pru/out/pru-core1.elf
Initializing the PRUs…
pload: prussdrv_open open failed ( how to get uio_pruss ? Do I have to compile this module? )
Using the remote_proc method:
The below commands fail with the module not found**.**
sudo rmmod pruss_remoteproc
sudo modprobe pruss_remoteproc
So I am not having success with either method, each having missing dependencies. The startup log below indicates also some availability and failing of default PRU loading from the /lib/firmware copies of the remote proc method.
Any ideas? Is there a surfire version / image that will 100% resulting gcc-pru compiled example loading into PRU. I will certainly document it once I discover it.
BeagleBoard.org Debian Image 2016-05-13
Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
root@beaglebone:~# uname -a
Linux beaglebone 4.4.9-ti-r25 #1 SMP Thu May 5 23:08:13 UTC 2016 armv7l GNU/Linux
root@beaglebone:~# lsmod
Module Size Used by
c_can_platform 6602 0
c_can 9577 1 c_can_platform
can_dev 11663 1 c_can
spidev 7523 0
pwm_tiecap 3652 0
pwm_tiehrpwm 4706 0
tieqep 8758 0
pruss_intc 3571 0
snd_soc_hdmi_codec 5842 1
snd_soc_simple_card 8449 0
8021q 17930 0
garp 5769 1 8021q
mrp 7239 1 8021q
stp 2219 1 garp
llc 5123 2 stp,garp
pru_rproc 11359 0
omap_aes_driver 19045 0
omap_sham 21340 0
pruss 11679 1 pru_rproc
omap_rng 4423 0
snd_soc_davinci_mcasp 16653 2
snd_soc_edma 1290 1 snd_soc_davinci_mcasp
snd_soc_omap 3058 1 snd_soc_davinci_mcasp
rng_core 7703 1 omap_rng
tilcdc 26338 0
usb_f_acm 7209 1
snd_soc_core 155549 5 snd_soc_hdmi_codec,snd_soc_davinci_mcasp,snd_soc_edma,snd_soc_omap,snd_soc_simple_card
u_serial 11366 3 usb_f_acm
snd_pcm_dmaengine 5209 2 snd_soc_core,snd_soc_omap
usb_f_rndis 22191 1
g_multi 5524 0
usb_f_mass_storage 42370 2 g_multi
u_ether 11898 2 usb_f_rndis,g_multi
libcomposite 43717 4 usb_f_acm,usb_f_rndis,g_multi,usb_f_mass_storage
snd_pcm 83341 5 snd_soc_hdmi_codec,snd_soc_davinci_mcasp,snd_soc_core,snd_soc_omap,snd_pcm_dmaengine
snd_timer 19788 1 snd_pcm
spi_omap2_mcspi 11148 0
snd 59495 3 snd_soc_core,snd_timer,snd_pcm
soundcore 7637 1 snd
evdev 10695 2
tda998x 12523 0
uio_pdrv_genirq 3539 0
uio 8822 1 uio_pdrv_genirq
root@beaglebone:~# modprobe uio_pruss
modprobe: FATAL: Module uio_pruss not found.
root@beaglebone:~#